Die gcloud CLI und die p12-Dienstkontoschlüssel

Die gcloud CLI ermöglicht Entwicklern, private Schlüssel für die Authentifizierung mit Dienstkonten, auch Robot-Konten genannt, zu verwenden. Auf dieser Seite wird beschrieben, wie Sie p12-Schlüssel von Dienstkonten für Cloud de Confiance by S3NSerstellen und verwenden.

Pyca/Cryptography installieren

Mit der Bibliothek pyca/cryptography (Version >= 2.5) kann die gcloud CLI die p12-Formatschlüsseldateien decodieren, die ein Dienstkonto identifizieren. Da die Pyca/Kryptografie kryptografische Routinen enthält, wird sie nicht mit der gcloud CLI verteilt.

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. Diese Einstellung der Umgebungsvariable weist die gcloud CLI an, außerhalb des eigenen google-cloud-sdk/lib-Verzeichnisses nach einzubindenden Bibliotheken zu suchen. 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.

Verwenden Sie als Konto möglichst die in der Cloud de Confiance Console aufgeführte E-Mail-Adresse des Dienstkontos. Diese wird zwar nicht verifiziert, hilft Ihnen aber, das verwendete Konto nicht zu vergessen.

gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.s3ns-system.iam.gserviceaccount.com
Activated service account credentials for my_service_account@developer.s3ns-system.iam.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.s3ns-system.iam.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 Cloud de Confiance Konsole heruntergeladenen Schlüsseldatei bleibt dem Nutzer überlassen. Im Zweifelsfall können Sie den Schlüssel in der Cloud de Confiance -Console 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.s3ns-system.iam.gserviceaccount.com

To set the active account, run:
    $ gcloud config set account my_service_account@developer.s3ns-system.iam.gserviceaccount.com

Nach oben