Conexión a entornos de Google Cloud
(/es-es/citrix-virtual-apps-desktops/2503/install-configure/connections.html) describe los asistentes que crean una conexión. La siguiente información cubre detalles específicos de los entornos de Google Cloud.
Nota:
Antes de crear una conexión a entornos de Google Cloud, primero debe terminar de configurar su cuenta de Google Cloud como una ubicación de recursos. Consulte (/es-es/citrix-virtual-apps-desktops/2503/install-configure/install-prepare/gcp.html).
Agregar una conexión
Siga las instrucciones de (/es-es/citrix-virtual-apps-desktops/2503/manage-deployment/connections.html). La siguiente descripción le guía a través de la configuración de una conexión de alojamiento:
-
En Administrar > Configuración, seleccione Alojamiento en el panel izquierdo.
-
Seleccione Agregar conexión y recursos en la barra de acciones.
-
En la página Conexión, seleccione Crear una nueva conexión y Citrix provisioning™ tools, y luego seleccione Siguiente.
- Tipo de conexión. Seleccione Google Cloud en el menú.
- Nombre de la conexión. Escriba un nombre para la conexión.
-
En la página Región, seleccione un nombre de proyecto en el menú, seleccione una región que contenga los recursos que desea usar y, a continuación, seleccione Siguiente.
-
En la página Red, escriba un nombre para los recursos, seleccione una red virtual en el menú, seleccione una subred y, a continuación, seleccione Siguiente. El nombre del recurso ayuda a identificar la combinación de región y red. Las redes virtuales con el sufijo (Compartido) añadido a su nombre representan VPC compartidas. Si configura un rol de IAM a nivel de subred para una VPC compartida, solo aparecerán subredes específicas de la VPC compartida 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 Summary, confirme la información y, a continuación, seleccione Finish para salir de la ventana Add Connection and Resources.
Después de crear la conexión y los recursos, la conexión y los recursos que creó aparecen en la lista. Para configurar la conexión, selecciónela y, a continuación, seleccione la opción aplicable en la barra de acciones.
Del mismo modo, puede eliminar, cambiar el nombre o probar los recursos creados en la conexión. Para ello, seleccione el recurso en la conexión y, a continuación, seleccione la opción aplicable en la barra de acciones.
URL de puntos finales de servicio
Debe 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 la 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 utilizan 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
Puede permitir el acceso privado de Google a sus proyectos de Google Cloud. Esta implementación mejora la seguridad para manejar datos confidenciales. Para lograr esto, puede hacer una de las siguientes cosas:
-
Incluya las siguientes reglas de entrada de los controles de servicio de VPC para la cuenta de servicio de Cloud Build. Si realiza este paso, no siga los pasos siguientes 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 utiliza un grupo de trabajadores privado, agregue
UsePrivateWorkerPoolenCustomProperties. Para obtener información sobre el grupo de trabajadores privado, consulte Descripción general de los grupos privados.
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úrese 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™, agregue 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 del grupo de trabajadores de Cloud Build
- Cree la cuenta de servicio de Citrix Cloud en el mismo proyecto que utiliza para crear una conexión de alojamiento.
-
Configure las zonas DNS para
private.googleapis.comygcr.iocomo se describe en Configuración de DNS.Zonas DNS para private-googleapis-com(/es-es/citrix-virtual-apps-desktops/2503/media/private-dns-zone.png)
Zonas DNS para gcr.io(/es-es/citrix-virtual-apps-desktops/2503/media/gcr-dns-zone.png)
-
Configure la traducción de direcciones de red (NAT) privada o utilice la conexión de servicio privada. Para obtener más información, consulte Acceder a las API de Google a través de puntos de conexión.
Conexión de servicio privada(/es-es/citrix-virtual-apps-desktops/2503/media//private-service-connect.png)
-
Si utiliza una VPC emparejada, cree un emparejamiento de zona de Cloud DNS con la VPC emparejada. Para obtener más información, consulte Crear una zona de emparejamiento.
Crear una zona de emparejamiento(/es-es/citrix-virtual-apps-desktops/2503/media/cloud-dns-zone-peering.png)
-
En los controles de servicio de VPC, configure 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 <!--NeedCopy-->
- Para la cuenta de servicio de Citrix Cloud™, agregue los siguientes roles de IAM:
Habilitar el grupo de trabajadores privado
Para habilitar el grupo de trabajadores privado, configure las propiedades personalizadas de la siguiente manera en la conexión de host:
- Abra una ventana de PowerShell desde el host del Delivery Controller o utilice el SDK de PowerShell remoto. Para obtener más información sobre el SDK de PowerShell remoto, consulte SDK y API.
-
Ejecute los siguientes comandos:
Add-PSSnapin citrix*cd XDHyp:\Connections\dir
- Copie el
CustomPropertiesde la conexión a un bloc de notas. -
Añada la configuración de la 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, asigne una variable a las propiedades personalizadas modificadas. Por ejemplo:
$customProperty = '<CustomProperties…</CustomProperties>'. - Ejecute
$gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>". - Ejecute
$gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >". - Ejecute
$securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force. -
Ejecute 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-->
Especifique la clave CMEK global y regional
Nota:
La compatibilidad con CMEK en GCP se encuentra 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 de la misma región.
- Global: Claves de cifrado que pueden ser utilizadas por recursos de varias regiones.
Puede examinar y usar claves de cifrado administradas por el cliente (CMEK) globales o regionales de todos los proyectos a los que puede acceder la cuenta de servicio. A continuación, puede 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, consulte Crear un catálogo con CMEK mediante propiedades personalizadas.
Para esta función, necesita permisos adicionales para las dos cuentas de servicio siguientes:
- 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, consulte Agente de servicio de Compute Engine.
En las cuentas de servicio, debe asignar los siguientes roles en el proyecto que tiene las claves criptográficas que desea utilizar (por ejemplo, proyecto compartido):
- Visor de Cloud KMS
- Cifrador/descifrador de claves criptográficas de Cloud KMS
Si no asigna los roles, asegúrese 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
Puede 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:
- Abra una ventana de PowerShell desde el host de Delivery Controller™ o PowerShell remoto.
- Ejecute el comando
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. -
Ejecute 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 <!--NeedCopy--> -
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 <!--NeedCopy-->
-
Nota:
- La extensión del elemento de inventario del llavero para un llavero global es
.globalkeyring.- El ID de los llaveros globales contiene la palabra
global.
Permisos de GCP necesarios
Esta sección contiene la lista completa de permisos de GCP. Utilice el conjunto completo de permisos que se indica en la sección para que la funcionalidad funcione correctamente.
Nota:
GCP introducirá 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, consulte Cambio de cuenta de servicio de Cloud Build. Sus proyectos de Google existentes con la API de Cloud Build habilitada antes del 29 de abril de 2024 no se verán afectados por este cambio. Sin embargo, si desea mantener el comportamiento existente del servicio de Cloud Build después del 29 de abril, puede crear o aplicar la política de la organización para deshabilitar la aplicación de restricciones antes de habilitar la API. Si establece la nueva política de la organización, aún puede seguir los permisos existentes en esta sección y los elementos marcados como Antes del cambio de cuenta de servicio de Cloud Build. Si no, siga 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:
- Compute Admin
- Cloud Datastore User
-
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:
- Compute Network User
-
En las cuentas de servicio, debe asignar los siguientes roles en el proyecto que contiene las claves criptográficas que desea utilizar (por ejemplo, proyecto compartido):
- Cloud KMS Viewer
- Cloud KMS CryptoKey Encrypter/Decrypter
Si no asigna los roles, asegúrese 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
Administració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 administració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 <!--NeedCopy-->Los siguientes roles definidos por Google tienen los permisos enumerados anteriormente:
- Administrador de Compute
- Administrador de Storage
- Editor de Cloud Build
- Usuario de cuenta de servicio
- Usuario de Cloud Datastore
-
Permisos adicionales necesarios para Shared VPC para la cuenta de servicio de Citrix Cloud en el proyecto de Shared VPC para crear una unidad de alojamiento utilizando VPC y la subred del proyecto de Shared VPC:
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 Shared VPC al descargar el disco de instrucciones de preparación a MCS:
- (Antes del cambio de 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 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 Cloud Key Management Service (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 proporcionan 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 está 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