Mit der gcloud CLI können Entwickler private Schlüssel zur Authentifizierung beim Dienst verwenden Robot-Konten verwendet werden. Auf dieser Seite wird beschrieben, wie Sie p12-Schlüssel von Dienstkonten für die Google Cloud erstellen und verwenden.
Pyca/Cryptography installieren
pyca/cryptography-Bibliothek
(version >= 2.5
) ermöglicht es der gcloud CLI, das p12-Format zu decodieren
Schlüsseldateien, die ein Dienstkonto identifizieren. Da sie kryptografische Routinen umfasst,
pyca/Cryptography wird nicht mit der gcloud CLI bereitgestellt.
Wenn auf Ihrem System pip
die Befehlszeile für den Python-Paketindex, vorhanden ist, um pyca/cryptography
zu installieren, führen Sie den folgenden Befehl aus.
Weitere Informationen finden Sie in der Installationsanleitung.
python -m pip install cryptography
CLOUDSDK_PYTHON_SITEPACKAGES=1
Nach der Installation von pyca/cryptography müssen Sie die Umgebungsvariable CLOUDSDK_PYTHON_SITEPACKAGES
auf 1
festlegen. Mit dieser Einstellung wird die gcloud CLI mitgeteilt
dass sie außerhalb ihres eigenen google-cloud-sdk/lib
-Verzeichnisses nach Bibliotheken suchen soll
aufgenommen werden. In der Regel verursacht die Einstellung CLOUDSDK_PYTHON_SITEPACKAGES=1
keine Probleme. Sollten jedoch Funktionsstörungen auftreten, müssen Sie sie eventuell zurücksetzen.
Dienstkonto erstellen
Führen Sie die Schritte unter Dienstkontoschlüssel erstellen aus, um ein neues Dienstkonto zu erstellen und eine p12-Schlüsseldatei herunterzuladen.
Diese Schlüsseldatei sollte geheim sein. Sorgen Sie also mit entsprechenden Sicherheitsmaßnahmen dafür, dass sie vor dem Zugriff durch nicht vertrauenswürdige Parteien geschützt ist. Auf Unix-ähnlichen Systemen können Sie mit folgendem Befehl sicherstellen, dass eine Datei für andere remote verbundene Nutzer (ausgenommen Root-Nutzer) nicht sichtbar ist.
chmod 0600 YOUR_KEY_FILE.p12
Dienstkonto mit der gcloud CLI verwenden
Anmeldedaten für ein Dienstkonto können mit gcloud auth activate-service-account
aktiviert werden.
Um das Dienstkonto mit der gcloud CLI zu verwenden, führen Sie gcloud auth activate-service-account
aus, übergeben den Pfad zur Schlüsseldatei mit dem entsprechenden --key-file
-Flag und weisen ein Konto als Positionsargument zu.
Sie sollten die E-Mail-Adresse des Dienstkontos verwenden, das in in der Google Cloud Console, dies wird jedoch nicht überprüft. hilft Ihnen nur, welches Konto Sie verwenden.
gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.gserviceaccount.com Activated service account credentials for my_service_account@developer.gserviceaccount.com.
WARNUNG: Mit dem Befehl gcloud auth activate-service-account
wird Ihr privater Schlüssel kopiert und unter $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.gserviceaccount.com/private_key.p12
und $HOME/.config/gcloud/credentials.db
gespeichert.
Er wird mit 0600
-Berechtigungen (Lesen/Schreiben nur für Ihren eigenen Nutzer) erstellt. Alle Dateien, die in $HOME/.config/gcloud
gespeichert sind, sollten bereits als geheim gelten. Wenn Sie Authentifizierungsdaten, die von der gcloud CLI gespeichert wurden, zuverlässig und sicher löschen möchten, löschen Sie einfach nur $HOME/.config/gcloud
. Die sichere Verwaltung der aus der Google Cloud Console heruntergeladenen Schlüsseldatei bleibt dem Nutzer überlassen. Wenn in
den Schlüssel in der Google Cloud Console zu widerrufen.
Nach der Aktivierung des Dienstkontos wird es in der Liste der Anmeldedaten angezeigt.
gcloud auth list Credentialed Accounts ACTIVE ACCOUNT * my_service_account@developer.gserviceaccount.com To set the active account, run: $ gcloud config set account my_service_account@developer.gserviceaccount.com