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.
- Pour obtenir les instructions d'installation de l'interface de ligne de commande Google Cloud, cliquez ici.
- Pour obtenir les instructions d'initialisation de l'interface de ligne de commande Google Cloud, cliquez ici.
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 :
- Après avoir installé et initialisé l'outil gcloud, procédez comme suit :
- Testez et confirmez que l'outil gcloud a été installé en vérifiant la version à l'aide de la commande « gcloud --version ».
- 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.
- 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.
- 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.
- Pour créer un compte de service, remplacez les valeurs suivantes et exécutez la commande ci-dessous :
- SA_NAME : nom souhaité du compte de service.
- DISPLAY_NAME : nom de compte de service à afficher dans la console Google Cloud.
- Obtenez l'adresse électronique du compte de service et exécutez la commande suivante :
- Remplacez ce qui suit :
- DISPLAY_NAME : nom d'affichage saisi à l'étape 3.
- 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 :
- SA_NAME@PROJECT_ID.iam.gserviceaccount.com
- Pour créer et télécharger le fichier de clé JSON, remplacez les valeurs suivantes et exécutez la commande ci-dessous :
- KEY_FILE : chemin d'accès à un nouveau fichier de sortie pour la clé privée, par exemple, c:\gcp-private-key.json or ~/sa-private-key.json.
- SA_EMAIL : adresse électronique du compte de service notée à l'étape 5 et également appelée SA_NAME@PROJECT_ID.iam.gserviceaccount.com, où SA_NAME correspond au nom du compte de service pour lequel une clé doit être créée et où Project_ID est l'ID de votre projet Google Cloud.
- Le fichier de clé JSON contient la clé privée dont vous aurez besoin ultérieurement dans la console UDP.
- 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 :
- PROJECT_ID : ID de votre projet Google Cloud.
- ROLE_NAME : nom de rôle de votre choix.
- 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.
- 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 :
- PROJECT_ID : ID de votre projet Google Cloud.
- ROLE_FULL_NAME : nom complet du rôle répertorié à l'étape 6 au format projects/PROJECT_ID/roles/ROLE_NAME, où ROLE_NAME est le nom utilisé à l'étape précédente et ID_PROJET l'ID de votre projet Google Cloud.
- SA_EMAIL : adresse électronique du compte de service notée à l'étape précédente au format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, où SA_NAME correspond au nom du compte de service pour lequel une clé doit être créée et où Project_ID est l'ID de votre projet Google Cloud.
- 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.
gcloud iam service-accounts create SA_NAME --display-name="DISPLAY_NAME"
gcloud iam service-accounts list --filter "displayName=DISPLAY_NAME"
gcloud iam service-accounts keys create KEY_FILE --iam-account=SA_EMAIL
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
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.
gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SA_EMAIL --role=ROLE_FULL_NAME