Citrix Virtual Apps and Desktops

Ambientes do Google Cloud

O Citrix Virtual Apps and Desktops permite provisionar e gerenciar máquinas no Google Cloud. Este artigo orienta você no uso do Machine Creation Services (MCS) para provisionar máquinas virtuais na implantação do serviço Citrix Virtual Apps ou Citrix Virtual Desktops.

Requisitos

  • Conta do Citrix Cloud. O recurso descrito neste artigo está disponível somente no Citrix Cloud.
  • Assinatura do Citrix DaaS. Para obter detalhes, consulte Introdução.
  • Um projeto do Google Cloud. O projeto armazena todos os recursos de computação associados ao catálogo de máquinas. Pode ser um projeto existente ou um projeto novo.
  • Habilite quatro APIs no seu projeto do Google Cloud. Para obter detalhes, consulte Habilitar as APIs do Google Cloud.
  • Conta de serviço do Google Cloud. A conta de serviço é autenticada no Google Cloud para permitir o acesso ao projeto. Para obter detalhes, consulte Configurar a conta de serviço do Google Cloud.
  • Ative o acesso privado do Google. Para obter detalhes, consulte Ativar o acesso privado do Google.

Habilitar as APIs do Google Cloud

Para usar a funcionalidade do Google Cloud por meio da interface Full Configuration do Citrix Virtual Apps and Desktops, ative estas APIs no seu projeto do Google Cloud:

  • API do Compute Engine
  • API do Cloud Resource Manager
  • API do Identity and Access Management (IAM)
  • API do Cloud Build

No console do Google Cloud, conclua estas etapas:

  1. No menu superior esquerdo, selecione APIs and Services > Dashboard.

    Imagem da seleção de APIs and Services Dashboard

  2. Na tela Dashboard, confirme que a API de Compute Engine está ativada. Caso contrário, siga estes passos:

    1. Navegue para APIs and Services > Library.

      Imagem da biblioteca de APIs e serviços

    2. Na caixa de pesquisa, digite Compute Engine.

    3. Nos resultados da pesquisa, selecione Compute Engine API.

    4. Na página Compute Engine API, selecione Enable.

  3. Ative a API do Cloud Resource Manager.

    1. Navegue para APIs and Services > Library.

    2. Na caixa de pesquisa, digite Cloud Resource Manager.

    3. Nos resultados da pesquisa, selecione Cloud Resource Manager API.

    4. Na página Cloud Resource Manager API, selecione Enable. O status da API é exibido.

  4. Da mesma forma, ative Identity and Access Management (IAM) API e Cloud Build API.

Configurar a conta de serviço do Google Cloud

Uma conta de serviço do Google Cloud permite criar e gerenciar recursos dentro dos projetos do Google Cloud. É necessária uma conta de serviço do Google Cloud para provisionar e gerenciar máquinas, conforme descrito neste artigo. A conta do Google Cloud é autenticada no Citrix Cloud usando uma chave gerada pelo Google Cloud. Cada conta (pessoal ou de serviço) tem várias funções que definem o gerenciamento do projeto.

Recomendamos que você crie uma conta de serviço. Para isso, siga estes passos:

  1. No console do Google Cloud, navegue para IAM & Admin > Service accounts.

  2. Na página Service accounts, selecione CREATE SERVICE ACCOUNT.

  3. Na página Create service account, digite as informações necessárias e selecione CREATE.

Ao criar a conta de serviço, considere o seguinte:

  • Você pode selecionar CANCEL para salvar e sair da página Service account details sem preencher as páginas Grant this service account access to project e Grant users access to this service account. Você pode executar essas etapas opcionais posteriormente.

  • Se você optar por ignorar essas etapas de configuração opcionais, a conta de serviço recém-criada não será exibida na página IAM & Admin > IAM.

  • Para exibir funções associadas a uma conta de serviço, adicione as funções sem ignorar as etapas opcionais. Esse processo garante que as funções apareçam para a conta de serviço configurada.

Ao criar uma conta de serviço, existe a opção de criar uma chave para a conta. Você precisa dessa chave ao criar uma conexão no Citrix DaaS. A chave está contida em um arquivo de credencial (.json). O arquivo é baixado automaticamente e salvo na pasta Downloads depois que você cria a chave. Ao criar a chave, certifique-se de definir o tipo de chave como JSON. Caso contrário, a interface Full Configuration do Citrix não pode analisá-la.

Dica:

Crie chaves usando a página Service accounts no console do Google Cloud. Recomendamos que você altere as chaves regularmente por motivos de segurança. Você pode fornecer novas chaves para o aplicativo Citrix Virtual Apps and Desktops editando uma conexão existente do Google Cloud.

Além disso, você precisa conceder à sua conta de serviço as permissões necessárias para acessar seu projeto do Google Cloud:

  1. No console do Google Cloud, navegue para IAM & Admin > IAM. Na página IAM, localize a conta de serviço que você criou e selecione o ícone de lápis para editar a conta de serviço.

  2. Na página Edit permissions, selecione ADD ANOTHER ROLE para adicionar as seguintes funções à sua conta de serviço uma a uma e, em seguida, selecione SAVE.

    • Compute Admin
    • Storage Admin
    • Cloud Build Editor
    • Service Account User
  3. Atualize as funções atribuídas ao seu projeto de conta de serviço do Cloud Build:

    1. No console do Google Cloud, navegue para IAM & Admin > IAM.
    2. Na página IAM, localize a conta de serviço do Cloud Build e selecione o ícone de lápis para editar a conta de serviço. Você pode identificar a conta de serviço do Cloud Build por seu nome de usuário, que está neste formato: <your_gcp_project_ID_number>@cloudbuild.gserviceaccount.com.
    3. Na página Edit permissions, selecione ADD ANOTHER ROLE para adicionar as seguintes funções à sua conta de serviço do Cloud Build uma a uma e, em seguida, selecione SAVE.
      • Cloud Build Service Account
      • Compute Instance Admin
      • Service Account User

Gerenciamento do bucket e permissões de armazenamento

O Citrix DaaS melhora o processo de relatar falhas de compilação na nuvem do serviço Google Cloud. Esse serviço executa compilações no Google Cloud. O Citrix DaaS cria um intervalo de armazenamento chamado citrix-mcs-cloud-build-logs-{region}-{5 random characters} onde os serviços do Google Cloud capturam informações de registro de compilação. Uma opção é definida nesse bucket que exclui o conteúdo após um período de 30 dias. Esse processo exige que a conta de serviço usada para a conexão tenha as permissões do Google Cloud definidas como storage.buckets.update. Se a conta de serviço não tiver essa permissão, o Citrix DaaS ignorará os erros e prosseguirá com o processo de criação do catálogo. Sem essa permissão, o tamanho dos logs de compilação aumenta e exigem limpeza manual.

Ativar o acesso privado do Google

Quando uma VM não tem um endereço IP externo atribuído à sua interface de rede, os pacotes são enviados apenas para outros destinos de endereços IP internos. Quando você ativa o acesso privado, a VM se conecta ao conjunto de endereços IP externos usados pela API do Google e serviços associados.

Nota:

Independentemente de o acesso privado do Google estar ativado, todas as VMs com e sem endereços IP públicos devem ser capazes de acessar as APIs públicas do Google, especialmente se dispositivos de rede de terceiros tiverem sido instalados no ambiente.

Para garantir que uma VM na sua sub-rede possa acessar as APIs do Google sem um endereço IP público para provisionamento do MCS:

  1. No Google Cloud, acesse a configuração da rede VPC.
  2. Na tela Subnet details, ative Private Google access.

Acesso privado do Google

Para obter mais informações, consulte Como configurar o acesso privado do Google.

Importante:

Se a sua rede está configurada para impedir o acesso da VM à Internet, certifique-se de que a sua organização assuma os riscos associados à ativação do acesso privado do Google para a sub-rede à qual a VM está conectada.

Adicionar uma conexão

Siga as orientações em Criar uma conexão e recursos. A descrição a seguir orienta você para configurar uma conexão de hospedagem:

  1. Em Manage > Configuration, selecione Hosting no painel esquerdo.

  2. Selecione Add Connection and Resources na barra de ações.

  3. Na página Connection, selecione Create a new Connection e Citrix provisioning tools, depois selecione Next.

    • Connection type. Selecione Google Cloud no menu.
    • Connection name. Digite um nome para a conexão.
  4. Na página Region, selecione um nome de projeto no menu, selecione uma região que contenha os recursos que você deseja usar e, em seguida, selecione Next.

  5. Na página Network, digite um nome para os recursos, selecione uma rede virtual no menu, selecione um subconjunto e, em seguida, selecione Next. O nome do recurso ajuda a identificar a combinação de região e rede. As redes virtuais com o sufixo (Shared) anexado ao nome representam VPCs compartilhadas. Se você configurar uma função do IAM no nível da sub-rede para uma VPC compartilhada, somente sub-redes específicas da VPC compartilhada aparecem na lista de sub-redes.

    Nota:

    • O nome do recurso pode conter de 1 a 64 caracteres e não pode conter apenas espaços em branco ou os caracteres \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
  6. Na página Summary, confirme as informações e selecione Finish para sair da janela Add Connection and Resources.

Depois de criar a conexão e os recursos, a conexão e os recursos que você criou são listados. Para configurar a conexão, selecione a conexão e, em seguida, selecione a opção aplicável na barra de ações.

Da mesma forma, você pode excluir, renomear ou testar os recursos criados na conexão. Para fazer isso, selecione o recurso na conexão e, em seguida, selecione a opção aplicável na barra de ações.

Preparar uma instância de VM mestre e um disco permanente

Dica:

Disco permanente é o termo do Google Cloud para disco virtual.

Para preparar a sua instância de VM mestre, crie e configure uma instância de VM com propriedades que correspondam à configuração desejada para as instâncias do VDA clonadas no seu catálogo de máquinas planejado. A configuração não se aplica somente ao tamanho e ao tipo da instância. Também inclui atributos de instância, como metadados, tags, atribuições de GPU, marcas de rede e propriedades da conta de serviço.

Como parte do processo, o MCS usa sua instância de VM mestre para criar o modelo de instância do Google Cloud. O modelo de instância é então usado para criar as instâncias do VDA clonadas que compõem o catálogo de máquinas. As instâncias clonadas herdam as propriedades (exceto as propriedades de VPC, sub-rede e disco permanente) da instância de VM mestre a partir da qual o modelo de instância foi criado.

Depois de configurar as propriedades da instância de VM mestre de acordo com suas especificações, inicie a instância e prepare o disco permanente para a instância.

Recomendamos que você crie manualmente um instantâneo do disco. Isso permite que você use uma convenção de nomenclatura significativa para controlar as versões, oferece mais opções para gerenciar versões anteriores da sua imagem mestre e economiza tempo na criação do catálogo de máquinas. Se você não criar o seu próprio instantâneo, o MCS cria um instantâneo temporário para você (que é apagado no final do processo de provisionamento).

Criar um catálogo de máquinas

Nota:

Crie os seus recursos antes de criar um catálogo de máquinas. Use as convenções de nomenclatura estabelecidas pelo Google Cloud ao configurar catálogos de máquinas. Consulte Diretrizes de nomenclatura de bucket e objeto para obter mais informações.

Siga as orientações em Criar catálogos de máquinas.

Criar um catálogo de máquinas usando um perfil de máquina

Ao criar um catálogo para provisionar máquinas usando o Machine Creation Services (MCS), você pode usar um perfil de máquina para capturar as propriedades de hardware de uma máquina virtual e aplicá-las às VMs recém-provisionadas no catálogo. Quando o parâmetro MachineProfile não é usado, as propriedades do hardware são capturadas da VM da imagem mestre ou do instantâneo. Algumas propriedades que você define explicitamente, por exemplo, StorageType, CatalogZones e CryptoKeyIs, são ignoradas do perfil da máquina.

  • Para criar um catálogo com um perfil de máquina, use o comando New-ProvScheme. Por exemplo, New-ProvScheme –MachineProfile “path to VM”. Se você não especificar o parâmetro MachineProfile, as propriedades de hardware serão capturadas da VM da imagem mestre.
  • Para atualizar um catálogo com um novo perfil de máquina, use o comando Set-ProvScheme. Por exemplo, Set-ProvScheme –MachineProfile “path to new VM”. Esse comando não altera o perfil da máquina das VMs existentes no catálogo. Somente as VMs recém-criadas adicionadas ao catálogo têm o novo perfil de máquina.
  • Você também pode atualizar a imagem mestre; no entanto, quando você atualiza a imagem mestre, as propriedades do hardware não são atualizadas. Se você quiser atualizar as propriedades de hardware, você precisa atualizar o perfil da máquina usando o comando Set-ProvScheme. Essas alterações só se aplicarão às novas máquinas no catálogo. Para atualizar as propriedades de hardware de uma máquina existente, você pode usar o comando Request-ProvVMUpdate.

Gerenciar catálogo de máquinas

Para adicionar máquinas a um catálogo, atualizar máquinas e reverter uma atualização, consulte Gerenciar catálogos de máquinas.

Gerenciamento de energia

O Citrix DaaS permite o gerenciamento de energia das máquinas do Google Cloud. Use o nó Search no painel de navegação para localizar a máquina cuja energia você deseja gerenciar. As seguintes ações de energia estão disponíveis:

  • Delete
  • Start
  • Restart
  • Force Restart
  • Shut Down
  • Force Shutdown
  • Add to Delivery Group
  • Manage Tags
  • Turn On Maintenance Mode

Você também pode gerenciar as máquinas do Google Cloud usando Autoscale. Para isso, adicione as máquinas do Google Cloud a um grupo de entrega e ative Autoscale para o grupo de entrega. Para obter mais informações sobre Autoscale, consulte Autoscale.

Atualizar máquinas provisionadas usando o PowerShell

O comando Set-ProvScheme altera o esquema de provisionamento. No entanto, isso não afeta as máquinas existentes. Usando o comando Request-ProvVMUpdate dos comandos do PowerShell, agora você pode aplicar o esquema de provisionamento atual a uma máquina persistente ou não persistente existente ou a um conjunto de máquinas. Atualmente, no GCP, a atualização de propriedade suportada por esse recurso é o perfil da máquina.

Você pode atualizar:

  • Uma única VM
  • Uma lista de VMs específicas ou todas as VMs existentes associadas a um ID de esquema de provisionamento
  • Uma lista de VMs específicas ou todas as VMs existentes associadas a um nome de esquema de provisionamento

Para atualizar as VMs existentes:

  1. Verifique a configuração das máquinas existentes. Por exemplo,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Atualize o esquema de provisionamento. Por exemplo,

    `Set-ProvScheme –ProvisioningSchemeName “my-catalog” –MachineProfile “XDHyp:\HostingUnits<hosting-unit>\machineprofileinstance.vm”
    <!--NeedCopy-->
    
  3. Verifique se a propriedade atual da VM corresponde ao esquema de provisionamento atual e se há alguma ação de atualização pendente na VM. Por exemplo,

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    Você também pode encontrar máquinas com uma versão específica. Por exemplo,

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  4. Atualize as máquinas existentes.
    • Para atualizar todas as máquinas existentes:

       Request-ProvVMUpdate –ProvisioningSchemeName “my-catalog”
       <!--NeedCopy-->
      
    • Para atualizar uma lista de máquinas específicas:

       Request-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      
    • Para atualizar máquinas com base na saída de Get-ProvVM:

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Request-ProvVMUpdate
       <!--NeedCopy-->
      
  5. Encontre máquinas com uma atualização agendada. Por exemplo,

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  6. Reinicialize as máquinas. Na próxima vez que forem ligadas, as alterações às propriedades serão aplicadas às máquinas existentes. Você pode verificar o status atualizado usando o seguinte comando:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

Proteger a exclusão acidental da máquina

O Citrix DaaS permite proteger os recursos do MCS no Google Cloud para evitar exclusão acidental. Configure a VM provisionada definindo o sinalizador deletionProtection como TRUE.

Por padrão, as VMs provisionadas por meio do plug-in do Google Cloud ou MCS são criadas com o InstanceProtection ativado. A implementação é aplicável a catálogos persistentes e não persistentes. Os catálogos não persistentes são atualizados quando as instâncias são recriadas a partir do modelo. Para máquinas persistentes existentes, você pode definir o sinalizador no console do Google Cloud. Para obter mais informações sobre como definir o sinalizador, consulte o site de documentação do Google. Novas máquinas adicionadas a catálogos persistentes são criadas com deletionProtection habilitado.

Se você tentar excluir uma instância de VM para a qual definiu o sinalizador deletionProtection, a solicitação falhará. No entanto, se você receber a permissão compute.instances.setDeletionProtection ou a atribuição da função Compute Admin do IAM, poderá redefinir o sinalizador para permitir que o recurso seja excluído.

Importar máquinas do Google Cloud criadas manualmente

Você pode criar uma conexão com o Google Cloud e a seguir criar um catálogo contendo máquinas do Google Cloud. Em seguida, você pode ligar e desligar manualmente as máquinas do Google Cloud por meio do Citrix DaaS. Com esse recurso, você pode:

  • Importar máquinas com SO multissessão do Google Cloud criadas manualmente para um catálogo de máquinas do Citrix Virtual Apps and Desktops.
  • Remover as máquinas com SO multissessão do Google Cloud criadas manualmente de um catálogo do Citrix Virtual Apps and Desktops.
  • Usar os recursos existentes de gerenciamento de energia do Citrix Virtual Apps and Desktops para gerenciar a energia das máquinas com SO multissessão Windows do Google Cloud. Por exemplo, defina um agendamento de reinicialização para essas máquinas.

Essa funcionalidade não requer alterações no fluxo de trabalho de provisionamento existente do Citrix Virtual Apps and Desktops nem a remoção de qualquer recurso existente. Recomendamos que você use o MCS para provisionar máquinas na interface Full Configuration do Citrix DaaS, em vez de importar máquinas do Google Cloud criadas manualmente.

Nuvem privada virtual compartilhada

Nuvens privadas virtuais compartilhadas (VPCs) compreendem um projeto host, a partir do qual as sub-redes compartilhadas são disponibilizadas, e um ou mais projetos de serviço que usam o recurso. As VPCs compartilhadas são boas opções para instalações maiores porque fornecem controle, uso e administração centralizados dos recursos corporativos compartilhados do Google Cloud. Para obter mais informações, consulte o site de documentação do Google.

Com esse recurso, o MCS (Machine Creation Services) oferece suporte ao provisionamento e ao gerenciamento de catálogos de máquinas implantados em VPCs compartilhadas. Esse suporte, que é funcionalmente equivalente ao suporte fornecido atualmente nas VPCs locais, difere em duas áreas:

  1. Você deve conceder permissões extras para a conta de serviço usada para criar a conexão de host. Esse processo permite que o MCS acesse e use os recursos da VPC compartilhada.
  2. Você deve criar duas regras de firewall, uma para entrada e outra para saída. Essas regras de firewall são usadas durante o processo de masterização de imagens.

Novas permissões necessárias

É necessária uma conta de serviço do Google Cloud com permissões específicas ao criar a conexão do host. Essas permissões adicionais devem ser concedidas a todas as contas de serviço usadas para criar conexões de host baseadas em VPC compartilhada.

Dica:

Essas permissões adicionais não são novas no Citrix DaaS. Elas são usadas para facilitar a implementação de VPCs locais. Com as VPCs compartilhadas, essas permissões adicionais permitem o acesso a outros recursos de VPC compartilhadas.

No máximo quatro permissões extras devem ser concedidas à conta de serviço associada à conexão de host para aceitar à VPC compartilhada:

  1. compute.firewalls.list – Essa permissão é obrigatória. Permite que o MCS recupere a lista de regras de firewall presentes na VPC compartilhada.
  2. compute.networks.list – Essa permissão é obrigatória. Permite que o MCS identifique as redes VPC compartilhadas disponíveis para a conta de serviço.
  3. compute.subnetworks.list – Essa permissão é opcional, dependendo de como você usa as VPCs. Permite que o MCS identifique as sub-redes nas VPCs compartilhadas visíveis. Essa permissão já é necessária ao usar VPCs locais, mas também deve ser atribuída no projeto host da VPC compartilhada.
  4. compute.subnetworks.use – Essa permissão é opcional, dependendo de como você usa as VPCs. É necessário usar recursos de sub-rede nos catálogos de máquinas provisionadas. Essa permissão já é necessária para usar VPCs locais, mas também deve ser atribuída no projeto host da VPC compartilhada.

Ao usar essas permissões, considere que existem abordagens diferentes com base no tipo de permissão usada para criar o catálogo de máquinas:

  • Permissão no nível do projeto:
    • Permite o acesso a todas as VPCs compartilhadas dentro do projeto host.
    • Requer que as permissões 3 e 4 sejam atribuídas à conta de serviço.
  • Permissão no nível da sub-rede:
    • Permite o acesso a sub-redes específicas dentro da VPC compartilhada.
    • As permissões 3 e 4 são intrínsecas à atribuição de nível de sub-rede e, portanto, não precisam ser atribuídas diretamente à conta de serviço.

Selecione a abordagem que corresponde às suas necessidades organizacionais e aos padrões de segurança.

Dica:

Para obter mais informações sobre as diferenças entre as permissões no nível do projeto e no nível da sub-rede, consulte a documentação do Google Cloud.

Regras de firewall

Durante a preparação de um catálogo de máquinas, uma imagem de máquina é preparada para servir como o disco do sistema de imagem mestre para o catálogo. Quando esse processo ocorre, o disco é conectado temporariamente a uma máquina virtual. Essa VM deve ser executada em um ambiente isolado que impeça todo o tráfego de rede de entrada e de saída. Isso é feito por meio de um par de regras de firewall deny-all: uma para tráfego de entrada e outra para tráfego de saída. Ao usar os VCPs locais do Google Cloud, o MCS cria esse firewall na rede local e o aplica à máquina para masterização. Após a conclusão da masterização, a regra de firewall é removida da imagem.

Recomendamos manter um número mínimo de novas permissões necessárias para usar VPCs compartilhadas. As VPCs compartilhadas são recursos corporativos de nível superior e normalmente têm protocolos de segurança mais rígidos. Por esse motivo, crie um par de regras de firewall no projeto host nos recursos da VPC compartilhada, uma para entrada e outra para saída. Atribua a maior prioridade a elas. Aplique uma nova marca de destino a cada uma das regras, usando o seguinte valor:

citrix-provisioning-quarantine-firewall

Quando o MCS cria ou atualiza um catálogo de máquinas, ele procura regras de firewall que contenham essa marca de destino. Em seguida, ele examina as regras quanto à sua exatidão e as aplica à máquina usada para preparar a imagem mestre para o catálogo. Se as regras de firewall não forem encontradas ou se as regras forem encontradas, mas as regras ou suas prioridades estiverem incorretas, uma mensagem semelhante à seguinte será exibida:

"Unable to find valid INGRESS and EGRESS quarantine firewall rules for VPC <name> in project <project>. " Please ensure you have created 'deny all' firewall rules with the network tag ‘citrix-provisioning-quarantine-firewall' and proper priority." "Refer to Citrix Documentation for details."

Configurar a VPC compartilhada

Antes de adicionar a VPC compartilhada como uma conexão de host na interface Full Configuration do Citrix DaaS, conclua as etapas a seguir para adicionar contas de serviço do projeto que você pretende provisionar:

  1. Crie uma função do IAM.
  2. Adicione a conta de serviço usada para criar uma conexão de host CVAD à função do IAM do projeto host da VPC compartilhada.
  3. Adicione a conta de serviço do Cloud Build do projeto que você pretende provisionar à função do IAM do projeto host da VPC compartilhada.
  4. Crie regras de firewall.

Crie uma função do IAM

Determine o nível de acesso da função — acesso no nível do projeto ou um modelo mais restrito usando o acesso no nível da sub-rede.

Acesso no nível do projeto para a função do IAM. Para a função do IAM no nível do projeto, inclua as seguintes permissões:

  • compute.firewalls.list
  • compute.networks.list
  • compute.subnetworks.list
  • compute.subnetworks.use

Para criar uma função do IAM no nível do projeto:

  1. No console do Google Cloud, navegue para IAM & Admin > Roles.
  2. Na página Roles, selecione CREATE ROLE.
  3. Na página Create Role, especifique o nome da função. Selecione ADD PERMISSIONS.
    1. Na página Add permissions, adicione permissões à função, individualmente. Para adicionar uma permissão, digite o nome da permissão no campo Filter table. Selecione a permissão e, em seguida, selecione ADD.
    2. Selecione CREATE.

Subnet-level IAM role. Essa função omite a adição das permissões compute.subnetworks.list e compute.subnetworks.use depois de selecionar CREATE ROLE. Para esse nível de acesso do IAM, as permissões compute.firewalls.list e compute.networks.list devem ser aplicadas à nova função.

Para criar uma função do IAM no nível da sub-rede:

  1. No console do Google Cloud, navegue para VPC network > Shared VPC. A página Shared VPC é exibida, mostrando as sub-redes das redes VPC compartilhadas que o projeto host contém.
  2. Na página Shared VPC, selecione a sub-rede que deseja acessar.
  3. No canto superior direito, selecione ADD MEMBER para adicionar uma conta de serviço.
  4. Na página Add members, conclua estas etapas:
    1. No campo New members, digite o nome da sua conta de serviço e selecione a sua conta de serviço no menu.
    2. Selecione o campo Select a role e depois Compute Network User.
    3. Selecione SAVE.
  5. No console do Google Cloud, navegue para IAM & Admin > Roles.
  6. Na página Roles, selecione CREATE ROLE.
  7. Na página Create Role, especifique o nome da função. Selecione ADD PERMISSIONS.
    1. Na página Add permissions, adicione permissões à função, individualmente. Para adicionar uma permissão, digite o nome da permissão no campo Filter table. Selecione a permissão e, em seguida, selecione ADD.
    2. Selecione CREATE.

Adicionar uma conta de serviço à função do IAM do projeto host

Depois de criar uma função do IAM, siga estas etapas para adicionar uma conta de serviço ao projeto host:

  1. No console do Google Cloud, navegue até o projeto host e vá para IAM & Admin > IAM.
  2. Na página IAM, selecione ADD para adicionar uma conta de serviço.
  3. Na página Add members:
    1. No campo New members, digite o nome da sua conta de serviço e selecione a sua conta de serviço no menu.
    2. Selecione um campo de função, digite a função do IAM que você criou e, em seguida, selecione a função no menu.
    3. Selecione SAVE.

Agora, a conta de serviço já está configurada para o projeto host.

Adicionar a conta de serviço do Cloud Build à VPC compartilhada

Cada assinatura do Google Cloud tem uma conta de serviço que tem, como nome, o número do ID do projeto, seguido por cloudbuild.gserviceaccount. Por exemplo: 705794712345@cloudbuild.gserviceaccount.

Você pode determinar qual é o número do ID do projeto selecionando Home e Dashboard no console do Google Cloud:

Painel de navegação do console do Google Cloud

Na tela, procure Project Number abaixo da área Project Info.

Execute as etapas a seguir para adicionar a conta de serviço do Cloud Build à VPC compartilhada:

  1. No console do Google Cloud, navegue até o projeto host e vá para IAM & Admin > IAM.
  2. Na página Permissions, selecione ADD para adicionar uma conta.
  3. Na página Add members, conclua estas etapas:
    1. No campo New members, digite o nome da conta de serviço do Cloud Build e selecione a sua conta de serviço no menu.
    2. Selecione o campo Select a role, digite Computer Network User e, em seguida, selecione a função no menu.
    3. Selecione SAVE.

Criar regras de firewall

Como parte do processo de masterização, o MCS copia a imagem da máquina selecionada e a usa para preparar o disco do sistema de imagem mestre para o catálogo. Durante a masterização, o MCS anexa o disco a uma máquina virtual temporária, que executa scripts de preparação. Essa VM deve ser executada em um ambiente isolado que proíba todo o tráfego de rede de entrada e saída. Para criar um ambiente isolado, o MCS exige duas regras de firewall deny all (uma regra de entrada e uma regra de saída). Portanto, crie duas regras de firewall em Host Project da seguinte forma:

  1. No console do Google Cloud, navegue até o projeto host e, em seguida, para VPC network > Firewall.
  2. Na página Firewall, selecione CREATE FIREWALL RULE.
  3. Na página Create a firewall rule, preencha estes dados:
    • Name. Digite um nome para a regra.
    • Network. Selecione a rede VPC compartilhada à qual a regra de firewall de entrada se aplica.
    • Priority. Quanto menor for o valor, maior será a prioridade da regra. Recomendamos um valor pequeno (por exemplo, 10).
    • Direction of traffic. Selecione Ingress.
    • Action on match. Selecione Deny.
    • Targets. Use o padrão, Specified target tags.
    • Target tags. Digite citrix-provisioning-quarantine-firewall.
    • Source filter. Use o padrão, IP ranges.
    • Source IP ranges. Digite um intervalo que corresponda a todo o tráfego. Digite 0.0.0.0/0.
    • Protocols and ports. Selecione Deny all.
  4. Selecione CREATE para criar a regra.
  5. Repita as etapas de 1 a 4 para criar outra regra. Em Direction of traffic, selecione Egress.

Adicionar uma conexão

Depois de adicionar as interfaces de rede à instância do Cloud Connector, adicione uma conexão.

Habilitar a seleção de zona

O Citrix Virtual Apps and Desktops suporta a seleção de zona. Com a seleção de zona, você especifica as zonas nas quais deseja criar as VMs. Com a seleção de zona, os administradores podem colocar nós de locatário único nas zonas de sua escolha. Para configurar a locação única, você deve fazer o seguinte no Google Cloud:

  • Reservar um nó de locatário único no Google Cloud
  • Criar a imagem mestre do VDA

Como reservar um nó de locatário único no Google Cloud

Para reservar um nó de locatário único, consulte a documentação do Google Cloud.

Importante:

Um modelo de nó é usado para indicar as características de desempenho do sistema reservado no grupo de nós. Essas características incluem o número de vGPUs, a quantidade de memória alocada para o nó e o tipo de máquina usado para máquinas criadas no nó. Para obter mais informações, consulte a documentação do Google Cloud.

Criar a imagem mestre do VDA

Para implantar máquinas no nó de locatário único com sucesso, você precisa executar etapas extras ao criar uma imagem de VM mestre. As instâncias de máquina no Google Cloud têm uma propriedade chamada node affinity labels. As instâncias usadas como imagens mestre para catálogos implantados no nó de locatário único exigem um node affinity label que corresponda ao nome do target node group. Para isso, tenha em mente o seguinte:

Nota:

Se você pretende usar a locação única com uma VPC compartilhada, consulte Nuvem privada virtual compartilhada.

Definir um rótulo de afinidade de nó ao criar uma instância

Para definir o rótulo de afinidade do nó:

  1. No console do Google Cloud, navegue até Compute Engine > VM instances.

  2. Na página VM instances, selecione Create instance.

  3. Na página Instance creation, digite ou configure a informação necessária e selecione management, security, disks, networking, sole tenancy para abrir o painel de configurações.

  4. Na guia Sole tenancy, selecione Browse para visualizar os grupos de nós disponíveis no projeto atual. A página Sole-tenant node é exibida, mostrando uma lista de grupos de nós disponíveis.

  5. Na página Sole-tenant node, selecione o grupo de nós aplicável na lista e selecione Select para voltar à guia Sole tenancy. O campo de rótulos de afinidade do nós é preenchido com as informações selecionadas. Essa configuração garante que os catálogos de máquinas criados a partir da instância sejam implantados no grupo de nós selecionado.

  6. Selecione Create para criar a instância.

Definir um rótulo de afinidade de nó para uma instância existente

Para definir o rótulo de afinidade do nó:

  1. Na janela de terminal do Google Cloud Shell, use o comando gcloud compute instances para definir um rótulo de afinidade de nó. Inclua as seguintes informações no comando gcloud:

    • Nome da VM. Por exemplo, use uma VM existente chamada s*2019-vda-base.*
    • Nome do grupo de nós. Use o nome do grupo de nós que você criou anteriormente. Por exemplo, mh-sole-tenant-node-group-1.
    • A zona em que a instância reside. Por exemplo, a VM reside em *us-east-1b* zone.

    Por exemplo, digite o seguinte comando na janela do terminal:

    • gcloud compute instances set-scheduling "s2019-vda-base" --node-group="mh-sole-tenant-node-group-1" --zone="us-east1-b"

    Para obter mais informações sobre o comando gcloud compute instances, consulte a documentação do Google Developer Tools em https://cloud.google.com/sdk/gcloud/reference/beta/compute/instances/set-scheduling.

  2. Navegue até a página VM instance details da instância e verifique se o campo Node Affinities é preenchido com o rótulo.

Criar um catálogo de máquinas

Depois de definir o rótulo de afinidade do nó, configure o catálogo de máquinas.

Preview: Usar chaves de criptografia gerenciadas pelo cliente (CMEK)

Você pode usar chaves de criptografia gerenciadas pelo cliente (CMEK) para catálogos do MCS. Ao usar essa funcionalidade, você atribui a função CryptoKey Encrypter/Decrypter do serviço Key Management Service do Google Cloud ao agente de serviço do Compute Engine. A conta Citrix DaaS deve ter as permissões corretas no projeto em que a chave está armazenada. Consulte Ajudar a proteger recursos usando chaves do Cloud KMS para obter mais informações.

Seu agente de serviço do Compute Engine está no seguinte formato: service-<Project _Number>@compute-system.iam.gserviceaccount.com. Esse formulário é diferente da conta de serviço padrão do Compute Engine.

Nota:

Essa conta de serviço do Compute Engine talvez não apareça na tela IAM Permissions do Google Console. Nesse caso, use o comando gcloud conforme descrito em Ajudar a proteger recursos usando chaves do Cloud KMS.

Atribuir permissões à conta Citrix DaaS

As permissões do Google Cloud KMS podem ser configuradas de várias maneiras. Você pode fornecer permissões de KMS no nível do projeto ou permissões de KMS no nível do recurso. Consulte Permissões e funções para obter mais informações.

Permissões no nível do projeto

Uma opção é fornecer à conta Citrix DaaS permissões no nível do projeto para navegar pelos recursos do Cloud KMS. Para isso, crie uma função personalizada e adicione as seguintes permissões:

  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptokeys.list
  • cloudkms.cryptokeys.get

Atribua essa função personalizada à sua conta Citrix DaaS. Isso permite que você navegue pelas chaves regionais no projeto relevante no inventário.

Permissões de nível do recurso

Na outra opção, de permissões no nível do recurso, no console do Google Cloud, navegue até a cryptoKey que você usa para o provisionamento de MCS. Adicione uma conta Citrix DaaS a um keyring ou chave que você usa para provisionamento de catálogo.

Dica:

Com essa opção, você não pode procurar chaves regionais para o seu projeto no inventário porque a conta do Citrix DaaS não tem permissões de lista de nível do projeto nos recursos do Cloud KMS. No entanto, você ainda pode provisionar um catálogo usando o CMEK especificando o cryptoKeyId correto nas propriedades personalizadas ProvScheme, como descrito abaixo.

Provisionar com CMEK usando propriedades personalizadas

Ao criar o seu esquema de provisionamento via PowerShell, especifique uma propriedade CryptoKeyId em ProvScheme CustomProperties. Por exemplo:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="<yourCryptoKeyId>" />
</CustomProperties>'
<!--NeedCopy-->

cryptoKeyId deve ser especificada no seguinte formato:

projectId:location:keyRingName:cryptoKeyName

Por exemplo, se você quiser usar a chave my-example-key no keyring my-example-key-ring na região us-east1 e no projeto com ID my-example-project-1, suas configurações personalizadas ProvScheme serão semelhantes a:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:us-east1:my-example-key-ring:my-example-key" />
</CustomProperties>'
<!--NeedCopy-->

Todas as imagens e discos provisionados do MCS relacionados a esse esquema de provisionamento usam essa chave de criptografia gerenciada pelo cliente.

Dica:

Se você usar chaves globais, o local das propriedades do cliente deverá indicar global e não o nome da região, que no exemplo acima é us-east1. Por exemplo: <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:global:my-example-key-ring:my-example-key" />.

Rotação de chaves gerenciadas pelo cliente

O Google Cloud não é compatível com a rotação de chaves em imagens ou discos permanentes existentes. Depois que uma máquina é provisionada, ela é vinculada à versão da chave em uso no momento em que foi criada. No entanto, uma nova versão da chave pode ser criada, e essa nova chave é usada para máquinas recém-provisionadas ou recursos criados quando um catálogo é atualizado com uma nova imagem mestre.

Considerações importantes sobre keyrings

Os keyrings não podem ser renomeados ou excluídos. Além disso, você pode incorrer em encargos imprevistos ao configurá-los. Ao excluir ou remover um keyring, o Google Cloud exibe uma mensagem de erro:

Sorry, you can't delete or rename keys or key rings. We were concerned about the security implications of allowing multiple keys or key versions over time to have the same resource name, so we decided to make names immutable. (And you can't delete them, because we wouldn't be able to do a true deletion--there would still have to be a tombstone tracking that this name had been used and couldn't be reused).
We're aware that this can make things untidy, but we have no immediate plans to change this.
If you want to avoid getting billed for a key or otherwise make it unavailable, you can do so by deleting all the key versions; neither keys nor key rings are billed for, just the active key versions within the keys.
<!--NeedCopy-->

Dica:

Para obter mais informações, consulte Editing or deleting a key ring from the console.

Compatibilidade de acesso uniforme no nível do bucket

O Citrix DaaS é compatível com a política de controle de acesso uniforme no nível do bucket no Google Cloud. Essa funcionalidade aumenta o uso da política do IAM que concede permissões a uma conta de serviço para permitir a manipulação de recursos, incluindo buckets de armazenamento. Com controle de acesso uniforme no nível do bucket, o Citrix DaaS permite que você use uma lista de controle de acesso (ACL) para controlar o acesso a buckets de armazenamento ou objetos armazenados neles. Consulte Acesso uniforme no nível do bucket para obter informações gerais sobre o acesso uniforme no nível do bucket no Google Cloud. Para obter informações de configuração, consulte Requerer acesso uniforme no nível do bucket.

Mais informações