Erstellen eines privaten Schlüssels mithilfe der Google CLI
In der UDP-Konsole ist ein privater Schlüssel erforderlich, um einen VSB-Plan für GCP zu erstellen.
Bevor Sie einen neuen Schlüssel erstellen können, müssen Sie die gcloud CLI installieren und initialisieren. Folgen Sie den Schritten unter den folgenden Links, um das CLI-Tool mit Administratorrechten zu installieren und zu initialisieren.
- Anweisungen zur Installation der Google Cloud CLI finden Sie hier.
- Anweisungen zur Initialisierung der Google Cloud CLI finden Sie hier.
Nachdem Sie gcloud in derselben Umgebung installiert und initialisiert haben, befolgen Sie diese Schritte, um den Schlüssel manuell zu erstellen oder das Windows-Powershell-Skript gcp_auth_key_create.ps1 auszuführen:
- Gehen Sie wie folgt vor, nachdem Sie das gcloud-Tool installiert und initialisiert haben:
- Führen Sie einen Test aus, und vergewissern Sie sich, dass das gcloud-Tool erfolgreich installiert wurde, indem Sie die Version mithilfe des Befehls "gcloud --version" überprüfen.
- Authentifizieren Sie sich während der Initialisierung in gcloud mit einem Administratorkonto, das vollständige Kontrolle über die Organisation zum Hinzufügen zu einem bestimmten Projekt hat.
- Legen Sie mithilfe des Befehls "gcloud config set project PROJECT_ID" ein Projekt fest, in dem VSB-Instanzen erstellt werden sollen, wobei "PROJECT_ID" für ein gültiges Projekt in der Organisation steht.
- Verwenden Sie gcloud, um den Zugriff auf das Projekt für den Benutzer zu konfigurieren, indem Sie eine benutzerdefinierte Rolle für das Projekt erstellen, die VSB-bezogene Tasks ermöglicht.
- Um ein Dienstkonto zu erstellen, ersetzen Sie die folgenden Werte, und führen Sie den folgenden Befehl aus:
- SA_NAME: der gewünschte Name des Dienstkontos.
- DISPLAY_NAME: der Name des Dienstkontos, der in der Google Cloud-Konsole angezeigt werden soll.
- Rufen Sie die E-Mail-Adresse des Dienstkontos ab, und führen Sie den folgenden Befehl aus:
- Ersetzen Sie Folgendes:
- DISPLAY_NAME: der in Schritt 3 angegebene Anzeigename.
- Notieren Sie sich die E-Mail-Adresse des Dienstkontos aus der Ausgabe des obigen Befehls, die im folgenden Format vorliegt und in den restlichen Schritten als SA_EMAIL dargestellt wird:
- SA_NAME@PROJECT_ID.iam.gserviceaccount.com
- Um die JSON-Schlüsseldatei zu erstellen und herunterzuladen, ersetzen Sie die folgenden Werte, und führen Sie den folgenden Befehl aus:
- KEY_FILE: Der Pfad zu einer neuen Ausgabedatei für den privaten Schlüssel, z. B. c:\gcp-private-key.json oder ~/sa-private-key.json.
- SA_EMAIL: E-Mail-Adresse des Dienstkontos aus Schritt 5, auch SA_NAME@PROJECT_ID.iam.gserviceaccount.com genannt, wobei SA_NAME für den Namen des Dienstkontos steht, für das ein Schlüssel erstellt werden soll, und PROJECT_ID für Ihre Google Cloud-Projekt-ID steht.
- Die JSON-Schlüsseldatei enthält den privaten Schlüssel, den Sie später in der UDP-Konsole benötigen.
- Um eine benutzerdefinierte Rolle zu erstellen, die die unten angegebenen 69 Berechtigungen für den VSB-Task enthält, ersetzen Sie die folgenden Werte, und führen Sie den Befehl aus:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- ROLE_NAME: Gewünschter Rollenname.
- Mit diesem Befehl wird eine benutzerdefinierte Rolle im Projekt mit dem Namen " ROLE_NAME " mit den Berechtigungen zum Erstellen und Verwalten von Instanzen erstellt. Der vollständige Name der Rolle wird als Ausgabe des obigen Befehls aufgeführt. Der Rollenname weist das Format projects/PROJECT_ID/roles/ROLE_NAME auf.
- Um die benutzerdefinierte Rolle ROLE_NAME mit dem Dienstkonto SA_NAME zu verknüpfen, ersetzen Sie die folgenden Werte, und führen Sie den folgenden Befehl aus:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- ROLE_FULL_NAME: Vollständiger Name der in Schritt 6 aufgelisteten Rolle im Format projects/PROJECT_ID/roles/ROLE_NAME, wobei ROLE_NAME der im vorherigen Schritt verwendete Name und PROJECT_ID Ihre Google Cloud-Projekt-ID ist.
- SA_EMAIL: E-Mail-Adresse des Dienstkontos aus dem vorherigen Schritt im Format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, wobei SA_NAME für den Namen des Dienstkontos steht, für das ein Schlüssel erstellt werden soll, und PROJECT_ID für Ihre Google Cloud-Projekt-ID steht.
- Verwenden Sie in der UDP-Konsole die in Schritt 5 heruntergeladene JSON-Schlüsseldatei für Dienstkonten, um einen VSB-Plan für GCP zu erstellen.
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
Hinweis: Eine Rolle ist eine Sammlung von Berechtigungen. Sie können Benutzern keine Berechtigungen direkt zuweisen. Stattdessen weisen Sie ihnen eine Rolle zu. Wenn Sie einem Benutzer eine Rolle zuweisen, erteilen Sie ihm alle Berechtigungen, die die Rolle enthält.
gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SA_EMAIL --role=ROLE_FULL_NAME