Citrix Virtual Apps and Desktops

Connexion à des environnements Google Cloud

La section 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. Voir Environnements Google Cloud.

Ajouter une connexion

Suivez les instructions sous Créer une connexion et des ressources. La procédure suivante vous guide tout au long de la configuration d’une connexion d’hébergement :

  1. Dans Gérer > Configuration, sélectionnez Hébergement dans le panneau de gauche.

  2. Sélectionnez Ajouter une connexion et des ressources dans le volet Actions.

  3. 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 : Tapez un nom pour la connexion.
  4. Sur la page Région, sélectionnez un nom de projet dans le menu, sélectionnez une région contenant les ressources à utiliser, puis sélectionnez Suivant.

  5. Sur la page Réseau, tapez un nom pour les ressources, sélectionnez un réseau virtuel dans le menu, sélectionnez un sous-ensemble, puis sélectionnez Suivant. Le nom des ressources facilite l’identification de la combinaison région/réseau. Les réseaux virtuels avec le suffixe (Shared) (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 entre 1 et 64 caractères, et ne peut pas contenir uniquement des espaces ou les caractères \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
  6. Sur la page Résumé, vérifiez les informations, puis sélectionnez Terminer pour quitter la fenêtre Ajouter une connexion et des ressources.

Une fois la connexion et les ressources créées, 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 appropriée 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 l’option appropriée dans la barre d’actions.

URL du point de terminaison de service

Vous devez avoir accès aux URL suivantes :

  • https://oauth2.googleapis.com
  • https://cloudresourcemanager.googleapis.com
  • https://compute.googleapis.com
  • https://storage.googleapis.com
  • https://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 du 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, uniquement d’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é de Google à vos projets Google Cloud. Cette mise en œuvre améliore la sécurité lors de la gestion des données sensibles. Pour ce faire, vous pouvez effectuer l’une des opérations suivantes :

  • Incluez les règles d’entrée suivantes de VPC Service Controls 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 travailleurs privés, ajoutez UsePrivateWorkerPool dans CustomProperties. Pour plus d’informations sur le pool de travailleurs privés, reportez-vous à la section Vue d’ensemble 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 de maintenance lors de la mise à jour des propriétés personnalisées.
  • Pour utiliser des pools de travailleurs privés, les modifications suivantes sont requises :
    • Pour un compte Citrix Cloud Service, ajoutez les rôles IAM suivants :
      • Compte de service Cloud Build
      • Administrateur d’instances Compute
      • Utilisateur du compte de service
      • Créateur de jetons de compte de service
      • Propriétaire du pool de travailleurs Cloud Build
    • Créez le compte Citrix Cloud Service 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 la section Configuration DNS.

      Zones DNS pour private-googleapis-com

      Zones DNS de gcr.io

    • Configurez la traduction d’adresses réseau (NAT) privée ou utilisez une connexion de service privée. Pour plus d’informations, consultez la section Accéder aux API Google via des points de terminaison.

      Connexion à un service privé

    • Si vous utilisez un VPC appairé, créez une zone Cloud DNS avec appairage au VPC appairé. Pour plus d’informations, consultez la section Créer une zone d’appairage.

      Créer une zone d'appairage

    • Dans les contrôles de service VPC, configurez des règles de sortie afin que les API et les machines virtuelles 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
       <!--NeedCopy-->
      

Activer le pool de nœuds de calcul privé

Pour activer le pool de nœuds de calcul 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 Delivery Controller ou utilisez le SDK Remote PowerShell. Pour plus d’informations sur le Remote PowerShell SDK, reportez-vous à la section SDK et API.
  2. Exécutez les commandes suivantes :

    1. Add-PSSnapin citrix*
    2. cd XDHyp:\Connections\
    3. dir
  3. Copiez CustomProperties depuis la connexion vers un bloc-notes.
  4. 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--> ```
    
  5. Dans la fenêtre PowerShell, attribuez une variable aux propriétés personnalisées modifiées. Par exemple : $customProperty = '<CustomProperties…</CustomProperties>'.
  6. Exécutez $gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>".
  7. Exécutez $gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >".
  8. Exécutez $securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force.
  9. Exécutez la commande suivante pour mettre à jour une connexion hôte existante :

    Set-Item -PassThru -Path @('XDHyp:\Connections\\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty
    <!--NeedCopy-->
    

Autorisations GCP requises

Cette section contient la liste complète des autorisations GCP. Utilisez l’ensemble complet d’autorisations indiqué dans la section pour que la fonctionnalité fonctionne correctement.

Création d’une connexion hôte

  • Autorisations minimales requises pour le compte de service Citrix Cloud dans un 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 suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Administrateur de Compute
    • Utilisateur Cloud Datastore
  • Autorisations supplémentaires requises pour VPC partagé pour le compte de service Citrix Cloud dans un projet VPC partagé :

     compute.networks.list
     compute.subnetworks.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    Les rôles suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Utilisateur de réseau Compute

Gestion de l’alimentation des machines virtuelles

Autorisations minimales requises pour le compte de service Citrix Cloud dans un projet de provisioning :

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
<!--NeedCopy-->

Les rôles suivants définis par Google disposent des autorisations répertoriées ci-dessus :

  • Administrateur de Compute
  • Utilisateur Cloud Datastore

Création, mise à jour ou suppression de machines virtuelles

  • Autorisations minimales requises pour le compte de service Citrix Cloud dans un 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.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.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
     <!--NeedCopy-->
    

    Les rôles suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Administrateur de Compute
    • Administrateur de l’espace de stockage
    • Éditeur Cloud Build
    • Utilisateur du compte de service
    • Utilisateur Cloud Datastore
  • Autorisations supplémentaires requises pour VPC partagé pour le compte de service Citrix Cloud dans un projet VPC partagé lors de la création d’une unité d’hébergement à l’aide de VPC et de sous-réseau depuis un 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 suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Utilisateur de réseau Compute
    • Utilisateur Cloud Datastore
  • Autorisations minimales requises pour le compte de service Cloud Build dans un projet de provisioning requis par le service Google Cloud Build lors du téléchargement du disque d’instructions de préparation vers MCS :

     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 suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Compte de service Cloud Build
    • Administrateur d’instances Compute
    • Utilisateur du compte de service
  • Autorisations minimales requises pour le compte de service Cloud Compute dans un projet de provisioning requis 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 suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Utilisateur de réseau Compute
    • Utilisateur du compte de stockage
    • Utilisateur Cloud Datastore
  • Autorisations supplémentaires requises pour VPC partagé pour le compte de service Cloud Build dans un projet de provisioning requis par le service Google Cloud Build lors du téléchargement du disque d’instructions de préparation vers MCS :

     compute.firewalls.list
     compute.networks.list
     compute.subnetworks.list
     compute.subnetworks.use
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    Les rôles suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Utilisateur de réseau Compute
    • Utilisateur du compte de stockage
    • Utilisateur Cloud Datastore
  • Autorisations supplémentaires requises pour Cloud Key Management Service (KMS) pour le compte de service Citrix Cloud dans un projet de provisioning :

     cloudkms.cryptoKeys.get
     cloudkms.cryptoKeys.list
     cloudkms.keyRings.get
     cloudkms.keyRings.list
     <!--NeedCopy-->
    

    Les rôles suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Lecteur Compute KMS

Autorisations générales

Vous trouverez ci-dessous les autorisations du compte Citrix Cloud Service dans le projet Provisioning pour toutes les fonctionnalités prises en charge dans MCS. Ces autorisations offrent la meilleure compatibilité pour 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.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.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
<!--NeedCopy-->

Autres ressources

Informations supplémentaires

Connexion à des environnements Google Cloud