Conexión a entornos de nube de Google
Crear y administrar conexiones y recursos describe los asistentes que crean una conexión. La siguiente información cubre detalles específicos de los entornos de nube de Google.
Nota:
Antes de crear una conexión a entornos de nube de Google, primero debes terminar de configurar tu cuenta de Google Cloud como una ubicación de recursos. Consulta Entornos de Google Cloud.
Agregar una conexión
- Sigue las instrucciones en [Crear una conexión y recursos](/es-es/citrix-virtual-apps-desktops/manage-deployment/connections.html). La siguiente descripción te guía a través de la configuración de una conexión de alojamiento:
-
Desde Administrar > Configuración, selecciona Alojamiento en el panel izquierdo.
-
Selecciona Agregar conexión y recursos en la barra de acciones.
-
En la página Conexión, selecciona Crear una nueva conexión y Citrix provisioning™ tools, y luego selecciona Siguiente.
- Tipo de conexión. Selecciona Google Cloud en el menú.
- Nombre de conexión. Escribe un nombre para la conexión.
-
En la página Región, selecciona un nombre de proyecto en el menú, selecciona una región que contenga los recursos que quieres usar y luego selecciona Siguiente.
-
- En la página Red, escribe un nombre para los recursos, selecciona una red virtual en el menú, selecciona una subred y luego selecciona Siguiente. El nombre del recurso ayuda a identificar la combinación de región y red. Las redes virtuales con el sufijo (Compartida) añadido a su nombre representan VPC compartidas. Si configuras un rol de IAM a nivel de subred para una VPC compartida, solo las subredes específicas de la VPC compartida aparecerán en la lista de subredes.
-
Nota:
-
- El nombre del recurso puede contener entre 1 y 64 caracteres, y no puede contener solo espacios en blanco ni los caracteres
\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
- El nombre del recurso puede contener entre 1 y 64 caracteres, y no puede contener solo espacios en blanco ni los caracteres
-
- En la página Resumen, confirma la información y luego selecciona Finalizar para salir de la ventana Agregar conexión y recursos.
Después de crear la conexión y los recursos, la conexión y los recursos que creaste se muestran en la lista. Para configurar la conexión, selecciona la conexión y luego selecciona la opción aplicable en la barra de acciones.
- De manera similar, puedes quitar, renombrar o probar los recursos creados bajo la conexión. Para hacerlo, selecciona el recurso bajo la conexión y luego selecciona la opción aplicable en la barra de acciones.
URL de puntos de conexión de servicio
Debes tener acceso a las siguientes URL:
https://oauth2.googleapis.comhttps://cloudresourcemanager.googleapis.comhttps://compute.googleapis.comhttps://storage.googleapis.comhttps://cloudbuild.googleapis.com
Proyectos de Google Cloud
Básicamente, hay dos tipos de proyectos de Google Cloud:
- Proyecto de aprovisionamiento: En este caso, la cuenta de administrador actual es propietaria de las máquinas aprovisionadas en el proyecto. Este proyecto también se conoce como proyecto local.
- Proyecto de VPC compartida: Proyecto en el que las máquinas creadas en el proyecto de aprovisionamiento usan la VPC del proyecto de VPC compartida. La cuenta de administrador utilizada para el proyecto de aprovisionamiento tiene permisos limitados en este proyecto, específicamente, solo permisos para usar la VPC.
- ## Crear un entorno seguro para el tráfico administrado de GCP
- Puedes permitir el acceso privado de Google a tus proyectos de Google Cloud. Esta implementación mejora la seguridad para manejar datos confidenciales. Para lograr esto, puedes hacer una de las siguientes acciones:
- Incluye las siguientes reglas de entrada de controles de servicio de VPC para la cuenta de servicio de Cloud Build. Si realizas este paso, no sigas los pasos a continuación para crear un entorno seguro para el tráfico administrado de GCP.
```
Ingress Rule 1
From:
- Identities:
<ProjectID>@cloudbuild.gserviceaccount.com
- Source > All sources allowed
To:
- Projects =
All projects
Services =
Service name: All services
<!--NeedCopy--> ```
- Si estás usando un grupo de trabajadores privado, agrega `UsePrivateWorkerPool` en `CustomProperties`. Para obtener información sobre el grupo de trabajadores privado, consulta [Descripción general de los grupos privados](https://cloud.google.com/build/docs/private-pools/private-pools-overview).
Requisitos para crear un entorno seguro para el tráfico administrado de GCP
Los requisitos para crear un entorno seguro para el tráfico administrado de GCP son:
- Asegúrate de que la conexión de alojamiento esté en modo de mantenimiento al actualizar las propiedades personalizadas.
- Para usar grupos de trabajadores privados, se requieren los siguientes cambios:
- Para la cuenta de servicio de Citrix Cloud™ , agrega los siguientes roles de IAM:
- Cuenta de servicio de Cloud Build
- Administrador de instancias de Compute
- Usuario de cuenta de servicio
- Creador de tokens de cuenta de servicio
- Propietario de grupo de trabajadores de Cloud Build
- Crea la cuenta de servicio de Citrix Cloud en el mismo proyecto que usas para crear una conexión de alojamiento.
- Configura zonas DNS para `private.googleapis.com` y `gcr.io` como se describe en [Configuración de DNS](https://cloud.google.com/vpc/docs/configure-private-google-access#config-domain).


- Configura la traducción de direcciones de red (NAT) privada o usa la conexión de servicio privada. Para obtener más información, consulta [Acceder a las API de Google a través de puntos de conexión](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis).

- Si usas una VPC emparejada, crea un emparejamiento de zona DNS de Cloud con la VPC emparejada. Para obtener más información, consulta [Crear una zona de emparejamiento](https://cloud.google.com/dns/docs/zones/peering-zones).

- En los controles de servicio de VPC, configura reglas de salida para que las API y las VM puedan comunicarse con Internet. Las reglas de entrada son opcionales. Por ejemplo:
```
Egress Rule 1
- From:
- Identities:ANY_IDENTITY
To:
Projects =
- All projects
-
Service = Service name: All services
```
Habilitar el grupo de trabajadores privado
- Para habilitar el grupo de trabajadores privado, configura las propiedades personalizadas de la siguiente manera en la conexión de host:
- 1. Abre una ventana de PowerShell desde el host del Delivery Controller o usa el SDK de PowerShell remoto. Para obtener más información sobre el SDK de PowerShell remoto, consulta [SDK y API](/es-es/citrix-daas/sdk-api.html#citrix-virtual-apps-and-desktops-remote-powershell-sdk).
- 1. Ejecuta los siguientes comandos:
-
Add-PSSnapin citrix®*cd XDHyp:\Connections\dir
- Copia las
CustomPropertiesde la conexión a un bloc de notas. -
Agrega la configuración de propiedad
<Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/>. Por ejemplo:``` <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--> ``` - En la ventana de PowerShell, asigna una variable a las propiedades personalizadas modificadas. Por ejemplo:
-
$customProperty = '<CustomProperties…</CustomProperties>'.
-
- Ejecuta
$gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>". - Ejecuta
$gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >". - Ejecuta
$securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force.-
- Ejecuta lo siguiente para actualizar una conexión de host existente:
Set-Item -PassThru -Path @('XDHyp:\\Connections\\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty <!--NeedCopy--> -
Especificar clave CMEK global y regional
Nota:
La compatibilidad con CMEK en GCP está actualmente en versión preliminar.
Hay dos tipos de claves de cifrado administradas por el cliente (CMEK) en GCP:
- Regional: Claves de cifrado que solo pueden ser utilizadas por recursos en la misma región.
- Global: Claves de cifrado que pueden ser utilizadas por recursos de varias regiones.
Puedes explorar y usar claves de cifrado administradas por el cliente (CMEK) globales o regionales de todos los proyectos a los que tiene acceso la cuenta de servicio. Luego, puedes usar la clave para crear un catálogo de máquinas MCS habilitado para CMEK y actualizar un catálogo de máquinas MCS habilitado para CMEK existente mediante el comando Set-ProvScheme. Para obtener información sobre cómo crear un catálogo habilitado para CMEK mediante PowerShell, consulta Crear un catálogo con CMEK mediante propiedades personalizadas.
Para esta función, necesitas permisos adicionales para las siguientes dos cuentas de servicio:
- La cuenta de servicio del proyecto actual con la que se crea la conexión de alojamiento.
- El agente de servicio de Compute Engine del proyecto actual (que tiene el correo electrónico:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com). Para obtener más información, consulta Agente de servicio de Compute Engine.
En las cuentas de servicio, debes asignar los siguientes roles en el proyecto que tiene las claves criptográficas que quieres usar (por ejemplo, proyecto compartido):
- Visor de Cloud KMS
- Cifrador/Descifrador de Cloud KMS CryptoKey
Si no asignas los roles, asegúrate de tener los siguientes permisos:
- resourcemanager.projects.get
- cloudkms.keyRings.list
- cloudkms.keyRings.get
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.cryptoKeyVersions.useToDecrypt
- cloudkms.cryptoKeyVersions.useToEncrypt
- ### Enumerar las claves de cifrado
- Puedes enumerar las claves de cifrado globales y regionales dentro del mismo proyecto y de todos los demás proyectos accesibles mediante los comandos de PowerShell. Para ello:
- Abre una ventana de PowerShell desde el host de Delivery Controller™ o PowerShell remoto.
-
- Ejecuta el comando
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix.
- Ejecuta el comando
-
- Ejecuta el siguiente comando para enumerar las claves de cifrado. Ejemplo:
-
Para enumerar el contenido de la carpeta
encryptionKeys:```
-
Get-ChildItem XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder
```
-
Para obtener claves de cifrado globales dentro del mismo proyecto:
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myglobalkeyring.globalkeyring\myglobalkey.cryptokey <!--NeedCopy--> -
Para obtener claves de cifrado regionales dentro del mismo proyecto:
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\regional-ring.keyring\shared-key.cryptokey <!--NeedCopy--> -
Para obtener claves de cifrado globales de otro proyecto accesible (por ejemplo: myanotherproject):
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject.project\shared-global-ring.globalkeyring\shared-key.cryptokey <!--NeedCopy--> -
Para obtener claves de cifrado regionales de otro proyecto accesible (por ejemplo: myanotherproject):
```
-
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject .project.project\shared-uscentral.keyring\shared-uscentral-key.cryptokey
```
-
Nota:
- La extensión del elemento de inventario del llavero de claves para un llavero de claves global es `.globalkeyring`. - El ID de los llaveros de claves globales contiene la palabra `global`.
Permisos de GCP necesarios
Esta sección contiene la lista completa de permisos de GCP. Usa el conjunto completo de permisos que se indican en la sección para que la funcionalidad funcione correctamente.
Nota:
GCP está introduciendo cambios en el comportamiento predeterminado de los servicios de Cloud Build y en el uso de las cuentas de servicio después del 29 de abril de 2024. Para obtener más información, consulta Cambio de cuenta de servicio de Cloud Build. Tus proyectos de Google existentes con la API de Cloud Build habilitada antes del 29 de abril de 2024 no se ven afectados por este cambio. Sin embargo, si quieres mantener el comportamiento existente del servicio de Cloud Build después del 29 de abril, puedes crear o aplicar la política de la organización para inhabilitar la aplicación de restricciones antes de habilitar la API. Si estableces la nueva política de la organización, puedes seguir las directrices de los permisos existentes en esta sección y los elementos marcados como Antes del cambio de cuenta de servicio de Cloud Build. Si no, sigue los permisos existentes y los elementos marcados como Después del cambio de cuenta de servicio de Cloud Build.
Crear una conexión de host
- Permisos mínimos necesarios para la cuenta de servicio de Citrix Cloud en el proyecto de aprovisionamiento:
```
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--> ```
Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Administrador de Compute
- Usuario de Cloud Datastore
-
Permisos adicionales necesarios para Shared VPC para la cuenta de servicio de Citrix Cloud en el proyecto de Shared VPC:
compute.networks.list compute.subnetworks.list resourcemanager.projects.get <!--NeedCopy-->Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Usuario de red de Compute
-
En las cuentas de servicio, debes asignar los siguientes roles en el proyecto que tiene las claves criptográficas que quieres usar (por ejemplo, proyecto compartido):
- Visor de Cloud KMS
- Cifrador/Descifrador de Cloud KMS CryptoKey
Si no asignas los roles, asegúrate de tener los siguientes permisos:
- resourcemanager.projects.get
- cloudkms.keyRings.list
- cloudkms.keyRings.get
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.cryptoKeyVersions.useToDecrypt
- cloudkms.cryptoKeyVersions.useToEncrypt
Gestión de energía de las máquinas virtuales
Permisos mínimos necesarios para la cuenta de servicio de Citrix Cloud en el proyecto de aprovisionamiento en el caso de catálogos solo con gestión de energía:
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-->
- Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Administrador de Compute
-
Usuario de Cloud Datastore
-
Creación, actualización o eliminación de máquinas virtuales
-
Permisos mínimos necesarios para la cuenta de servicio de Citrix Cloud en el proyecto de aprovisionamiento:
``` 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
```
-
Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Administrador de Compute
- Administrador de almacenamiento
- Editor de Cloud Build
- Usuario de cuenta de servicio
- Usuario de Cloud Datastore
-
Permisos adicionales necesarios para la VPC compartida para la cuenta de servicio de Citrix Cloud en el proyecto de VPC compartida para crear una unidad de alojamiento mediante la VPC y la subred del proyecto de VPC compartida:
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-->Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Usuario de red de Compute
- Usuario de Cloud Datastore
Permisos mínimos necesarios al descargar el disco de instrucciones de preparación a MCS:
- (Antes del cambio de la cuenta de servicio de Cloud Build): Asigne estos permisos a la cuenta de servicio de Cloud Build en el proyecto de aprovisionamiento.
- (Después del cambio de la cuenta de servicio de Cloud Build): Asigne estos permisos a la cuenta de servicio de Cloud Compute en el proyecto de aprovisionamiento.
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-->Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Cuenta de servicio de Cloud Build (después del cambio de la cuenta de servicio de Cloud Build, es la cuenta de servicio de Cloud Compute)
- Administrador de instancias de Compute
- Usuario de cuenta de servicio
-
Permisos mínimos necesarios para la cuenta de servicio de Cloud Compute en el proyecto de aprovisionamiento requeridos por el servicio Google Cloud Build al descargar el disco de instrucciones de preparación a MCS:
resourcemanager.projects.get storage.objects.create storage.objects.get storage.objects.list <!--NeedCopy-->Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Usuario de red de Compute
- Usuario de cuenta de almacenamiento
- Usuario de Cloud Datastore
Permisos adicionales necesarios para la VPC compartida al descargar el disco de instrucciones de preparación a MCS:
- (Antes del cambio de la cuenta de servicio de Cloud Build): Asigne estos permisos a la cuenta de servicio de Cloud Build en el proyecto de aprovisionamiento.
- (Después del cambio de la cuenta de servicio de Cloud Build): Asigne estos permisos a la cuenta de servicio de Cloud Compute en el proyecto de aprovisionamiento.
compute.firewalls.list compute.networks.list compute.subnetworks.list compute.subnetworks.use resourcemanager.projects.get <!--NeedCopy-->Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Usuario de red de Compute
- Usuario de cuenta de almacenamiento
- Usuario de Cloud Datastore
-
Permisos adicionales necesarios para el Servicio de administración de claves de Cloud (KMS) para la cuenta de servicio de Citrix Cloud en el proyecto de aprovisionamiento:
cloudkms.cryptoKeys.get cloudkms.cryptoKeys.list cloudkms.keyRings.get cloudkms.keyRings.list <!--NeedCopy-->Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Visor de KMS de Compute
Permisos generales
A continuación se muestran los permisos para la cuenta de servicio de Citrix Cloud en el proyecto de aprovisionamiento para todas las funciones compatibles con MCS. Estos permisos ofrecen la mejor compatibilidad en el futuro:
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-->
Pasos siguientes
- Si se encuentra en el proceso de implementación inicial, consulte Crear catálogos de máquinas
- Para obtener información específica de Google Cloud Platform (GCP), consulte Crear un catálogo de Google Cloud Platform