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 configurer votre compte Google Cloud en tant qu’emplacement de ressource. Consultez Environnements Google Cloud.
Ajouter une connexion
- Suivez les instructions de [Créer une connexion et des ressources](/fr-fr/citrix-virtual-apps-desktops/manage-deployment/connections.html). 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 outils de provisioning Citrix™, 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 permet d’identifier la combinaison région et 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 des 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 ou les caractères
\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
- Le nom de la ressource peut contenir de 1 à 64 caractères et ne peut pas contenir uniquement des espaces vides ou 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 sélectionnez l’option applicable dans la barre d’actions.
- De même, 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 applicable 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 principalement 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 de permissions limitées dans ce projet, spécifiquement, uniquement les permissions d’utiliser le VPC.
- ## Créer un environnement sécurisé pour le trafic géré par GCP
- Vous pouvez autoriser l’accès privé de Google à vos projets Google Cloud. Cette implémentation améliore la sécurité pour gérer les données sensibles. Pour ce faire, 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 `UsePrivateWorkerPool` dans `CustomProperties`. Pour plus d’informations sur le pool de workers privé, consultez [Présentation des pools privés](https://cloud.google.com/build/docs/private-pools/private-pools-overview).
Exigences pour créer un environnement sécurisé pour le trafic géré par GCP
Les exigences 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 :
- Compte de service Cloud Build
- Administrateur d’instances Compute
- Utilisateur de compte de service
- Créateur de jetons de compte de service
- Propriétaire de pool de workers Cloud Build
- Créez le compte de service Citrix Cloud dans le même projet que celui que vous utilisez pour créer une connexion d’hébergement.
- Configurez les zones DNS pour `private.googleapis.com` et `gcr.io` comme décrit dans [Configuration DNS](https://cloud.google.com/vpc/docs/configure-private-google-access#config-domain).


- Configurez la traduction d’adresses réseau (NAT) privée ou utilisez la connexion de service privée. Pour plus d’informations, consultez [Accéder aux API Google via des points de terminaison](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis).

- 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](https://cloud.google.com/dns/docs/zones/peering-zones).

- Dans les contrôles de service VPC, configurez des règles de sortie afin que les API et les VM puissent communiquer avec Internet. Les règles d’entrée sont facultatives. Par exemple :
```
Egress Rule 1
- From:
- Identities:ANY_IDENTITY
To:
Projects =
- All projects
-
Service = Service name: All services
```
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 hôte :
- 1. Ouvrez une fenêtre PowerShell à partir de l’hôte du Delivery Controller ou utilisez le SDK PowerShell distant. Pour plus d’informations sur le SDK PowerShell distant, consultez [SDK et API](/fr-fr/citrix-daas/sdk-api.html#citrix-virtual-apps-and-desktops-remote-powershell-sdk).
- 1. Exécutez les commandes suivantes :
1. `Add-PSSnapin citrix®*`
1. `cd XDHyp:\Connections\`
1. `dir`
- Copiez les
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, attribuez une variable aux propriétés personnalisées modifiées. 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ôte existante :
Set-Item -PassThru -Path @('XDHyp:\\Connections\\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty <!--NeedCopy--> -
Spécifier la 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 les 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 des 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 compatible CMEK et mettre à jour un catalogue de machines MCS compatible CMEK existant à l’aide de la commande Set-ProvScheme. Pour plus d’informations sur la création d’un catalogue compatible 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.
- L’agent de service Compute Engine du projet actuel (qui a l’adresse e-mail :
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com). Pour plus d’informations, consultez Agent de service Compute Engine.
Dans les comptes de service, 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é) :
- Lecteur Cloud KMS
- Chiffreur/Déchiffreur de clé de chiffrement Cloud KMS
Si vous n’attribuez pas les 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`
- ### Lister les clés de chiffrement
- Vous pouvez lister les clés de chiffrement globales et régionales au sein du même projet et de tous les autres projets accessibles à l'aide des commandes PowerShell. Pour ce faire :
- Ouvrez une fenêtre PowerShell à partir de l’hôte Delivery Controller™ ou de PowerShell distant.
-
- Exécutez la commande
asnp citrix*pour charger les modules PowerShell spécifiques à Citrix.
- Exécutez la commande
-
- Exécutez la commande suivante pour lister les clés de chiffrement. Exemple :
-
Pour lister le contenu du dossier
encryptionKeys:Get-ChildItem XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder <!--NeedCopy--> -
Pour obtenir les clés de chiffrement globales au sein du 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 au sein du 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 de 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 tel qu’indiqué dans la section pour que la fonctionnalité fonctionne correctement.
Remarque :
GCP introduit des modifications au comportement par défaut des services Cloud Build et à l’utilisation des comptes de service après le 29 avril 2024. Pour plus d’informations, consultez Modification du compte de service Cloud Build. Vos projets Google existants avec l’API Cloud Build activée avant le 29 avril 2024 ne sont pas affectés par ce changement. Cependant, si vous souhaitez conserver le comportement existant du service Cloud Build après le 29 avril, vous pouvez créer ou appliquer la politique d’organisation pour désactiver l’application des contraintes avant d’activer l’API. Si vous définissez la nouvelle politique d’organisation, vous pouvez toujours suivre les autorisations existantes dans cette section et les éléments marqués Avant la modification du compte de service Cloud Build. Sinon, suivez les autorisations existantes et les éléments marqués Après la modification du compte de service Cloud Build.
Création d’une connexion d’hôte
- Autorisations minimales requises pour le compte de service Citrix Cloud dans le projet de provisionnement :
```
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 définis par Google suivants ont 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 définis par Google suivants ont les autorisations listées ci-dessus :
- Compute Network User
-
Dans les comptes de service, 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é) :
- Lecteur Cloud KMS
- Chiffreur/Déchiffreur de clé de chiffrement Cloud KMS
Si vous n’attribuez pas les 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 machines virtuelles
Autorisations minimales requises pour le compte de service Citrix Cloud dans le projet de provisionnement pour les catalogues gérés uniquement 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 Google définis suivants disposent des autorisations listées ci-dessus :
- Administrateur de calcul
-
Utilisateur Cloud Datastore
-
Création, mise à jour ou suppression de machines virtuelles
-
Autorisations minimales requises pour le compte de service Citrix Cloud dans le projet de provisionnement :
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 Google définis suivants disposent des autorisations listées ci-dessus :
- Administrateur de calcul
- Administrateur de stockage
- Éditeur Cloud Build
- Utilisateur de compte de service
- Utilisateur Cloud Datastore
-
-
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 Google définis suivants disposent des autorisations listées ci-dessus :
- Utilisateur du réseau de calcul
- Utilisateur Cloud Datastore
Autorisations minimales requises lors du téléchargement du disque d’instructions de préparation vers MCS :
- (Avant le changement de compte de service Cloud Build) : Attribuez ces autorisations au compte de service Cloud Build dans le projet de provisionnement.
- (Après le changement de compte de service Cloud Build) : Attribuez ces autorisations au compte de service Cloud Compute dans le projet de provisionnement.
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 Google définis suivants disposent des autorisations listées ci-dessus :
- Compte de service Cloud Build (après le changement de compte de service Cloud Build, il s’agit du compte de service Cloud Compute)
- Administrateur d’instances de calcul
- Utilisateur de compte de service
-
Autorisations minimales requises pour le compte de service Cloud Compute dans le projet de provisionnement, nécessaires au 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 Google définis suivants disposent des autorisations listées ci-dessus :
- Utilisateur du réseau de calcul
- Utilisateur de compte de stockage
- Utilisateur Cloud Datastore
Autorisations supplémentaires requises pour le VPC partagé lors du téléchargement du disque d’instructions de préparation vers MCS :
- (Avant le changement de compte de service Cloud Build) : Attribuez ces autorisations au compte de service Cloud Build dans le projet de provisionnement.
- (Après le changement de compte de service Cloud Build) : Attribuez ces autorisations au compte de service Cloud Compute dans le projet de provisionnement.
compute.firewalls.list compute.networks.list compute.subnetworks.list compute.subnetworks.use resourcemanager.projects.get <!--NeedCopy-->Les rôles Google définis suivants disposent des autorisations listées ci-dessus :
- Utilisateur du réseau de calcul
- Utilisateur de compte de stockage
- Utilisateur Cloud Datastore
-
Autorisations supplémentaires requises pour le service de gestion de clés Cloud (KMS) pour le compte de service Citrix Cloud dans le projet de provisionnement :
cloudkms.cryptoKeys.get cloudkms.cryptoKeys.list cloudkms.keyRings.get cloudkms.keyRings.list <!--NeedCopy-->Les rôles Google définis suivants disposent des autorisations listées ci-dessus :
- Lecteur KMS de calcul
Autorisations générales
Voici les autorisations pour le compte de service Citrix Cloud dans le projet de provisionnement pour toutes les fonctionnalités prises en charge dans MCS. Ces autorisations offrent la meilleure compatibilité à l’avenir :
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 en phase 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