Die gcloud CLI und die p12-Dienstkontoschlüssel

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

Nach oben