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 cobrem 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 guiará pela configuração de uma conexão de hospedagem:
-
Em Gerenciar > Configuração, selecione Hospedagem no painel esquerdo.
-
Selecione Adicionar Conexão e Recursos na barra de ações.
-
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.
-
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.
-
Na página Rede, digite um nome para os recursos, selecione uma rede virtual no menu, selecione um subconjunto 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 de nível de 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
\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
- O nome do recurso pode conter de 1 a 64 caracteres e não pode conter apenas espaços em branco ou os caracteres
-
Na página Resumo, confirme as informações e 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 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 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.comhttps://cloudresourcemanager.googleapis.comhttps://compute.googleapis.comhttps://storage.googleapis.comhttps://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 é conhecido como 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 acesso privado do Google aos seus projetos do Google Cloud. Esta implementação aprimora a segurança para lidar com dados confidenciais. Para conseguir isso, você pode fazer uma das seguintes opçõ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 trabalhadores privado, adicione
UsePrivateWorkerPoolemCustomProperties. Para obter informações sobre o pool de trabalhadores privado, consulte Visão geral dos pools privados.
Requisitos para criar um ambiente seguro para o 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 em modo de manutenção ao atualizar as propriedades personalizadas.
- Para usar pools de trabalhadores 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 WorkerPool 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.comegcr.ioconforme descrito em Configuração de DNS.

-
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.

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

-
Nos controles de serviço da VPC, configure regras de Egress para que as APIs e VMs possam se comunicar com a internet. As regras de Ingress são opcionais. Por exemplo:
Egress Rule 1 From: Identities:ANY_IDENTITY To: Projects = All projects Service = Service name: All services <!--NeedCopy-->
- Para a Conta de Serviço do Citrix Cloud™, adicione as seguintes funções IAM:
Habilitar o pool de trabalhadores privado
Para habilitar o pool de trabalhadores privado, defina as propriedades personalizadas da seguinte forma na conexão do host:
- 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.
-
Execute os seguintes comandos:
Add-PSSnapin citrix*cd XDHyp:\Connections\dir
- Copie o
CustomPropertiesda conexão para um bloco de notas. -
Anexar a configuração da 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--> ``` - Na janela do PowerShell, atribua uma variável às propriedades personalizadas modificadas. Por exemplo:
$customProperty = '<CustomProperties…</CustomProperties>'. - Execute
$gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>". - Execute
$gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >". - Execute
$securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force. -
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-->
Especificar chave CMEK global e regional
Nota:
O suporte para CMEK no GCP está atualmente em Pré-visualização.
Existem dois tipos de chaves de criptografia gerenciadas pelo cliente (CMEK) no GCP:
- Regional: Chaves de criptografia que só podem ser usadas por recursos na mesma região.
- Global: Chaves de criptografia que podem ser usadas por recursos de várias regiões.
Você pode navegar e usar chaves de criptografia gerenciadas pelo cliente (CMEK) globais ou regionais de todos os projetos acessíveis à conta de serviço. Você pode então usar a chave para criar um catálogo de máquinas MCS habilitado para CMEK e atualizar um catálogo de máquinas MCS habilitado para CMEK existente usando o comando Set-ProvScheme. Para obter informações sobre como criar um catálogo habilitado para CMEK usando o PowerShell, consulte Criar um catálogo com CMEK usando propriedades personalizadas.
Para este recurso, você precisa de permissões adicionais para as duas contas de serviço a seguir:
- A conta de serviço do projeto atual com a qual a conexão de hospedagem é criada.
- O Agente de Serviço do Compute Engine do projeto atual (que tem o e-mail:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com). Para obter mais informações, consulte Agente de Serviço do Compute Engine.
Em Contas de serviço, você deve atribuir as seguintes funções no projeto que possui as chaves criptográficas que você deseja usar (por exemplo, projeto compartilhado):
- Cloud KMS Viewer
- Cloud KMS CryptoKey Encrypter/Decrypter
Se você não atribuir as funções, certifique-se de ter as seguintes permissões:
- resourcemanager.projects.get
- cloudkms.keyRings.list
- cloudkms.keyRings.get
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.cryptoKeyVersions.useToDecrypt
- cloudkms.cryptoKeyVersions.useToEncrypt
Listar as chaves de criptografia
Você pode listar as chaves de criptografia globais e regionais dentro do mesmo projeto e de todos os outros projetos acessíveis usando os comandos do PowerShell. Para fazer isso:
- Abra uma janela do PowerShell a partir do host do Delivery Controller™ ou do PowerShell remoto.
- Execute o comando
asnp citrix*para carregar os módulos PowerShell específicos da Citrix. -
Execute o seguinte comando para listar as chaves de criptografia. Exemplo:
-
Para listar o conteúdo da pasta
encryptionKeys:Get-ChildItem XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder <!--NeedCopy--> -
Para obter chaves de criptografia globais dentro do mesmo projeto:
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myglobalkeyring.globalkeyring\myglobalkey.cryptokey <!--NeedCopy--> -
Para obter chaves de criptografia regionais dentro do mesmo projeto:
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\regional-ring.keyring\shared-key.cryptokey <!--NeedCopy--> -
Para obter chaves de criptografia globais de outro projeto acessível (por exemplo: myanotherproject):
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject.project\shared-global-ring.globalkeyring\shared-key.cryptokey <!--NeedCopy--> -
Para obter chaves de criptografia regionais de outro projeto acessível (por exemplo: myanotherproject):
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject .project.project\shared-uscentral.keyring\shared-uscentral-key.cryptokey <!--NeedCopy-->
-
Nota:
- A extensão do item de inventário do conjunto de chaves para um conjunto de chaves global é
.globalkeyring.- O ID dos conjuntos de chaves globais contém a palavra
global.
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 Google existentes com a API do Cloud Build ativada 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 de Cloud Build após 29 de abril, poderá criar ou aplicar a política da organização para desabilitar a imposição de restrições 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-->Os seguintes papéis definidos pelo Google têm as permissões listadas acima:
- Administrador de Computação
- Usuário do Cloud Datastore
-
Permissões adicionais necessárias para VPC Compartilhada para a Conta de Serviço do Citrix Cloud no projeto de VPC Compartilhada:
compute.networks.list compute.subnetworks.list resourcemanager.projects.get <!--NeedCopy-->Os seguintes papéis definidos pelo Google têm as permissões listadas acima:
- Usuário da Rede de Computação
-
Nas contas de serviço, você deve atribuir os seguintes papéis no projeto que possui as chaves criptográficas que você deseja usar (por exemplo, projeto compartilhado):
- Visualizador do Cloud KMS
- Criptografador/Descriptografador de Chave Criptográfica do Cloud KMS
Se você não atribuir aos papéis, certifique-se de ter as seguintes permissões:
- resourcemanager.projects.get
- cloudkms.keyRings.list
- cloudkms.keyRings.get
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.cryptoKeyVersions.useToDecrypt
- cloudkms.cryptoKeyVersions.useToEncrypt
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 apenas com gerenciamento de 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 possuem as permissões listadas acima:
- Administrador de Computação
- Usuário do Cloud Datastore
Criação, atualização ou exclusão de 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.getSerialPortOutput 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 possuem as permissões listadas acima:
- Administrador de Computação
- Administrador de Armazenamento
- Editor do Cloud Build
- Usuário da Conta de Serviço
- Usuário do Cloud Datastore
-
Permissões adicionais necessárias para VPC Compartilhada para a Conta de Serviço do Citrix Cloud no projeto de VPC Compartilhada para criar uma unidade de hospedagem usando VPC e sub-rede do projeto de VPC Compartilhada:
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-->Os seguintes papéis definidos pelo Google têm as permissões listadas acima:
- Usuário da Rede de Computação
- Usuário do Cloud Datastore
Permissões mínimas necessárias ao baixar o disco de instruções de preparação para o MCS:
- (Antes da Alteração da Conta de Serviço do Cloud Build): Atribua estas permissões à Conta de Serviço do Cloud Build no projeto de Provisionamento.
- (Após a Alteração da Conta de Serviço do Cloud Build): Atribua estas permissões à Conta de Serviço do Cloud Compute no projeto de Provisionamento.
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-->Os seguintes papéis definidos pelo Google têm as permissões listadas acima:
- Conta de Serviço do Cloud Build (Após a Alteração da Conta de Serviço do Cloud Build, é a Conta de Serviço do Cloud Compute)
- Administrador de Instância de Computação
- Usuário da Conta de Serviço
-
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ções de preparação para o MCS:
resourcemanager.projects.get storage.objects.create storage.objects.get storage.objects.list <!--NeedCopy-->Os seguintes papéis definidos pelo Google têm as permissões listadas acima:
- Usuário da Rede de Computação
- Usuário da Conta de Armazenamento
- Usuário do Cloud Datastore
Permissões adicionais necessárias para VPC Compartilhada ao baixar o disco de instrução de preparação para o MCS:
- (Antes da alteração da Conta de Serviço do Cloud Build): Atribua estas permissões à Conta de Serviço do Cloud Build no projeto de Provisionamento.
- (Após a alteração da Conta de Serviço do Cloud Build): Atribua estas permissões à Conta de Serviço do Cloud Compute no projeto de Provisionamento.
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:
- Usuário da Rede de Computação
- Usuário da Conta de Armazenamento
- Usuário do Cloud Datastore
-
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:
- Visualizador de KMS de Computação
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.getSerialPortOutput
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
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
<!--NeedCopy-->
Onde ir a seguir
- Se você estiver no processo de implantação inicial, consulte Criar catálogos de máquinas
- Para obter informações específicas do Google Cloud Platform (GCP), consulte Criar um catálogo do Google Cloud Platform