Création d'une clé privée à l'aide de l'interface de ligne de commande Google

La présence d'une clé privée dans la console UDP est requise pour la création d'un plan VSB vers GCP.

Avant de créer une clé, vous devez installer l'interface de ligne de commande gcloud et l'initialiser. Suivez les étapes mentionnées dans les liens ci-dessous pour installer et initialiser l'outil CLI avec des autorisations d'administrateur.

Après avoir installé et initialisé gcloud dans le même environnement, procédez comme suit pour créer la clé manuellement ou exécutez le script PowerShell Windows gcp_auth_key_create.ps1 :

  1. Après avoir installé et initialisé l'outil gcloud, procédez comme suit :
    1. Testez et confirmez que l'outil gcloud a été installé en vérifiant la version à l'aide de la commande « gcloud --version ».
    2. Pendant l'initialisation, authentifiez-vous dans gcloud à l'aide d'un compte d'administrateur disposant du contrôle total sur l'organisation afin de l'associer à un projet spécifique.
    3. Définissez un projet dans lequel des instances VSB doivent être créées à l'aide de la commande « gcloud config set projet Project_ID » où ID_PROJET est un projet valide disponible dans l'organisation.
  2. Utilisez gcloud pour configurer l'accès au projet pour l'utilisateur en créant un rôle personnalisé pour le projet qui autorise les tâches liées à VSB.
  3. Pour créer un compte de service, remplacez les valeurs suivantes et exécutez la commande ci-dessous :
  4. gcloud iam service-accounts create SA_NAME --display-name="DISPLAY_NAME"

  5. Obtenez l'adresse électronique du compte de service et exécutez la commande suivante :
  6. gcloud iam service-accounts list --filter "displayName=DISPLAY_NAME"

  7. Remplacez ce qui suit :
  8. DISPLAY_NAME : nom d'affichage saisi à l'étape 3.
  9. Notez l'adresse électronique du compte de service à partir de la sortie de la commande ci-dessus ; elle possède le format ci-dessous et est représentée par SA_EMAIL dans les autres étapes :
  10. SA_NAME@PROJECT_ID.iam.gserviceaccount.com
  11. Pour créer et télécharger le fichier de clé JSON, remplacez les valeurs suivantes et exécutez la commande ci-dessous :
  12. gcloud iam service-accounts keys create KEY_FILE --iam-account=SA_EMAIL

  13. Le fichier de clé JSON contient la clé privée dont vous aurez besoin ultérieurement dans la console UDP.
  14. Pour créer un rôle personnalisé contenant les 69 autorisations requises pour la tâche VSB, remplacez les valeurs suivantes et exécutez la commande :
  15. gcloud iam roles create ROLE_NAME --project PROJECT_ID –permissions=
    compute.addresses.list,compute.addresses.use,compute.disks.create,compute.disks.createSnapshot,
    compute.disks.delete,compute.disks.get,compute.disks.use,compute.firewallPolicies.create,compute.firewallPolicies.delete,
    compute.firewallPolicies.get,compute.firewallPolicies.list,compute.firewallPolicies.update,compute.firewallPolicies.use,
    compute.firewalls.create,compute.firewalls.delete,compute.firewalls.get,compute.firewalls.list,compute.firewalls.update,
    compute.globalOperations.get,compute.images.useReadOnly,compute.instances.addAccessConfig,
    compute.instances.attachDisk,compute.instances.create,compute.instances.delete,compute.instances.deleteAccessConfig,
    compute.instances.detachDisk,compute.instances.list,compute.instances.setMetadata,compute.instances.setServiceAccount,
    compute.instances.start,compute.instances.stop,compute.instances.update,compute.instances.updateDisplayDevice,compute.machineTypes.list,compute.networks.access,
    compute.networks.create,compute.networks.delete,compute.networks.get,compute.networks.getEffectiveFirewalls,compute.networks.list,compute.networks.update,
    compute.networks.use,compute.networks.useExternalIp,compute.regionOperations.get,compute.snapshots.create,compute.snapshots.delete,compute.snapshots.get,
    compute.snapshots.useReadOnly,compute.subnetworks.create,compute.subnetworks.delete,compute.subnetworks.get,compute.subnetworks.list,compute.subnetworks.update,
    compute.subnetworks.use,compute.subnetworks.useExternalIp,compute.zoneOperations.get,compute.zones.list,iam.serviceAccounts.actAs,iam.serviceAccounts.get,iam.serviceAccounts.list,
    resourcemanager.projects.get,serviceusage.services.use,storage.buckets.create,storage.buckets.enableObjectRetention,storage.buckets.list,storage.objects.create,storage.objects.delete,
    storage.objects.get,storage.objects.list

  16. Cette commande crée un rôle personnalisé dans le projet appelé ROLE_NAME avec les autorisations nécessaires pour créer et gérer des instances. Le nom complet du rôle est répertorié comme résultat de la commande ci-dessus et le format du nom de rôle est projects/PROJECT_ID/roles/ROLE_NAME.
  17. Remarque : un rôle est un ensemble d'autorisations. Vous ne pouvez pas affecter une autorisation directement à l'utilisateur, mais devez leur attribuer un rôle à la place. Lorsque vous accordez un rôle à un utilisateur, vous accordez à ce dernier toutes les autorisations contenues dans ce rôle.

  18. Pour lier le rôle personnalisé ROLE_NAME au compte de service SA_NAME, remplacez les valeurs suivantes et exécutez la commande ci-dessous :
  19. gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SA_EMAIL --role=ROLE_FULL_NAME

  20. Dans la console UDP, utilisez ce fichier de clé JSON de comptes de service téléchargé à l'étape 5 pour créer un plan VSB vers GCP.