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