Citrix Virtual Apps and Desktops

Conexão com ambientes de nuvem do Google

Criar e gerenciar conexões e recursos descreve os assistentes que criam uma conexão. As informações a seguir abrangem detalhes específicos para ambientes de nuvem do Google.

Nota:

Antes de criar uma conexão com ambientes de nuvem do Google, você precisa primeiro concluir a configuração da sua conta do Google Cloud como um local de recurso. Consulte Ambientes do Google Cloud.

Adicionar uma conexão

Siga as orientações em Criar uma conexão e recursos. A descrição a seguir o orienta na configuração de uma conexão de hospedagem:

  1. Em “Gerenciar” > “Configuração”, selecione “Hospedagem” no painel esquerdo.

  2. Selecione “Adicionar Conexão e Recursos” na barra de ações.

  3. Na página “Conexão”, selecione “Criar uma nova Conexão” e “ferramentas de provisionamento Citrix™”, e então selecione “Avançar”.

    • Tipo de conexão. Selecione “Google Cloud” no menu.
    • Nome da conexão. Digite um nome para a conexão.
  4. Na página “Região”, selecione um nome de projeto no menu, selecione uma região que contenha os recursos que você deseja usar e, em seguida, selecione “Avançar”.

  5. Na página “Rede”, digite um nome para os recursos, selecione uma rede virtual no menu, selecione uma sub-rede e, em seguida, selecione “Avançar”. O nome do recurso ajuda a identificar a combinação de região e rede. Redes virtuais com o sufixo (Compartilhado) anexado ao nome representam VPCs compartilhadas. Se você configurar uma função IAM no nível da sub-rede para uma VPC compartilhada, apenas sub-redes específicas da VPC compartilhada aparecerão 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 “Resumo”, confirme as informações e, em seguida, selecione “Concluir” para sair da janela “Adicionar Conexão e Recursos”.

Após criar a conexão e os recursos, a conexão e os recursos criados 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 sob a conexão. Para fazer isso, selecione o recurso sob a conexão e, em seguida, selecione a opção aplicável na barra de ações.

URLs de endpoint de serviço

Você deve ter acesso às seguintes URLs:

  • https://oauth2.googleapis.com
  • https://cloudresourcemanager.googleapis.com
  • https://compute.googleapis.com
  • https://storage.googleapis.com
  • https://cloudbuild.googleapis.com

Projetos do Google Cloud

Existem basicamente dois tipos de projetos do Google Cloud:

  • Projeto de provisionamento: Neste caso, a conta de administrador atual é proprietária das máquinas provisionadas no projeto. Este projeto também é referido como um projeto local.
  • Projeto VPC Compartilhada: Projeto no qual as máquinas criadas no projeto de provisionamento usam a VPC do projeto VPC Compartilhada. A conta de administrador usada para o projeto de provisionamento tem permissões limitadas neste projeto, especificamente, apenas permissões para usar a VPC.

Criar um ambiente seguro para tráfego gerenciado pelo GCP

Você pode permitir o acesso privado do Google aos seus projetos do Google Cloud. Essa implementação aprimora a segurança para lidar com dados confidenciais. Para conseguir isso, você pode fazer uma das seguintes ações:

  • Inclua as seguintes regras de entrada dos controles de serviço da VPC para a Conta de Serviço do Cloud Build. Se você fizer esta etapa, não siga as etapas abaixo para criar um ambiente seguro para o tráfego gerenciado pelo GCP.

     Ingress Rule 1
     From:
     Identities:
     <ProjectID>@cloudbuild.gserviceaccount.com
     Source > All sources allowed
     To:
     Projects =
     All projects
     Services =
     Service name: All services
     <!--NeedCopy-->
    
  • Se você estiver usando um pool de workers privado, adicione UsePrivateWorkerPool em CustomProperties. Para obter informações sobre o pool de workers privado, consulte Visão geral de pools privados.

Requisitos para criar um ambiente seguro para tráfego gerenciado pelo GCP

Os requisitos para criar um ambiente seguro para o tráfego gerenciado pelo GCP são:

  • Certifique-se de que a conexão de hospedagem esteja no modo de manutenção ao atualizar as propriedades personalizadas.
  • Para usar pools de workers privados, as seguintes alterações são necessárias:
    • Para a Conta de Serviço do Citrix Cloud™, adicione as seguintes funções IAM:
      • Conta de Serviço do Cloud Build
      • Administrador de Instância de Computação
      • Usuário da Conta de Serviço
      • Criador de Token da Conta de Serviço
      • Proprietário do Pool de Workers do Cloud Build
    • Crie a Conta de Serviço do Citrix Cloud no mesmo projeto que você usa para criar uma conexão de hospedagem.
    • Configure zonas DNS para private.googleapis.com e gcr.io conforme descrito em Configuração de DNS.

      Zonas DNS para private-googleapis-com

      Zonas DNS para gcr.io

    • Configure a Tradução de Endereços de Rede (NAT) privada ou use a conexão de serviço privada. Para obter mais informações, consulte Acessar APIs do Google por meio de endpoints.

      Conexão de serviço privada

    • Se estiver usando uma VPC emparelhada, crie um emparelhamento de zona DNS do Cloud para a VPC emparelhada. Para obter mais informações, consulte Criar uma zona de emparelhamento.

      Criar uma zona de emparelhamento

    • Nos controles de serviço da VPC, configure regras de Saída para que as APIs e VMs possam se comunicar com a internet. As regras de Entrada são opcionais. Por exemplo:

       Egress Rule 1
       From:
       Identities:ANY_IDENTITY
       To:
       Projects =
       All projects
       Service =
       Service name: All services
       <!--NeedCopy-->
      

Habilitar o pool de workers privado

Para habilitar o pool de workers privado, defina as propriedades personalizadas da seguinte forma na conexão do host:

  1. Abra uma janela do PowerShell no host do Delivery Controller ou use o SDK do PowerShell Remoto. Para obter mais informações sobre o SDK do PowerShell Remoto, consulte SDKs e APIs.
  2. Execute os seguintes comandos:

    1. Add-PSSnapin citrix*
    2. cd XDHyp:\Connections\
    3. dir
  3. Copie as CustomProperties da conexão para um bloco de notas.
  4. Anexe a configuração de propriedade <Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/>. Por exemplo:

    ```
    <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/>
    </CustomProperties>
    <!--NeedCopy--> ```
    
  5. Na janela do PowerShell, atribua uma variável às propriedades personalizadas modificadas. Por exemplo: $customProperty = '<CustomProperties…</CustomProperties>'.
  6. Execute $gcpServiceAccount = "<INSIRA SEU E-MAIL DE CONTA DE SERVIÇO AQUI>".
  7. Execute $gcpPrivateKey = "<INSIRA SUA CHAVE PRIVADA DE CONTA DE SERVIÇO AQUI APÓS REMOVER TODAS AS INSTÂNCIAS DE \n >".
  8. Execute $securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force.
  9. Execute o seguinte para atualizar uma conexão de host existente:

    Set-Item -PassThru -Path @('XDHyp:\\Connections\\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty
    <!--NeedCopy-->
    

Permissões GCP necessárias

Esta seção contém a lista completa de permissões GCP. Use o conjunto completo de permissões conforme fornecido na seção para que a funcionalidade funcione corretamente.

Nota:

O GCP está introduzindo alterações no comportamento padrão e no uso de contas de serviço do Cloud Build Services após 29 de abril de 2024. Para obter mais informações, consulte Alteração da Conta de Serviço do Cloud Build. Seus projetos existentes do Google com a API do Cloud Build habilitada antes de 29 de abril de 2024 não são afetados por esta alteração. No entanto, se você quiser manter o comportamento existente do Serviço do Cloud Build após 29 de abril, poderá criar ou aplicar a política da organização para desabilitar a aplicação da restrição antes de habilitar a API. Se você definir a nova política da organização, ainda poderá seguir as permissões existentes nesta seção e os itens marcados como Antes da Alteração da Conta de Serviço do Cloud Build. Caso contrário, siga as permissões existentes e os itens marcados como Após a Alteração da Conta de Serviço do Cloud Build.

Criando uma conexão de host

  • Permissões mínimas necessárias para a Conta de Serviço do Citrix Cloud no projeto de Provisionamento:

     compute.instanceTemplates.list
     compute.instances.list
     compute.networks.list
     compute.projects.get
     compute.regions.list
     compute.subnetworks.list
     compute.zones.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Compute Admin
    • Cloud Datastore User
  • Permissões adicionais necessárias para o VPC Compartilhado para a Conta de Serviço do Citrix Cloud no projeto de VPC Compartilhado:

     compute.networks.list
     compute.subnetworks.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Compute Network User

Gerenciamento de energia de VMs

Permissões mínimas necessárias para a Conta de Serviço do Citrix Cloud no projeto de Provisionamento, no caso de catálogos gerenciados apenas por energia:

compute.instanceTemplates.list
compute.instances.list
compute.instances.get
compute.instances.reset
compute.instances.resume
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.networks.list
compute.projects.get
compute.regions.list
compute.subnetworks.list
compute.zones.list
resourcemanager.projects.get
compute.zoneOperations.get
<!--NeedCopy-->

As seguintes funções definidas pelo Google têm as permissões listadas acima:

  • Compute Admin
  • Cloud Datastore User

Criando, atualizando ou excluindo VMs

  • Permissões mínimas necessárias para a Conta de Serviço do Citrix Cloud no projeto de Provisionamento:

     cloudbuild.builds.create
     cloudbuild.builds.get
     cloudbuild.builds.list
     compute.acceleratorTypes.list
     compute.diskTypes.get
     compute.diskTypes.list
     compute.disks.create
     compute.disks.createSnapshot
     compute.disks.delete
     compute.disks.get
     compute.disks.list
     compute.disks.setLabels
     compute.disks.use
     compute.disks.useReadOnly
     compute.firewalls.create
     compute.firewalls.delete
     compute.firewalls.list
     compute.globalOperations.get
     compute.images.create
     compute.images.delete
     compute.images.get
     compute.images.list
     compute.images.setLabels
     compute.images.useReadOnly
     compute.instanceTemplates.create
     compute.instanceTemplates.delete
     compute.instanceTemplates.get
     compute.instanceTemplates.list
     compute.instanceTemplates.useReadOnly
     compute.instances.attachDisk
     compute.instances.create
     compute.instances.delete
     compute.instances.detachDisk
     compute.instances.get
     compute.instances.list
     compute.instances.reset
     compute.instances.resume
     compute.instances.setDeletionProtection
     compute.instances.setLabels
     compute.instances.setMetadata
     compute.instances.setServiceAccount
     compute.instances.setTags
     compute.instances.start
     compute.instances.stop
     compute.instances.suspend
     compute.machineTypes.get
     compute.machineTypes.list
     compute.networks.list
     compute.networks.updatePolicy
     compute.nodeGroups.list
     compute.nodeTemplates.get
     compute.projects.get
     compute.regions.list
     compute.snapshots.create
     compute.snapshots.delete
     compute.snapshots.list
     compute.snapshots.get
     compute.snapshots.setLabels
     compute.snapshots.useReadOnly
     compute.subnetworks.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.zoneOperations.get
     compute.zoneOperations.list
     compute.zones.get
     compute.zones.list
     iam.serviceAccounts.actAs
     resourcemanager.projects.get
     storage.buckets.create
     storage.buckets.delete
     storage.buckets.get
     storage.buckets.list
     storage.buckets.update
     storage.objects.create
     storage.objects.delete
     storage.objects.get
     storage.objects.list
     compute.networks.get
     compute.resourcePolicies.use
    
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Compute Admin
    • Storage Admin
    • Cloud Build Editor
    • Service Account User
    • Cloud Datastore User
  • Permissões adicionais necessárias para o VPC Compartilhado para a Conta de Serviço do Citrix Cloud no projeto de VPC Compartilhado para criar uma unidade de hospedagem usando VPC e sub-rede do projeto de VPC Compartilhado:

     compute.firewalls.list
     compute.networks.list
     compute.projects.get
     compute.regions.list
     compute.subnetworks.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.zones.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Compute Network User
    • Cloud Datastore User
  • (Antes da Alteração da Conta de Serviço do Cloud Build): Permissões mínimas necessárias para a Conta de Serviço do Cloud Build no projeto de Provisionamento, exigidas pelo serviço Google Cloud Build ao baixar o disco de instrução de preparação para o MCS:

  • (Após a Alteração da Conta de Serviço do Cloud Build): Permissões mínimas necessárias para a Conta de Serviço do Cloud Compute no projeto de Provisionamento, exigidas pelo serviço Google Cloud Compute ao baixar o disco de instrução de preparação para o MCS:

     compute.disks.create
     compute.disks.delete
     compute.disks.get
     compute.disks.list
     compute.disks.setLabels
     compute.disks.use
     compute.disks.useReadOnly
     compute.images.get
     compute.images.list
     compute.images.useReadOnly
     compute.instances.create
     compute.instances.delete
     compute.instances.get
     compute.instances.getSerialPortOutput
     compute.instances.list
     compute.instances.setLabels
     compute.instances.setMetadata
     compute.instances.setServiceAccount
     compute.machineTypes.list
     compute.networks.get
     compute.networks.list
     compute.projects.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.subnetworks.useExternalIp
     compute.zoneOperations.get
     compute.zones.list
     iam.serviceAccounts.actAs
     logging.logEntries.create
     pubsub.topics.publish
     resourcemanager.projects.get
     source.repos.get
     source.repos.list
     storage.buckets.create
     storage.buckets.get
     storage.buckets.list
     storage.objects.create
     storage.objects.delete
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Cloud Build Service Account (Após a Alteração da Conta de Serviço do Cloud Build, é a Conta de Serviço do Cloud Compute)
    • Compute Instance Admin
    • Service Account User
  • Permissões mínimas necessárias para a Conta de Serviço do Cloud Compute no projeto de Provisionamento, exigidas pelo serviço Google Cloud Build ao baixar o disco de instrução de preparação para o MCS:

     resourcemanager.projects.get
     storage.objects.create
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Compute Network User
    • Storage Account User
    • Cloud Datastore User
  • (Antes da Alteração da Conta de Serviço do Cloud Build): Permissões adicionais necessárias para o VPC Compartilhado para a Conta de Serviço do Cloud Build no projeto de Provisionamento, exigidas pelo serviço Google Cloud Build ao baixar o disco de instrução de preparação para o MCS:
  • (Após a Alteração da Conta de Serviço do Cloud Build): Permissões adicionais necessárias para o VPC Compartilhado para a Conta de Serviço do Cloud Compute no projeto de Provisionamento, exigidas pelo serviço Google Cloud Compute ao baixar o disco de instrução de preparação para o MCS:

     compute.firewalls.list
     compute.networks.list
     compute.subnetworks.list
     compute.subnetworks.use
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Compute Network User
    • Storage Account User
    • Cloud Datastore User
  • Permissões adicionais necessárias para o Cloud Key Management Service (KMS) para a Conta de Serviço do Citrix Cloud no projeto de Provisionamento:

     cloudkms.cryptoKeys.get
     cloudkms.cryptoKeys.list
     cloudkms.keyRings.get
     cloudkms.keyRings.list
     <!--NeedCopy-->
    

    As seguintes funções definidas pelo Google têm as permissões listadas acima:

    • Compute KMS Viewer

Permissões gerais

A seguir estão as permissões para a Conta de Serviço do Citrix Cloud no projeto de Provisionamento para todos os recursos suportados no MCS. Essas permissões fornecem a melhor compatibilidade daqui para frente:

resourcemanager.projects.get
cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.acceleratorTypes.list
compute.diskTypes.get
compute.diskTypes.list
compute.disks.create
compute.disks.createSnapshot
compute.disks.delete
compute.disks.get
compute.disks.setLabels
compute.disks.use
compute.disks.useReadOnly
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.list
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instanceTemplates.create
compute.instanceTemplates.delete
compute.instanceTemplates.get
compute.instanceTemplates.list
compute.instanceTemplates.useReadOnly
compute.instances.attachDisk
compute.instances.create
compute.instances.delete
compute.instances.detachDisk
compute.instances.get
compute.instances.list
compute.instances.reset
compute.instances.resume
compute.instances.setDeletionProtection
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setTags
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.instances.update
compute.instances.updateAccessConfig
compute.instances.updateDisplayDevice
compute.instances.updateSecurity
compute.instances.updateShieldedInstanceConfig
compute.instances.updateShieldedVmConfig
compute.machineTypes.get
compute.machineTypes.list
compute.networks.list
compute.networks.updatePolicy
compute.nodeGroups.list
compute.nodeTemplates.get
compute.projects.get
compute.regions.list
compute.snapshots.create
compute.snapshots.delete
compute.snapshots.list
compute.snapshots.get
compute.snapshots.setLabels
compute.snapshots.useReadOnly
compute.subnetworks.get
compute.subnetworks.list
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zoneOperations.list
compute.zones.get
compute.zones.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.buckets.list
storage.buckets.update
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
cloudkms.cryptoKeys.get
cloudkms.cryptoKeys.list
cloudkms.keyRings.get
cloudkms.keyRings.list
compute.disks.list
compute.instances.setServiceAccount
compute.networks.get
compute.networks.use
compute.networks.useExternalIp
iam.serviceAccounts.actAs
compute.resourcePolicies.use
<!--NeedCopy-->

Onde ir em seguida

Mais informações

Conexão com ambientes de nuvem do Google