Citrix Virtual Apps and Desktops

Environnements Google Cloud

Citrix Virtual Apps and Desktops vous permet de provisionner et de gérer des machines sur Google Cloud. Cet article vous guide à travers l’utilisation de Machine Creation Services (MCS) pour provisionner des machines virtuelles dans votre déploiement des services Citrix Virtual Apps ou Citrix Virtual Desktops.

Exigences

  • Compte Citrix Cloud. La fonctionnalité décrite dans cet article est uniquement disponible dans Citrix Cloud.
  • Abonnement à Citrix DaaS. Pour plus de détails, voir Commencer.
  • Un projet Google Cloud. Le projet stocke toutes les ressources de calcul associées au catalogue de machines. Il peut s’agir d’un projet existant ou d’un nouveau.
  • Activez quatre API dans votre projet Google Cloud. Pour plus de détails, voir Activer les API Google Cloud.
  • Compte de service Google Cloud. Le compte de service s’authentifie auprès de Google Cloud pour permettre l’accès au projet. Pour plus de détails, voir Configuration et mise à jour des comptes de service.
  • Activer l’accès privé à Google Pour plus de détails, consultez Enable-Private-Google-Access.

Activer les API Google Cloud

Pour utiliser la fonctionnalité Google Cloud via l’interface Configuration complète de Citrix Virtual Apps and Desktops, activez ces API dans votre projet Google Cloud :

  • API Compute Engine
  • API Cloud Resource Manager
  • API IAM (Identity and Access Management)
  • API Cloud Build
  • Service de gestion des clés dans le cloud (KMS)

À partir de la console Google Cloud, procédez comme suit :

  1. Dans le menu supérieur gauche, sélectionnez API et Services > Tableau de bord.

    Image de sélection du tableau de bord API et services

  2. Dans l’écran Tableau de bord, assurez-vous que l’API Compute Engine est activée. Si ce n’est pas le cas, procédez comme suit :

    1. Accédez à API et Services > Bibliothèque.

      Image de la bibliothèque API et services

    2. Dans la zone de recherche, tapez Compute Engine.

    3. Dans les résultats de la recherche, sélectionnez API Compute Engine.

    4. Sur la page API Compute Engine, sélectionnez Activer.

  3. Activez l’API Cloud Resource Manager.

    1. Accédez à API et Services > Bibliothèque.

    2. Dans le champ de recherche, tapez Cloud Resource Manager.

    3. Dans les résultats de la recherche, sélectionnez Cloud Resource Manager API.

    4. Sur la page API Cloud Resource Manager, sélectionnez Activer. L’état de l’API s’affiche.

  4. Activez API IAM (Identity and Access Management) et API Cloud Build de la même façon.

Vous pouvez également utiliser Google Cloud Shell pour activer les API. Pour ce faire :

  1. Ouvrez la console Google et chargez Cloud Shell.
  2. Exécutez les quatre commandes suivantes dans Cloud Shell :

    • gcloud services enable compute.googleapis.com
    • gcloud services enable cloudresourcemanager.googleapis.com
    • gcloud services enable iam.googleapis.com
    • gcloud services enable cloudbuild.googleapis.com
  3. Cliquez sur Authorize si Cloud Shell vous y invite.

Configuration et mise à jour des comptes de service

Remarque :

GCP apporte des modifications au comportement par défaut du service Cloud Build et à l’utilisation des comptes de service après le 29 avril 2024. Pour plus d’informations, consultez la page Modification d’un compte de service Cloud Build. Vos projets Google existants pour lesquels l’API Cloud Build a été activée avant le 29 avril 2024 ne sont pas concernés par cette modification. Toutefois, si vous souhaitez conserver le comportement existant du service Cloud Build après le 29 avril, vous pouvez créer ou appliquer la stratégie de l’organisation pour désactiver l’application des contraintes avant d’activer l’API Cloud Build. Par conséquent, le contenu suivant est divisé en deux : avant le 29 avril 2024 et après le 29 avril 2024. Si vous définissez la nouvelle stratégie de l’organisation, suivez la section Avant le 29 avril 2024.

Avant le 29 avril 2024

Citrix Cloud utilise trois comptes de service distincts dans le cadre du projet Google Cloud :

  • Compte de service Citrix Cloud : ce compte de service permet à Citrix Cloud d’accéder au projet Google, de provisionner et de gérer des machines. Ce compte de service s’authentifie auprès de Google Cloud à l’aide d’une clé générée par Google Cloud.

    Vous devez créer ce compte de service manuellement comme indiqué ici. Pour plus d’informations, consultez Créer un compte Citrix Cloud Service.

    Vous pouvez identifier ce compte de service à l’aide d’une adresse e-mail. Par exemple, <my-service-account>@<project-id>.iam.gserviceaccount.com.

  • Compte de service Cloud Build : ce compte de service est automatiquement provisionné une fois que vous avez activé toutes les API mentionnées dans Activer les API Google Cloud. Pour afficher tous les comptes de service créés automatiquement, accédez à IAM & Admin > IAM dans la console Google Cloud et cochez la case Include Google-provided role grants.

    Vous pouvez identifier ce compte de service par une adresse e-mail commençant par l’ID du projet et le mot cloudbuild. Par exemple, <project-id>@cloudbuild.gserviceaccount.com

    Vérifiez si les rôles suivants ont été attribués au compte de service. Si vous devez ajouter des rôles, suivez les étapes décrites dans la section Ajouter des rôles au compte de service Cloud Build.

    • Compte de service Cloud Build
    • Administrateur d’instances Compute
    • Utilisateur du compte de service
  • Compte de service Cloud Compute : ce compte de service est ajouté par Google Cloud aux instances créées dans Google Cloud une fois l’API Compute activée. Ce compte possède le rôle d’éditeur de base IAM pour effectuer les opérations. Toutefois, si vous supprimez l’autorisation par défaut pour bénéficier d’un contrôle plus précis, vous devez ajouter le rôle Administrateur de l’espace de stockage qui requiert les autorisations suivantes :

    • resourcemanager.projects.get
    • storage.objects.create
    • storage.objects.get
    • storage.objects.list

Vous pouvez identifier ce compte de service par une adresse e-mail commençant par l’ID du projet et le mot compute. Par exemple, <project-id>-compute@developer.gserviceaccount.com.

Créer un compte Citrix Cloud Service

Pour créer un compte Citrix Cloud Service, procédez comme suit :

  1. Dans la console Google Cloud, accédez à IAM et administration > Comptes de service.
  2. Sur la page Comptes de service, sélectionnez CRÉER UN COMPTE DE SERVICE.
  3. Sur la page Créer un compte de service, entrez les informations requises, puis sélectionnez CRÉER ET CONTINUER.
  4. Sur la page Autoriser ce compte de service à accéder au projet, cliquez sur le menu déroulant Sélectionner un rôle et sélectionnez les rôles requis. Cliquez sur +AJOUTER UN AUTRE RÔLE si vous souhaitez ajouter d’autres rôles.

    Chaque compte (personnel ou service) a différents rôles définissant la gestion du projet. Attribuez les rôles suivants à ce compte de service :

    • Administrateur informatique
    • Administrateur de l’espace de stockage
    • Éditeur Cloud Build
    • Utilisateur du compte de service
    • Utilisateur de Cloud Datastore
    • Opérateur de cryptage Cloud KMS

    L’opérateur de cryptage Cloud KMS a besoin des autorisations suivantes :

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list

    Remarque :

    Activez toutes les API pour obtenir la liste complète des rôles disponibles lors de la création d’un nouveau compte de service.

  5. Cliquez sur CONTINUER
  6. Sur la page Autoriser les utilisateurs à accéder à ce compte de service, ajoutez des utilisateurs ou des groupes pour leur permettre d’effectuer des actions dans ce compte de service.
  7. Cliquez sur OK.
  8. Accédez à la console principale IAM.
  9. Identifiez le compte de service créé.
  10. Vérifiez que les rôles sont correctement assignés.

Considérations :

Lors de la création du compte de service, tenez compte des éléments suivants :

  • Les étapes Autoriser ce compte de service à accéder au projet et Autoriser les utilisateurs à accéder à ce compte de service sont facultatives. Si vous choisissez d’ignorer ces étapes de configuration facultatives, le compte de service nouvellement créé ne s’affiche pas dans la page IAM et administration > IAM.
  • Pour afficher les rôles associés à un compte de service, ajoutez les rôles sans ignorer les étapes facultatives. Ce processus garantit que les rôles apparaissent pour le compte de service configuré.

Clé de compte Citrix Cloud Service

La clé de compte Citrix Cloud Service est requise pour créer une connexion dans Citrix DaaS. La clé est contenue dans un fichier d’informations d’identification (.json). Une fois la clé créée, le fichier est automatiquement téléchargé et enregistré dans le dossier Téléchargements. Lorsque vous créez la clé, assurez-vous de définir le type de clé sur JSON. Sinon, l’interface Configuration complète de Citrix ne peut pas l’analyser.

Pour créer une clé de compte de service, accédez à IAM & Admin > Service accounts, puis cliquez sur l’adresse e-mail du compte de service Citrix Cloud. Passez à l’onglet Keys et sélectionnez Add Key > Create new key. Assurez-vous de sélectionner JSON comme type de clé.

Conseil :

Créez des clés à l’aide de la page Comptes de service de la console Google Cloud. Nous vous recommandons de modifier régulièrement les clés pour des raisons de sécurité. Pour fournir de nouvelles clés à l’application Citrix Virtual Apps and Desktops, modifiez une connexion Google Cloud existante.

Ajouter des rôles au compte Citrix Cloud Service

Pour ajouter des rôles au compte Citrix Cloud Service, procédez comme suit :

  1. Dans la console Google Cloud, accédez à IAM et administration > IAM.
  2. Sur la page IAM > AUTORISATIONS, recherchez le compte de service que vous avez créé, identifiable grâce à une adresse e-mail.

    Par exemple, <my-service-account>@<project-id>.iam.gserviceaccount.com

  3. Sélectionnez l’icône en forme de crayon pour modifier l’accès au compte principal du compte de service.
  4. Sur la page Modifier l’accès à « identifiant du projet » pour l’option de compte principal sélectionnée, sélectionnez AJOUTER UN AUTRE RÔLE pour ajouter les rôles requis à votre compte de service un par un, puis sélectionnez ENREGISTRER.

Ajouter des rôles au compte de service Cloud Build

Pour ajouter des rôles au compte de service Cloud Build :

  1. Dans la console Google Cloud, accédez à IAM et administration > IAM.
  2. Sur la page IAM, recherchez le compte de service Cloud Build, identifiable par une adresse e-mail commençant par l’ID du projet et le mot cloudbuild.

    Par exemple, <project-id>@cloudbuild.gserviceaccount.com

  3. Sélectionnez l’icône en forme de crayon pour modifier les rôles du compte Cloud Build.
  4. Sur la page Modifier l’accès à « identifiant du projet » pour l’option de compte principal sélectionnée, sélectionnez AJOUTER UN AUTRE RÔLE pour ajouter les rôles requis à votre compte de service Cloud Build un par un, puis sélectionnez ENREGISTRER.

    Remarque :

    Activez toutes les API pour obtenir la liste complète des rôles.

Après le 29 avril 2024

Citrix Cloud utilise deux comptes de service distincts dans le cadre du projet Google Cloud :

  • Compte de service Citrix Cloud : ce compte de service permet à Citrix Cloud d’accéder au projet Google, de provisionner et de gérer des machines. Ce compte de service s’authentifie auprès de Google Cloud à l’aide d’une clé générée par Google Cloud.

    Vous devez créer ce compte de service manuellement.

    Vous pouvez identifier ce compte de service à l’aide d’une adresse e-mail. Par exemple, <my-service-account>@<project-id>.iam.gserviceaccount.com.

  • Compte de service Cloud Compute : ce compte de service est automatiquement provisionné une fois que vous avez activé toutes les API mentionnées dans Activer les API Google Cloud. Pour afficher tous les comptes de service créés automatiquement, accédez à IAM & Admin > IAM dans la console Google Cloud et cochez la case Include Google-provided role grants. Ce compte possède le rôle d’éditeur de base IAM pour effectuer les opérations. Toutefois, si vous supprimez l’autorisation par défaut pour bénéficier d’un contrôle plus précis, vous devez ajouter le rôle Administrateur de l’espace de stockage qui requiert les autorisations suivantes :

    • resourcemanager.projects.get
    • storage.objects.create
    • storage.objects.get
    • storage.objects.list

    Vous pouvez identifier ce compte de service par une adresse e-mail commençant par l’ID du projet et le mot compute. Par exemple, <project-id>-compute@developer.gserviceaccount.com.

    Vérifiez si les rôles suivants ont été attribués au compte de service.

    • Compte de service Cloud Build
    • Administrateur d’instances Compute
    • Utilisateur du compte de service

Créer un compte Citrix Cloud Service

Pour créer un compte Citrix Cloud Service, procédez comme suit :

  1. Dans la console Google Cloud, accédez à IAM et administration > Comptes de service.
  2. Sur la page Comptes de service, sélectionnez CRÉER UN COMPTE DE SERVICE.
  3. Sur la page Créer un compte de service, entrez les informations requises, puis sélectionnez CRÉER ET CONTINUER.
  4. Sur la page Autoriser ce compte de service à accéder au projet, cliquez sur le menu déroulant Sélectionner un rôle et sélectionnez les rôles requis. Cliquez sur +AJOUTER UN AUTRE RÔLE si vous souhaitez ajouter d’autres rôles.

    Chaque compte (personnel ou service) a différents rôles définissant la gestion du projet. Attribuez les rôles suivants à ce compte de service :

    • Administrateur informatique
    • Administrateur de l’espace de stockage
    • Éditeur Cloud Build
    • Utilisateur du compte de service
    • Utilisateur de Cloud Datastore
    • Opérateur de cryptage Cloud KMS

    L’opérateur de cryptage Cloud KMS a besoin des autorisations suivantes :

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list

    Remarque :

    Activez toutes les API pour obtenir la liste complète des rôles disponibles lors de la création d’un nouveau compte de service.

  5. Cliquez sur CONTINUER
  6. Sur la page Autoriser les utilisateurs à accéder à ce compte de service, ajoutez des utilisateurs ou des groupes pour leur permettre d’effectuer des actions dans ce compte de service.
  7. Cliquez sur OK.
  8. Accédez à la console principale IAM.
  9. Identifiez le compte de service créé.
  10. Vérifiez que les rôles sont correctement assignés.

Considérations :

Lors de la création du compte de service, tenez compte des éléments suivants :

  • Les étapes Autoriser ce compte de service à accéder au projet et Autoriser les utilisateurs à accéder à ce compte de service sont facultatives. Si vous choisissez d’ignorer ces étapes de configuration facultatives, le compte de service nouvellement créé ne s’affiche pas dans la page IAM et administration > IAM.
  • Pour afficher les rôles associés à un compte de service, ajoutez les rôles sans ignorer les étapes facultatives. Ce processus garantit que les rôles apparaissent pour le compte de service configuré.

Clé de compte Citrix Cloud Service

La clé de compte Citrix Cloud Service est requise pour créer une connexion dans Citrix DaaS. La clé est contenue dans un fichier d’informations d’identification (.json). Une fois la clé créée, le fichier est automatiquement téléchargé et enregistré dans le dossier Téléchargements. Lorsque vous créez la clé, assurez-vous de définir le type de clé sur JSON. Sinon, l’interface Configuration complète de Citrix ne peut pas l’analyser.

Pour créer une clé de compte de service, accédez à IAM & Admin > Service accounts, puis cliquez sur l’adresse e-mail du compte de service Citrix Cloud. Passez à l’onglet Keys et sélectionnez Add Key > Create new key. Assurez-vous de sélectionner JSON comme type de clé.

Conseil :

Créez des clés à l’aide de la page Comptes de service de la console Google Cloud. Nous vous recommandons de modifier régulièrement les clés pour des raisons de sécurité. Pour fournir de nouvelles clés à l’application Citrix Virtual Apps and Desktops, modifiez une connexion Google Cloud existante.

Ajouter des rôles au compte Citrix Cloud Service

Pour ajouter des rôles au compte Citrix Cloud Service, procédez comme suit :

  1. Dans la console Google Cloud, accédez à IAM et administration > IAM.
  2. Sur la page IAM > AUTORISATIONS, recherchez le compte de service que vous avez créé, identifiable grâce à une adresse e-mail.

    Par exemple, <my-service-account>@<project-id>.iam.gserviceaccount.com

  3. Sélectionnez l’icône en forme de crayon pour modifier l’accès au compte principal du compte de service.
  4. Sur la page Modifier l’accès à « identifiant du projet » pour l’option de compte principal sélectionnée, sélectionnez AJOUTER UN AUTRE RÔLE pour ajouter les rôles requis à votre compte de service un par un, puis sélectionnez ENREGISTRER.

Ajouter des rôles au compte de service Cloud Compute

Pour ajouter des rôles au compte de service Cloud Compute :

  1. Dans la console Google Cloud, accédez à IAM et administration > IAM.
  2. Sur la page IAM, recherchez le compte de service Cloud Build, identifiable par une adresse e-mail commençant par l’ID du projet et le mot cloudbuild.

    Par exemple, <project-id>-compute@developer.gserviceaccount.com

  3. Sélectionnez l’icône en forme de crayon pour modifier les rôles du compte Cloud Build.
  4. Sur la page Modifier l’accès à « identifiant du projet » pour l’option de compte principal sélectionnée, sélectionnez AJOUTER UN AUTRE RÔLE pour ajouter les rôles requis à votre compte de service Cloud Build un par un, puis sélectionnez ENREGISTRER.

    Remarque :

    Activez toutes les API pour obtenir la liste complète des rôles.

Autorisations de stockage et gestion des buckets

Citrix DaaS améliore le processus de signalement d’échecs Cloud Build pour le service Google Cloud. Ce service exécute des builds sur Google Cloud. Citrix DaaS crée un bucket de stockage nommé citrix-mcs-cloud-build-logs-{region}-{5 random characters} dans lequel les services Google Cloud capturent les informations de journal de build. Une option qui supprime le contenu après une période de 30 jours est définie sur ce bucket. Ce processus nécessite que les autorisations Google Cloud du compte de service utilisé pour la connexion soient définies sur storage.buckets.update. Si le compte de service ne dispose pas de cette autorisation, Citrix DaaS ignore les erreurs et poursuit le processus de création du catalogue. Sans cette autorisation, la taille des journaux de build augmente et nécessite un nettoyage manuel.

Activer l’accès privé à Google

Lorsqu’une machine virtuelle ne dispose pas d’une adresse IP externe affectée à son interface réseau, les paquets ne sont envoyés qu’à d’autres destinations d’adresses IP internes. Lorsque vous activez l’accès privé, la machine virtuelle se connecte à l’ensemble d’adresses IP externes utilisées par l’API Google et les services associés.

Remarque :

Que l’accès privé à Google soit activé ou non, toutes les machines virtuelles dotées ou non d’adresses IP publiques doivent pouvoir accéder aux API publiques de Google, en particulier si des appliances réseau tiers ont été installés dans l’environnement.

Pour vous assurer qu’une machine virtuelle de votre sous-réseau peut accéder aux API Google sans adresse IP publique pour le provisioning MCS :

  1. Dans Google Cloud, accédez à la configuration du réseau VPC.
  2. Dans l’écran Détails du sous-réseau, activez Accès privé à Google.

Accès privé à Google

Pour plus d’informations, consultez Configuration de l’accès privé à Google.

Important :

Si votre réseau est configuré pour empêcher l’accès des machines virtuelles à Internet, assurez-vous que votre organisation assume les risques associés à l’activation de l’accès privé à Google pour le sous-réseau auquel la machine virtuelle est connectée.

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.

Préparer une instance de machine virtuelle principale et un disque persistant

Conseil :

« Disque persistant » est le terme Google Cloud désignant un disque virtuel.

Pour préparer votre instance de machine virtuelle principale, créez et configurez une instance de machine virtuelle avec des propriétés correspondant à la configuration souhaitée pour les instances de VDA clonées dans votre catalogue de machines planifié. La configuration ne s’applique pas uniquement à la taille et au type d’instance. Elle inclut également des attributs d’instance tels que les métadonnées, les balises, les attributions de GPU, les balises réseau et les propriétés de compte de service.

Dans le cadre du processus de création d’images, MCS utilise votre instance de machine virtuelle principale pour créer le modèle d’instance Google Cloud. Le modèle d’instance est ensuite utilisé pour créer les instances de VDA clonées qui composent le catalogue de machines. Les instances clonées héritent des propriétés de l’instance de machine virtuelle principale (à l’exception des propriétés VPC, du sous-réseau et du disque persistant) à partir de laquelle le modèle d’instance a été créé.

Après avoir configuré les propriétés de l’instance de machine virtuelle principale en fonction de vos besoins spécifiques, démarrez l’instance, puis préparez le disque persistant pour l’instance.

Nous vous recommandons de créer manuellement un instantané du disque. Cela vous permet d’utiliser une convention d’appellation significative pour suivre les versions, vous offre plus d’options pour gérer les versions antérieures de votre image principale et vous permet de gagner du temps pour la création du catalogue de machines. Si vous ne créez pas votre propre instantané, MCS crée un instantané temporaire pour vous (qui est supprimé à la fin du processus de provisioning).

Créer un catalogue de machines

Remarque :

Créez vos ressources avant de créer un catalogue de machines. Utilisez les conventions de dénomination établies par Google Cloud lors de la configuration des catalogues de machines. Pour plus d’informations, consultez Consignes de dénomination des buckets.

Suivez les instructions de la section Créer des catalogues de machines. Studio ne prend pas en charge la création de catalogues Google Cloud pour l’instant. Utilisez PowerShell à la place.

Créer un catalogue de machines à l’aide d’un profil de machine

Lorsque vous créez un catalogue pour provisionner des machines à l’aide de Machine Creation Services (MCS), vous pouvez utiliser un profil de machine pour capturer les propriétés matérielles d’une machine virtuelle et les appliquer aux machines virtuelles nouvellement provisionnées dans le catalogue. Lorsque le paramètre MachineProfile n’est pas utilisé, les propriétés matérielles sont capturées à partir de la machine virtuelle ou de l’instantané de l’image principale. Certaines propriétés que vous définissez explicitement, par exemple StorageType, CatalogZones et CryptoKeyIs, ne sont pas prises en compte dans le profil de machine.

  • Pour créer un catalogue avec un profil de machine, utilisez la commande New-ProvScheme. Par exemple, New-ProvScheme –MachineProfile "path to VM". Si vous ne spécifiez pas le paramètre MachineProfile, les propriétés matérielles sont capturées à partir de la machine virtuelle de l’image principale.
  • Pour mettre à jour un catalogue avec un nouveau profil de machine, utilisez la commande Set-ProvScheme. Par exemple, Set-ProvScheme –MachineProfile "path to new VM". Cette commande ne modifie pas le profil de machine des machines virtuelles existantes dans le catalogue. Seules les machines virtuelles nouvellement créées ajoutées au catalogue ont le nouveau profil de machine.
  • Vous pouvez également mettre à jour l’image principale, mais lorsque vous mettez à jour l’image principale, les propriétés matérielles ne sont pas mises à jour. Si vous souhaitez mettre à jour les propriétés matérielles, vous devez mettre à jour le profil de machine à l’aide de la commande Set-ProvScheme. Ces modifications ne s’appliqueront qu’aux nouvelles machines du catalogue. Pour mettre à jour les propriétés matérielles d’une machine existante, vous pouvez utiliser la commande Request-ProvVMUpdate.

Gérer un catalogue de machines

Pour ajouter des machines à un catalogue, mettre à jour des machines et restaurer une mise à jour, consultez Gérer des catalogues de machines.

Gestion de l’alimentation

Citrix DaaS vous permet de gérer l’alimentation des machines Google Cloud. Utilisez le nœud Rechercher dans le volet de navigation pour localiser la machine dont vous souhaitez gérer l’alimentation. Les actions de gestion de l’alimentation suivantes sont disponibles :

  • Supprimer
  • Démarrer
  • Redémarrer
  • Forcer le redémarrage
  • Arrêter
  • Forcer l’arrêt
  • Ajouter au groupe de mise à disposition
  • Gérer les balises
  • Activer le mode de maintenance

Vous pouvez également gérer l’alimentation des machines Google Cloud à l’aide de la fonctionnalité Autoscale. Pour ce faire, ajoutez les machines Google Cloud à un groupe de mise à disposition, puis activez la fonctionnalité Autoscale pour ce groupe de mise à disposition. Pour plus d’informations sur la fonctionnalité Autoscale, consultez la section Autoscale.

Mettre à jour les machines provisionnées à l’aide de PowerShell

La commande Set-ProvScheme modifie le schéma de provisioning. Toutefois, ce script n’affecte pas les machines existantes. À l’aide de la commande PowerShell Request-ProvVMUpdate, vous pouvez désormais appliquer le schéma de provisioning actuel à une machine ou à un ensemble de machines persistant ou non persistant existant. Actuellement, dans GCP, la mise à jour des propriétés prise en charge par cette fonctionnalité est le profil de machine.

Vous pouvez mettre à jour :

  • une seule machine virtuelle ;
  • une liste des machines virtuelles spécifiques ou toutes les machines virtuelles existantes associées à un ID de schéma de provisioning ;
  • une liste des machines virtuelles spécifiques ou toutes les machines virtuelles existantes associées à un nom de schéma de provisioning.

Pour mettre à jour les machines virtuelles existantes :

  1. Vérifiez la configuration des machines existantes. Par exemple,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Mettez à jour le schéma de provisioning. Par exemple,

    `Set-ProvScheme –ProvisioningSchemeName "my-catalog" –MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofileinstance.vm"
    <!--NeedCopy-->
    
  3. Vérifiez si la propriété actuelle de la machine virtuelle correspond au schéma de provisioning actuel et s’il existe une action de mise à jour en attente sur la machine virtuelle. Par exemple,

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    Vous pouvez également rechercher les machines avec une version particulière. Par exemple,

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  4. Mettez à jour les machines existantes.
    • Pour mettre à jour toutes les machines existantes :

       Request-ProvVMUpdate –ProvisioningSchemeName "my-catalog"
       <!--NeedCopy-->
      
    • Pour mettre à jour une liste de machines spécifiques :

       Request-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      
    • Pour mettre à jour les machines en fonction de la sortie de Get-ProvVM :

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Request-ProvVMUpdate
       <!--NeedCopy-->
      
  5. Recherchez les machines pour lesquelles une mise à jour est planifiée. Par exemple,

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  6. Redémarrez les machines. Lors de la prochaine mise sous tension, les modifications de propriétés sont appliquées aux machines existantes. Vous pouvez vérifier l’état actualisé à l’aide de la commande suivante :

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

Protection contre la suppression accidentelle de machine

Citrix DaaS vous permet de protéger les ressources MCS sur Google Cloud pour empêcher toute suppression accidentelle. Configurez la machine virtuelle provisionnée en définissant l’indicateur deletionProtection sur TRUE.

Par défaut, les machines virtuelles provisionnées via le plug-in MCS ou Google Cloud sont créées avec InstanceProtection activé. La mise en œuvre est applicable aux catalogues persistants et non persistants. Les catalogues non persistants sont mis à jour lorsque les instances sont recréées à partir du modèle. Pour les machines persistantes existantes, vous pouvez définir l’indicateur dans la console Google Cloud. Pour plus d’informations sur la définition de l’indicateur, consultez le site de documentation Google. Les nouvelles machines ajoutées aux catalogues persistants sont créées avec deletionProtection activé.

Si vous tentez de supprimer une instance de machine virtuelle pour laquelle vous avez défini l’indicateur deletionProtection, la demande échoue. Toutefois, si l’autorisation compute.instances.setDeletionProtection vous est accordée ou si le rôle IAM Administrateur de Compute vous est attribué, vous pouvez réinitialiser l’indicateur pour autoriser la suppression de la ressource.

Importer des machines Google Cloud créées manuellement

Vous pouvez créer une connexion à Google Cloud, puis créer un catalogue contenant des machines Google Cloud. Vous pouvez ensuite mettre sous tension les machines Google Cloud manuellement via Citrix DaaS. Avec cette fonctionnalité, vous pouvez :

  • Importer des machines Google Cloud avec OS multi-session créées manuellement dans un catalogue de machines Citrix Virtual Apps and Desktops.
  • Supprimer les machines Google Cloud avec OS multi-session créées manuellement d’un catalogue Citrix Virtual Apps and Desktops.
  • Utiliser les fonctionnalités de gestion de l’alimentation Citrix Virtual Apps and Desktops existantes pour gérer l’alimentation des machines Google Cloud avec OS multi-session. Par exemple, définissez un programme de redémarrage pour ces machines.

Cette fonctionnalité ne nécessite aucune modification du workflow de provisioning Citrix Virtual Apps and Desktops existant, ni la suppression de toute fonctionnalité existante. Nous vous recommandons d’utiliser MCS pour provisionner des machines dans l’interface Configuration complète de Citrix DaaS au lieu d’importer des machines Google Cloud créées manuellement.

Cloud privé virtuel partagé

Les Virtual Private Cloud (VPC) partagés comprennent un projet hôte, à partir duquel les sous-réseaux partagés sont mis à disposition, et un ou plusieurs projets de service utilisant la ressource. Les VPC partagés sont des options souhaitables pour les installations de grande envergure, car ils fournissent un contrôle, une utilisation et une administration centralisés des ressources partagées de Google Cloud d’entreprise. Pour plus d’informations, consultez le site de la documentation Google.

Grâce à cette fonctionnalité, Machine Creation Services (MCS) prend en charge le provisioning et la gestion des catalogues de machines déployés sur des VPC partagés. Cette prise en charge, qui est fonctionnellement équivalente à celle actuellement fournie dans les VPC locaux, diffère par deux aspects :

  1. Vous devez accorder des autorisations supplémentaires au compte de service utilisé pour créer la connexion hôte. Ce processus permet à MCS d’accéder aux ressources VPC partagées et de les utiliser.
  2. Vous devez créer deux règles de pare-feu, une pour l’entrée et la sortie. Ces règles de pare-feu sont utilisées pendant le processus de mastering des images.

Nouvelles autorisations requises

Un compte de service Google Cloud avec des autorisations spécifiques est requis lors de la création de la connexion hôte. Ces autorisations supplémentaires doivent être accordées à tous les comptes de service utilisés pour créer des connexions d’hôte basées sur un VPC partagé.

Conseil :

Ces autorisations supplémentaires ne sont pas nouvelles pour Citrix DaaS. Elles sont utilisées pour faciliter la mise en œuvre de VPC locaux. Avec les VPC partagés, ces autorisations supplémentaires permettent l’accès à d’autres ressources VPC partagées.

Un maximum de quatre autorisations supplémentaires doivent être accordées au compte de service associé à la connexion hôte pour prendre en charge un VPC partagé :

  1. compute.firewalls.list - Cette autorisation est obligatoire. Elle permet à MCS de récupérer la liste des règles de pare-feu présentes sur le VPC partagé.
  2. compute.networks.list - Cette autorisation est obligatoire. Elle permet à MCS d’identifier les réseaux VPC partagés disponibles pour le compte de service.
  3. compute.subnetworks.list - Cette autorisation est facultative en fonction de la façon dont vous utilisez les VPC. Elle permet à MCS d’identifier les sous-réseaux dans les VPC partagés visibles. Cette autorisation est déjà requise lors de l’utilisation de VPC locaux, mais doit également être attribuée dans le projet Hôte VPC partagé.
  4. compute.subnetworks.use - Cette autorisation est facultative en fonction de la façon dont vous utilisez les VPC. Elle est nécessaire pour utiliser des ressources de sous-réseau dans les catalogues de machines provisionnées. Cette autorisation est déjà requise pour utiliser des VPC locaux, mais doit également être attribuée dans le projet hôte VPC partagé.

Lorsque vous utilisez ces autorisations, gardez à l’esprit qu’il existe différentes approches basées sur le type d’autorisation utilisé pour créer le catalogue de machines :

  • Autorisation au niveau du projet :
    • Permet l’accès à tous les VPC partagés au sein du projet hôte.
    • Nécessite que les autorisations #3 et #4 soient affectées au compte de service.
  • Autorisation au niveau du sous-réseau :
    • Permet l’accès à des sous-réseaux spécifiques dans le VPC partagé.
    • Les autorisations #3 et #4 sont intrinsèques à l’affectation au niveau du sous-réseau et n’ont donc pas besoin d’être affectées directement au compte de service.

Sélectionnez l’approche qui correspond aux besoins et aux normes de sécurité de votre organisation.

Conseil :

Pour plus d’informations sur les différences entre les autorisations au niveau du projet et au niveau du sous-réseau, consultez la documentation Google Cloud.

Règles de pare-feu

Lors de la préparation d’un catalogue de machines, une image de machine est préparée pour servir de disque système d’image principale pour le catalogue. Lors de ce processus, le disque est temporairement attaché à une machine virtuelle. Cette machine virtuelle doit s’exécuter dans un environnement isolé qui empêche tout le trafic réseau entrant et sortant. Pour cela, une paire de règles de pare-feu deny-all est utilisée : une pour le trafic d’entrée et une pour le trafic de sortie. Lors de l’utilisation de VCP locaux Google Cloud, MCS crée ce pare-feu sur le réseau local et l’applique à la machine pour le mastering. Une fois le mastering terminé, la règle de pare-feu est supprimée de l’image.

Nous vous recommandons de limiter au minimum le nombre de nouvelles autorisations requises pour utiliser des VPC partagés. Les VPC partagés sont des ressources d’entreprise de plus haut niveau et ont généralement des protocoles de sécurité plus stricts. Pour cette raison, créez une paire de règles de pare-feu dans le projet hôte sur les ressources VPC partagées, une pour l’entrée et une pour la sortie. Attribuez-leur la priorité la plus élevée. Appliquez une nouvelle balise cible à chacune de ces règles, à l’aide de la valeur suivante :

citrix-provisioning-quarantine-firewall

Lorsque MCS crée ou met à jour un catalogue de machines, il recherche les règles de pare-feu contenant cette balise cible. Il examine ensuite les règles d’exactitude et les applique à la machine utilisée pour préparer l’image principale pour le catalogue. Si les règles de pare-feu sont introuvables ou si les règles sont trouvées mais que les règles ou leurs priorités sont incorrectes, un message similaire au suivant s’affiche :

"Unable to find valid INGRESS and EGRESS quarantine firewall rules for VPC <name> in project <project>. " Please ensure you have created 'deny all' firewall rules with the network tag 'citrix-provisioning-quarantine-firewall' and proper priority." "Refer to Citrix Documentation for details."

Configuration du VPC partagé

Avant d’ajouter le VPC partagé en tant que connexion hôte dans l’interface Configuration complète de Citrix DaaS, procédez comme suit pour ajouter des comptes de service à partir du projet dans lequel vous avez l’intention de provisionner :

  1. Créez un rôle IAM.
  2. Ajoutez le compte de service utilisé pour créer une connexion hôte CVAD au rôle IAM du projet hôte VPC partagé.
  3. Ajoutez le compte de service Cloud Build du projet dans lequel vous avez l’intention de provisionner au rôle IAM du projet hôte VPC partagé.
  4. Créez des règles de pare-feu.

Créer un rôle IAM

Déterminez le niveau d’accès du rôle : accès au niveau du projet ou modèle plus restreint avec accès au niveau du sous-réseau.

Accès au niveau du projet pour le rôle IAM. Pour le rôle IAM au niveau du projet, vous devez inclure les autorisations suivantes :

  • compute.firewalls.list
  • compute.networks.list
  • compute.subnetworks.list
  • compute.subnetworks.use

Pour créer un rôle IAM au niveau du projet :

  1. Dans la console Google Cloud, accédez à IAM et administration > Rôles.
  2. Sur la page Rôles, sélectionnez CRÉER UN RÔLE.
  3. Sur la page Créer un rôle, spécifiez le nom du rôle. Sélectionnez AJOUTER DES AUTORISATIONS.
    1. Sur la page Ajouter des autorisations, ajoutez des autorisations au rôle, individuellement. Pour ajouter une autorisation, tapez le nom de l’autorisation dans le champ Filtrer le tableau. Sélectionnez l’autorisation, puis sélectionnez AJOUTER.
    2. Sélectionnez Créer.

Rôle IAM au niveau du sous-réseau. Ce rôle omet l’ajout des autorisations compute.subnetworks.list et compute.subnetworks.use après avoir sélectionné CRÉER UN ROLE. Pour ce niveau d’accès IAM, les autorisations compute.firewalls.list et compute.networks.list doivent être appliquées au nouveau rôle.

Pour créer un rôle IAM au niveau du sous-réseau :

  1. Dans la console Google Cloud, accédez à Réseau VPC > VPC partagé. La page VPC partagé apparaît et affiche les sous-réseaux des réseaux VPC partagés contenus dans le projet hôte.
  2. Sur la page VPC partagé, sélectionnez le sous-réseau auquel vous souhaitez accéder.
  3. Dans l’angle supérieur droit, sélectionnez AJOUTER UN MEMBRE pour ajouter un compte de service.
  4. Sur la page Add members, procédez comme suit :
    1. Dans le champ New members, tapez le nom de votre compte de service, puis sélectionnez votre compte de service dans le menu.
    2. Sélectionnez le champ Sélectionner un rôle, puis Utilisateur de réseau Compute.
    3. Sélectionnez Enregistrer.
  5. Dans la console Google Cloud, accédez à IAM et administration > Rôles.
  6. Sur la page Rôles, sélectionnez CRÉER UN RÔLE.
  7. Sur la page Créer un rôle, spécifiez le nom du rôle. Sélectionnez AJOUTER DES AUTORISATIONS.
    1. Sur la page Ajouter des autorisations, ajoutez des autorisations au rôle, individuellement. Pour ajouter une autorisation, tapez le nom de l’autorisation dans le champ Filtrer le tableau. Sélectionnez l’autorisation, puis sélectionnez AJOUTER.
    2. Sélectionnez Créer.

Ajouter un compte de service au rôle IAM du projet hôte

Après avoir créé un rôle IAM, effectuez les étapes suivantes pour ajouter un compte de service pour le projet hôte :

  1. Dans la console Google Cloud, accédez au projet hôte, puis à IAM et admin > IAM.
  2. Sur la page IAM, sélectionnez AJOUTER pour ajouter un compte de service.
  3. Sur la page Ajouter des membres :
    1. Dans le champ New members, tapez le nom de votre compte de service, puis sélectionnez votre compte de service dans le menu.
    2. Sélectionnez un rôle, tapez le rôle IAM que vous avez créé, puis cliquez sur le rôle dans le menu.
    3. Sélectionnez Enregistrer.

Le compte de service est maintenant configuré pour le projet hôte.

Ajouter le compte de service Cloud Build au VPC partagé

Chaque abonnement Google Cloud comporte un compte de service nommé d’après le numéro d’ID du projet, suivi de cloudbuild.gserviceaccount. Par exemple : 705794712345@cloudbuild.gserviceaccount.

Vous pouvez déterminer le numéro d’ID de votre projet en sélectionnant Accueil et Tableau de bord dans la console Google Cloud :

Volet de navigation de la console Google Cloud

Recherchez le numéro de projet sous la zone Informations sur le projet de l’écran.

Procédez comme suit pour ajouter le compte de service Cloud Build au VPC partagé :

  1. Dans la console Google Cloud, accédez au projet hôte, puis à IAM et admin > IAM.
  2. Sur la page Autorisations, sélectionnez AJOUTER pour ajouter un compte.
  3. Sur la page Add members, procédez comme suit :
    1. Dans le champ Nouveaux membres, tapez le nom du compte de service Cloud Build, puis sélectionnez votre compte de service dans le menu.
    2. Sélectionnez le champ Sélectionner un rôle, tapez Computer Network User, puis sélectionnez le rôle dans le menu.
    3. Sélectionnez Enregistrer.

Créer des règles de pare-feu

Dans le cadre du processus de création d’image principale, MCS copie l’image machine sélectionnée et l’utilise pour préparer le disque système d’image principale pour le catalogue. Pendant la création d’image principale, MCS attache le disque à une machine virtuelle temporaire, qui exécute ensuite des scripts de préparation. Cette machine virtuelle doit s’exécuter dans un environnement isolé qui interdit tout trafic réseau entrant et sortant. Pour créer un environnement isolé, MCS nécessite deux règles de pare-feu deny all (une règle d’entrée et une règle de sortie). Par conséquent, créez deux règles de pare-feu dans le projet hôte comme suit :

  1. Dans la console Google Cloud, accédez au projet hôte, puis à Réseau VPC > Pare-feu.
  2. Sur la page Pare-feu, sélectionnez Créer une règle de pare-feu.
  3. Sur la page Créer une règle de pare-feu, procédez comme suit :
    • Nom. Tapez un nom pour la règle.
    • Réseau. Sélectionnez le réseau VPC partagé auquel la règle de pare-feu d’entrée s’applique.
    • Priorité. Plus la valeur est petite, plus la priorité de la règle est élevée. Nous recommandons une valeur peu élevée (par exemple, 10).
    • Sens du trafic. Sélectionnez Entrée.
    • Action en cas de correspondance. Sélectionnez Refuser.
    • Cibles. Utilisez Tags cibles spécifiés par défaut.
    • Tags cibles. Tapez citrix-provisioning-quarantine-firewall.
    • Filtre source. Utilisez Plages d’adresses IP par défaut.
    • Plages d’adresses IP sources. Tapez une plage qui correspond à tout le trafic. Tapez 0.0.0.0/0.
    • Protocoles et ports. Sélectionnez Tout refuser.
  4. Sélectionnez CRÉER pour créer la règle.
  5. Répétez les étapes 1 à 4 pour créer une autre règle. Pour Sens du trafic, sélectionnez Sortie.

Ajouter une connexion

Ajoutez une connexion aux environnements Google Cloud. Consultez la section Ajouter une connexion.

Activer la sélection de zone

Citrix Virtual Apps and Desktops prend en charge la sélection de zone. Avec la sélection de zone, vous spécifiez les zones dans lesquelles vous souhaitez créer des machines virtuelles. Avec la sélection de zone, les administrateurs peuvent placer des nœuds locataires uniques sur les zones de leur choix. Pour configurer la location unique, vous devez procéder comme suit sur Google Cloud :

  • Réserver un nœud à locataire unique Google Cloud
  • Créer l’image principale du VDA

Réservation d’un nœud à locataire unique Google Cloud

Pour réserver un nœud à locataire unique, reportez-vous à la documentation Google Cloud.

Important :

Un modèle de nœud est utilisé pour indiquer les caractéristiques de performance du système réservé dans le groupe de nœuds. Ces caractéristiques incluent le nombre de vGPU, la quantité de mémoire allouée au nœud et le type de machine utilisé pour les machines créées sur le nœud. Pour plus d’informations, consultez la documentation Google Cloud.

Création de l’image principale du VDA

Pour déployer des machines sur le nœud à locataire unique, vous devez prendre des mesures supplémentaires lors de la création d’une image de machine virtuelle principale. Les instances de machine sur Google Cloud ont une propriété appelée libellés d’affinité de nœuds. Les instances utilisées comme images principales pour les catalogues déployés sur le nœud à locataire unique nécessitent un libellé d’affinité de nœuds correspondant au nom du groupe de nœuds cible. Pour ce faire, gardez à l’esprit ce qui suit :

Remarque :

Si vous avez l’intention d’utiliser la location unique avec un VPC partagé, reportez-vous à la section Cloud privé virtuel partagé.

Définir un libellé d’affinité de nœuds lors de la création d’une instance

Pour définir le libellé d’affinité de nœuds :

  1. Dans la console Google Cloud, accédez à Compute Engine > Instances de machine virtuelle.

  2. Sur la page Instances de machine virtuelle, sélectionnez Créer une instance.

  3. Sur la page Création d’instance, tapez ou configurez les informations requises, puis sélectionnez Gestion, sécurité, disques, mise en réseau et location unique pour ouvrir le panneau des paramètres.

  4. Sous l’onglet Location unique, sélectionnez Parcourir pour afficher les groupes de nœuds disponibles dans le projet en cours. La page Nœud à locataire unique s’affiche avec une liste des groupes de nœuds disponibles.

  5. Sur la page Nœud à locataire unique, sélectionnez le groupe de nœuds applicable dans la liste, puis sélectionnez Sélectionner pour revenir à l’onglet Locataire unique. Le champ de libellés d’affinité de nœuds renseigne les informations que vous avez sélectionnées. Ce paramètre garantit que les catalogues de machines créés à partir de l’instance seront déployés dans le groupe de nœuds sélectionné.

  6. Sélectionnez Créer pour créer l’instance.

Définir un libellé d’affinité de nœuds pour une instance existante

Pour définir le libellé d’affinité de nœuds :

  1. Dans la fenêtre du terminal Google Cloud Shell, utilisez la commande gcloud compute instances pour définir un libellé d’affinité de nœuds. Vous devez inclure les informations suivantes dans la commande gcloud :

    • Nom de la machine virtuelle. Par exemple, utilisez une machine virtuelle existante nommée s*2019-vda-base.*
    • Nom du groupe de nœuds. Utilisez le nom du groupe de nœuds que vous avez créé précédemment. Par exemple, mh-sole-tenant-node-group-1.
    • Zone dans laquelle réside l’instance. Par exemple, la machine virtuelle réside dans *us-east-1b* zone.

    Par exemple, tapez la commande suivante dans la fenêtre du terminal :

    • gcloud compute instances set-scheduling "s2019-vda-base" --node-group="mh-sole-tenant-node-group-1" --zone="us-east1-b"

    Pour plus d’informations sur la commande gcloud compute instances, consultez la documentation Google Developer Tools sur https://cloud.google.com/sdk/gcloud/reference/beta/compute/instances/set-scheduling.

  2. Accédez à la page Détails de l’instance de machine virtuelle et vérifiez que le champ Affinités des nœuds est rempli avec le libellé.

Créer un catalogue de machines

Après avoir défini le libellé d’affinité des nœuds, configurez le catalogue de machines.

Aperçu : Utilisation de clés de chiffrement gérées par le client (CMEK)

Vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) pour les catalogues MCS. Lorsque vous utilisez cette fonctionnalité, vous attribuez le rôle CryptoKey Encrypter/Decrypter de Google Cloud Key Management Service à l’agent de service Compute Engine. Le compte Citrix DaaS doit disposer des autorisations correctes dans le projet où la clé est stockée. Pour plus d’informations, reportez-vous à la section Contribuer à la protection des ressources en utilisant des clés Cloud KMS.

Votre agent de service Compute Engine se présente sous la forme suivante : service-<Project _Number>@compute-system.iam.gserviceaccount.com. Ce formulaire est différent du compte de service Compute Engine par défaut.

Remarque :

Ce compte de service Compute Engine peut ne pas apparaître dans l’écran Autorisations IAM de Google Console. Dans ce cas, utilisez la commande gcloud décrite dans la section Contribuer à la protection des ressources en utilisant des clés Cloud KMS.

Attribuer des autorisations au compte Citrix DaaS

Les autorisations Google Cloud KMS peuvent être configurées de différentes manières. Vous pouvez fournir des autorisations KMS au niveau du projet ou des autorisations KMS au niveau des ressources. Pour plus d’informations, consultez la section Autorisations et rôles.

Autorisations au niveau du projet

L’une des options consiste à fournir au compte Citrix DaaS des autorisations au niveau du projet pour parcourir les ressources Cloud KMS. Pour ce faire, créez un rôle personnalisé et ajoutez les autorisations suivantes :

  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptokeys.list
  • cloudkms.cryptokeys.get

Attribuez ce rôle personnalisé à votre compte Citrix DaaS. Cela vous permet de parcourir les clés régionales du projet concerné dans l’inventaire.

Permissions au niveau des ressources

Pour l’autre option, les autorisations au niveau des ressources, dans la console Google Cloud, accédez à l’option cryptoKey que vous utilisez pour le provisioning MCS. Ajoutez un compte Citrix DaaS à un trousseau de clés ou à une clé que vous utilisez pour le provisioning de catalogue.

Conseil :

Avec cette option, vous ne pouvez pas parcourir les clés régionales de votre projet dans l’inventaire car le compte Citrix DaaS ne dispose pas d’autorisations de liste au niveau du projet sur les ressources Cloud KMS. Toutefois, vous pouvez toujours provisionner un catalogue à l’aide de CMEK en spécifiant le bon cryptoKeyId dans les propriétés ProvScheme personnalisées, décrites ci-dessous.

Provisioning avec CMEK à l’aide de propriétés personnalisées

Lorsque vous créez votre schéma de provisioning via PowerShell, spécifiez une propriété CryptoKeyId dans ProvScheme CustomProperties. Par exemple :

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="<yourCryptoKeyId>" />
</CustomProperties>'
<!--NeedCopy-->

L’élément cryptoKeyId doit être au format suivant :

projectId:location:keyRingName:cryptoKeyName

Par exemple, si vous souhaitez utiliser la clé my-example-key du trousseau de clés my-example-key-ring dans la région us-east1 et le projet avec ID my-example-project-1, vos paramètres ProvScheme personnalisés ressembleraient à :

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:us-east1:my-example-key-ring:my-example-key" />
</CustomProperties>'
<!--NeedCopy-->

Tous les disques et images provisionnés avec MCS associés à ce schéma de provisioning utilisent cette clé de chiffrement gérée par le client.

Conseil :

Si vous utilisez des clés globales, l’emplacement des propriétés du client doit indiquer global et non le nom de la région, qui dans l’exemple ci-dessus est us-east1. Par exemple : <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:global:my-example-key-ring:my-example-key" />.

Rotation des clés gérées par le client

Google Cloud ne prend pas en charge la rotation des clés sur des images ou des disques persistants existants. Une fois qu’une machine est provisionnée, elle est liée à la version clé utilisée au moment de sa création. Toutefois, une nouvelle version de la clé peut être créée et cette nouvelle clé est utilisée pour les machines ou les ressources nouvellement provisionnées créées lorsqu’un catalogue est mis à jour avec une nouvelle image principale.

Remarques importantes concernant les trousseaux de clés

Les trousseaux de clés ne peuvent pas être renommés ou supprimés. En outre, vous risquez d’entraîner des frais imprévus lors de leur configuration. Lorsque vous supprimez ou retirez un trousseau de clés, Google Cloud affiche un message d’erreur :

Sorry, you can't delete or rename keys or key rings. We were concerned about the security implications of allowing multiple keys or key versions over time to have the same resource name, so we decided to make names immutable. (And you can't delete them, because we wouldn't be able to do a true deletion--there would still have to be a tombstone tracking that this name had been used and couldn't be reused).
We're aware that this can make things untidy, but we have no immediate plans to change this.
If you want to avoid getting billed for a key or otherwise make it unavailable, you can do so by deleting all the key versions; neither keys nor key rings are billed for, just the active key versions within the keys.
<!--NeedCopy-->

Conseil :

Pour plus d’informations, consultez la section Modification ou suppression d’un trousseau de clés de la console.

Compatibilité de l’accès uniforme au niveau du bucket

Citrix DaaS est compatible avec la stratégie de contrôle Accès uniforme au niveau du bucket sur Google Cloud. Cette fonctionnalité augmente l’utilisation de la stratégie IAM qui accorde des autorisations à un compte de service pour permettre la manipulation des ressources, y compris des buckets de stockage. Avec le contrôle d’accès uniforme au niveau du bucket, Citrix DaaS vous permet d’utiliser une liste de contrôle d’accès (ACL) pour contrôler l’accès aux buckets de stockage ou aux objets qui y sont stockés. Consultez Accès uniforme au niveau du bucket pour obtenir des informations générales sur l’accès uniforme au niveau du bucket Google Cloud. Pour plus d’informations sur la configuration, voir Exiger un accès uniforme au niveau du bucket.

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.

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.

Remarque :

GCP apporte des modifications au comportement par défaut du service Cloud Build et à l’utilisation des comptes de service après le 29 avril 2024. Pour plus d’informations, consultez la page Modification d’un compte de service Cloud Build. Vos projets Google existants pour lesquels l’API Cloud Build a été activée avant le 29 avril 2024 ne sont pas concernés par cette modification. Toutefois, si vous souhaitez conserver le comportement existant du service Cloud Build après le 29 avril, vous pouvez créer ou appliquer la stratégie de l’organisation pour désactiver l’application des contraintes avant d’activer l’API. Si vous définissez la nouvelle stratégie 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. Si ce n’est pas le cas, 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 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 informatique
    • Utilisateur de 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 dans le cas où seulement des catalogues dont l’alimentation est gérée existent :

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

  • Administrateur informatique
  • Utilisateur de 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.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 suivants définis par Google disposent des autorisations répertoriées ci-dessus :

    • Administrateur informatique
    • Administrateur de l’espace de stockage
    • Éditeur Cloud Build
    • Utilisateur du compte de service
    • Utilisateur de 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 de Cloud Datastore
  • (Avant la modification du compte de service Cloud Build) : autorisations minimales requises pour le compte de service Cloud Build dans un projet Provisioning requis par le service Google Cloud Build lors du téléchargement du disque d’instructions de préparation vers MCS :

  • (Après la modification du compte de service Cloud Build) : autorisations minimales requises pour le compte de service Cloud Compute dans un projet 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 (après la modification du compte de service Cloud Build, il s’agit du compte de service Cloud Compute)
    • 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 de Cloud Datastore
  • (Avant la modification du compte de service Cloud Build) : autorisations supplémentaires requises pour VPC partagé pour le compte de service Cloud Build dans un projet Provisioning requis par le service Google Cloud Build lors du téléchargement du disque d’instructions de préparation vers MCS :
  • (Après la modification du compte de service Cloud Build) : autorisations supplémentaires requises pour VPC partagé pour le compte de service Cloud Build dans un projet 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 de 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.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
<!--NeedCopy-->

Informations supplémentaires