Connexion aux environnements Google Cloud
Créer et gérer des connexions et des ressources décrit les assistants qui créent une connexion. Les informations suivantes couvrent les détails spécifiques aux environnements Google Cloud.
Remarque :
Avant de créer une connexion aux environnements Google Cloud, vous devez d’abord terminer la configuration de votre compte Google Cloud en tant qu’emplacement de ressources. Consultez Environnements Google Cloud.
Ajouter une connexion
Suivez les conseils de Créer une connexion et des ressources. La description suivante vous guide dans la configuration d’une connexion d’hébergement :
-
Dans Gérer > Configuration, sélectionnez Hébergement dans le volet gauche.
-
Sélectionnez Ajouter une connexion et des ressources dans la barre d’actions.
-
Sur la page Connexion, sélectionnez Créer une nouvelle connexion et Citrix provisioning™ tools, puis sélectionnez Suivant.
- Type de connexion. Sélectionnez Google Cloud dans le menu.
- Nom de la connexion. Saisissez un nom pour la connexion.
-
Sur la page Région, sélectionnez un nom de projet dans le menu, sélectionnez une région contenant les ressources que vous souhaitez utiliser, puis sélectionnez Suivant.
-
Sur la page Réseau, saisissez un nom pour les ressources, sélectionnez un réseau virtuel dans le menu, sélectionnez un sous-réseau, puis sélectionnez Suivant. Le nom de la ressource aide à identifier la combinaison région/réseau. Les réseaux virtuels avec le suffixe (Partagé) ajouté à leur nom représentent des VPC partagés. Si vous configurez un rôle IAM au niveau du sous-réseau pour un VPC partagé, seuls les sous-réseaux spécifiques du VPC partagé apparaissent dans la liste des sous-réseaux.
Remarque :
- Le nom de la ressource peut contenir de 1 à 64 caractères et ne peut pas contenir uniquement des espaces vides ni les caractères
\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
- Le nom de la ressource peut contenir de 1 à 64 caractères et ne peut pas contenir uniquement des espaces vides ni les caractères
-
Sur la page Résumé, confirmez les informations, puis sélectionnez Terminer pour quitter la fenêtre Ajouter une connexion et des ressources.
Après avoir créé la connexion et les ressources, la connexion et les ressources que vous avez créées sont répertoriées. Pour configurer la connexion, sélectionnez la connexion puis l’option appropriée dans la barre d’actions.
De la même manière, vous pouvez supprimer, renommer ou tester les ressources créées sous la connexion. Pour ce faire, sélectionnez la ressource sous la connexion, puis sélectionnez l’option appropriée dans la barre d’actions.
URL des points de terminaison de service
Vous devez avoir accès aux URL suivantes :
https://oauth2.googleapis.comhttps://cloudresourcemanager.googleapis.comhttps://compute.googleapis.comhttps://storage.googleapis.comhttps://cloudbuild.googleapis.com
Projets Google Cloud
Il existe essentiellement deux types de projets Google Cloud :
- Projet de provisioning : dans ce cas, le compte administrateur actuel est propriétaire des machines provisionnées dans le projet. Ce projet est également appelé projet local.
- Projet VPC partagé : projet dans lequel les machines créées dans le projet de provisioning utilisent le VPC du projet VPC partagé. Le compte administrateur utilisé pour le projet de provisioning dispose d’autorisations limitées dans ce projet, plus précisément uniquement des autorisations d’utilisation du VPC.
Créer un environnement sécurisé pour le trafic géré par GCP
Vous pouvez autoriser l’accès privé Google à vos projets Google Cloud. Cette implémentation renforce la sécurité pour le traitement de données sensibles. Pour cela, vous pouvez effectuer l’une des opérations suivantes :
-
Incluez les règles d’entrée suivantes des contrôles de service VPC pour le compte de service Cloud Build. Si vous effectuez cette étape, ne suivez pas les étapes ci-dessous pour créer un environnement sécurisé pour le trafic géré par 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 vous utilisez un pool de workers privé, ajoutez
UsePrivateWorkerPooldansCustomProperties. Pour plus d’informations sur le pool de workers privé, consultez Présentation des pools privés.
Conditions requises pour créer un environnement sécurisé pour le trafic géré par GCP
Les conditions requises pour créer un environnement sécurisé pour le trafic géré par GCP sont les suivantes :
- Assurez-vous que la connexion d’hébergement est en mode maintenance lors de la mise à jour des propriétés personnalisées.
- Pour utiliser des pools de workers privés, les modifications suivantes sont requises :
- Pour le compte de service Citrix Cloud™, ajoutez les rôles IAM suivants :
- Cloud Build Service Account
- Compute Instance Admin
- Service Account User
- Service Account Token Creator
- Cloud Build WorkerPool Owner
- Créez le compte de service Citrix Cloud dans le même projet que celui utilisé pour créer une connexion d’hébergement.
-
Configurez des zones DNS pour
private.googleapis.cometgcr.io, comme décrit dans Configuration DNS.

-
Configurez la traduction d’adresses réseau (NAT) privée, ou utilisez Private Service Connect. Pour plus d’informations, consultez Accéder aux API Google via des points de terminaison.

-
Si vous utilisez un VPC appairé, créez un appairage de zone Cloud DNS vers le VPC appairé. Pour plus d’informations, consultez Créer une zone d’appairage.

-
Dans les contrôles de service VPC, configurez des règles de trafic sortant (Egress) pour que les API et les VM puissent communiquer avec Internet. Les règles de trafic entrant (Ingress) sont facultatives. Par exemple :
Egress Rule 1 From: Identities:ANY_IDENTITY To: Projects = All projects Service = Service name: All services <!--NeedCopy-->
- Pour le compte de service Citrix Cloud™, ajoutez les rôles IAM suivants :
Activer le pool de workers privé
Pour activer le pool de workers privé, définissez les propriétés personnalisées comme suit sur la connexion d’hébergement :
- Ouvrez une fenêtre PowerShell depuis l’hôte Delivery Controller ou utilisez le SDK Remote PowerShell. Pour plus d’informations sur le SDK Remote PowerShell, consultez SDK et API.
-
Exécutez les commandes suivantes :
Add-PSSnapin citrix®*cd XDHyp:\Connections\dir
- Copiez
CustomPropertiesde la connexion dans un bloc-notes. -
Ajoutez le paramètre de propriété
<Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/>. Par exemple :``` <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--> ``` - Dans la fenêtre PowerShell, affectez les propriétés personnalisées modifiées à une variable. Par exemple :
$customProperty = '<CustomProperties…</CustomProperties>'. - Exécutez
$gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>". - Exécutez
$gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >". - Exécutez
$securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force. -
Exécutez la commande suivante pour mettre à jour une connexion d’hébergement existante :
Set-Item -PassThru -Path @('XDHyp:\\Connections\\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty <!--NeedCopy-->
Spécifier une clé CMEK globale et régionale
Remarque :
La prise en charge de CMEK dans GCP est actuellement en préversion.
Il existe deux types de clés de chiffrement gérées par le client (CMEK) dans GCP :
- Régionale : clés de chiffrement qui ne peuvent être utilisées que par des ressources de la même région.
- Globale : clés de chiffrement qui peuvent être utilisées par des ressources de plusieurs régions.
Vous pouvez parcourir et utiliser les clés de chiffrement gérées par le client (CMEK), globales ou régionales, à partir de tous les projets accessibles au compte de service. Vous pouvez ensuite utiliser la clé pour créer un catalogue de machines MCS activé pour CMEK et mettre à jour un catalogue de machines MCS existant activé pour CMEK à l’aide de la commande Set-ProvScheme. Pour plus d’informations sur la création d’un catalogue activé pour CMEK à l’aide de PowerShell, consultez Créer un catalogue avec CMEK à l’aide de propriétés personnalisées.
Pour cette fonctionnalité, vous avez besoin d’autorisations supplémentaires pour les deux comptes de service suivants :
- Le compte de service du projet actuel avec lequel la connexion d’hébergement est créée.
- Le Compute Engine Service Agent du projet actuel (qui possède l’adresse e-mail :
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com). Pour plus d’informations, consultez Compute Engine Service Agent.
Dans Service accounts, vous devez attribuer les rôles suivants dans le projet qui contient les clés de chiffrement que vous souhaitez utiliser (par exemple, un projet partagé) :
- Cloud KMS Viewer
- Cloud KMS CryptoKey Encrypter/Decrypter
Si vous n’attribuez pas ces rôles, assurez-vous de disposer des autorisations suivantes :
- resourcemanager.projects.get
- cloudkms.keyRings.list
- cloudkms.keyRings.get
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.cryptoKeyVersions.useToDecrypt
- cloudkms.cryptoKeyVersions.useToEncrypt
Répertorier les clés de chiffrement
Vous pouvez répertorier les clés de chiffrement globales et régionales dans le même projet et dans tous les autres projets accessibles à l’aide des commandes PowerShell. Pour ce faire :
- Ouvrez une fenêtre PowerShell depuis l’hôte Delivery Controller™ ou via Remote PowerShell.
- Exécutez la commande
asnp citrix*pour charger les modules PowerShell spécifiques à Citrix. -
Exécutez la commande suivante pour répertorier les clés de chiffrement. Exemple :
-
Pour répertorier le contenu du dossier
encryptionKeys:Get-ChildItem XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder <!--NeedCopy--> -
Pour obtenir les clés de chiffrement globales dans le même projet :
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myglobalkeyring.globalkeyring\myglobalkey.cryptokey <!--NeedCopy--> -
Pour obtenir les clés de chiffrement régionales dans le même projet :
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\regional-ring.keyring\shared-key.cryptokey <!--NeedCopy--> -
Pour obtenir les clés de chiffrement globales d’un autre projet accessible (par exemple : myanotherproject) :
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject.project\shared-global-ring.globalkeyring\shared-key.cryptokey <!--NeedCopy--> -
Pour obtenir les clés de chiffrement régionales d’un autre projet accessible (par exemple : myanotherproject) :
Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject .project.project\shared-uscentral.keyring\shared-uscentral-key.cryptokey <!--NeedCopy-->
-
Remarque :
- L’extension de l’élément d’inventaire du trousseau de clés pour un trousseau de clés global est
.globalkeyring.- L’ID des trousseaux de clés globaux contient le mot
global.
Autorisations GCP requises
Cette section contient la liste complète des autorisations GCP. Utilisez l’ensemble complet des autorisations indiqué dans cette section pour que la fonctionnalité fonctionne correctement.
Remarque :
GCP introduit des modifications du comportement par défaut de Cloud Build Services et de l’utilisation des comptes de service après le 29 avril 2024. Pour plus d’informations, consultez Cloud Build Service Account Change. Vos projets Google existants avec l’API Cloud Build activée avant le 29 avril 2024 ne sont pas affectés par ce changement. Toutefois, si vous souhaitez conserver le comportement existant de Cloud Build Service après le 29 avril, vous pouvez créer ou appliquer la stratégie d’organisation afin de désactiver l’application de la contrainte avant d’activer l’API. Si vous définissez la nouvelle stratégie d’organisation, vous pouvez continuer à suivre les autorisations existantes de cette section et les éléments marqués Before Cloud Build Service Account Change. Sinon, suivez les autorisations existantes et les éléments marqués After Cloud Build Service Account Change.
Création d’une connexion d’hébergement
-
Autorisations minimales requises pour le compte de service Citrix Cloud dans le projet de provisioning :
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-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute Admin
- Cloud Datastore User
-
Autorisations supplémentaires requises pour le VPC partagé pour le compte de service Citrix Cloud dans le projet VPC partagé :
compute.networks.list compute.subnetworks.list resourcemanager.projects.get <!--NeedCopy-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute Network User
-
Dans Service accounts, vous devez attribuer les rôles suivants dans le projet qui contient les clés de chiffrement que vous souhaitez utiliser (par exemple, un projet partagé) :
- Cloud KMS Viewer
- Cloud KMS CryptoKey Encrypter/Decrypter
Si vous n’attribuez pas ces rôles, assurez-vous de disposer des autorisations suivantes :
- resourcemanager.projects.get
- cloudkms.keyRings.list
- cloudkms.keyRings.get
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.cryptoKeyVersions.useToDecrypt
- cloudkms.cryptoKeyVersions.useToEncrypt
Gestion de l’alimentation des VM
Autorisations minimales requises pour le compte de service Citrix Cloud dans le projet de provisioning, dans le cas des catalogues uniquement gérés par l’alimentation :
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-->
Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute Admin
- Cloud Datastore User
Création, mise à jour ou suppression de VM
-
Autorisations minimales requises pour le compte de service Citrix Cloud dans le projet de provisioning :
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-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute Admin
- Storage Admin
- Cloud Build Editor
- Service Account User
- Cloud Datastore User
-
Autorisations supplémentaires requises pour le VPC partagé pour le compte de service Citrix Cloud dans le projet VPC partagé afin de créer une unité d’hébergement à l’aide du VPC et du sous-réseau du projet VPC partagé :
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-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute Network User
- Cloud Datastore User
Autorisations minimales requises lors du téléchargement du disque d’instructions de préparation vers MCS :
- (Before Cloud Build Service Account Change) : attribuez ces autorisations au compte de service Cloud Build dans le projet de provisioning.
- (After Cloud Build Service Account Change) : attribuez ces autorisations au compte de service Cloud Compute dans le projet de provisioning.
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-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Cloud Build Service Account (After Cloud Build Service Account Change, il s’agit de Cloud Compute Service Account)
- Compute Instance Admin
- Service Account User
-
Autorisations minimales requises pour le compte de service Cloud Compute dans le projet de provisioning, requises par le service Google Cloud Build lors du téléchargement du disque d’instructions de préparation vers MCS :
resourcemanager.projects.get storage.objects.create storage.objects.get storage.objects.list <!--NeedCopy-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute Network User
- Storage Account User
- Cloud Datastore User
Autorisations supplémentaires requises pour le VPC partagé lors du téléchargement du disque d’instructions de préparation vers MCS :
- (Before Cloud Build Service Account Change) : attribuez ces autorisations au compte de service Cloud Build dans le projet de provisioning.
- (After Cloud Build Service Account Change) : attribuez ces autorisations au compte de service Cloud Compute dans le projet de provisioning.
compute.firewalls.list compute.networks.list compute.subnetworks.list compute.subnetworks.use resourcemanager.projects.get <!--NeedCopy-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute Network User
- Storage Account User
- Cloud Datastore User
-
Autorisations supplémentaires requises pour Cloud Key Management Service (KMS) pour le compte de service Citrix Cloud dans le projet de provisioning :
cloudkms.cryptoKeys.get cloudkms.cryptoKeys.list cloudkms.keyRings.get cloudkms.keyRings.list <!--NeedCopy-->Les rôles prédéfinis Google suivants incluent les autorisations listées ci-dessus :
- Compute KMS Viewer
Autorisations générales
Voici les autorisations pour le compte de service Citrix Cloud dans le projet de provisioning pour toutes les fonctionnalités prises en charge dans MCS. Ces autorisations offrent la meilleure compatibilité pour la suite :
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-->
Étapes suivantes
- Si vous êtes dans le processus de déploiement initial, consultez Créer des catalogues de machines
- Pour des informations spécifiques à Google Cloud Platform (GCP), consultez Créer un catalogue Google Cloud Platform