Auf dieser Seite wird erläutert, wie Sie Dienstkontoschlüssel mit der Google Cloud Console, Google Cloud CLI, der Identity and Access Management API oder eine der Google Cloud-Clientbibliotheken auflisten und erhalten.
Hinweise
Enable the IAM API.
Richten Sie die Authentifizierung ein.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C++
Wenn Sie die C++ Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten in der Dokumentation zur Google Cloud-Authentifizierung.
C#
Wenn Sie die .NET Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten in der Dokumentation zur Google Cloud-Authentifizierung.
Go
Wenn Sie die Go Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten in der Dokumentation zur Google Cloud-Authentifizierung.
Java
Wenn Sie die Java Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten in der Dokumentation zur Google Cloud-Authentifizierung.
Python
Wenn Sie die Python Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten in der Dokumentation zur Google Cloud-Authentifizierung.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dienstkonten ansehen (
roles/iam.serviceAccountViewer
) für das Projekt oder das Dienstkonto zu erteilen, dessen Schlüssel Sie verwalten möchten. Sie erhalten so die Berechtigungen zum Auflisten und Abrufen von Dienstkontoschlüsseln. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Weitere Informationen finden Sie unter Dienstkontenrollen.
Einfache IAM-Rollen enthalten auch Berechtigungen zum Verwalten von Dienstkontoschlüsseln. In einer Produktionsumgebung sollten Sie keine einfachen Rollen zuweisen, Sie können sie aber in einer Entwicklungs- oder Testumgebung gewähren.
Dienstkontoschlüssel auflisten
Sie können die Dienstkontoschlüssel für ein Dienstkonto in der Google Cloud Console, mit der gcloud CLI, der Methode
serviceAccount.keys.list()
oder einer der Clientbibliotheken auflisten.Die Methode
serviceAccount.keys.list()
wird in der Regel verwendet, um Dienstkonten und Schlüssel zu überprüfen oder benutzerdefinierte Tools für die Verwaltung von Dienstkonten zu erstellen.Um herauszufinden, zu welchem Projekt Ihr Schlüssel gehört, können Sie den Schlüssel als JSON-Datei herunterladen und sich anschließend die Datei ansehen.
Eventuell werden Schlüssel aufgelistet, die Sie nicht erstellt haben. Diese Schlüssel werden von Google erstellt und von der Service Account Credentials API verwendet. Weitere Informationen finden Sie unter Von Google verwaltete Schlüsselpaare.
Console
- Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.
- Wählen Sie ein Projekt aus.
- Klicken Sie auf der Seite Dienstkonten auf die E-Mail-Adresse des Dienstkontos, dessen Schlüssel Sie auflisten möchten.
- Klicken Sie auf Schlüssel. In der Google Cloud Console wird eine Liste der Schlüssel für das Dienstkonto angezeigt.
gcloud
Mit
gcloud iam service-accounts keys list
können Sie Dienstkontoschlüssel löschen.Ersetzen Sie die folgenden Werte:
SA_NAME
: Der Name des Dienstkontos, für das Schlüssel aufgelistet werden sollen.PROJECT_ID
: Ihre Google Cloud-Projekt-ID.
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Ausgabe:
KEY_ID CREATED_AT EXPIRES_AT DEAKTIVIERT DISABLE_REASON EXTENDED_STATUS 8e6e3936d7024646f8ceb39792006c07f4a9760c 2021-01-01T21:01:42Z 9999-12-31T23:59:59Z 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z True USER INITIATED 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z True EXPOSED ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] C++
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur C++ API.
Richten Sie zur Authentifizierung bei IAM die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Vorbereitung.
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur C# API.
Richten Sie zur Authentifizierung bei IAM die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Vorbereitung.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur Go API.
Richten Sie zur Authentifizierung bei IAM die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Vorbereitung.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur Java API.
Richten Sie zur Authentifizierung bei IAM die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Vorbereitung.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur Python API.
Richten Sie zur Authentifizierung bei IAM die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Vorbereitung.
REST
Mit der Methode
projects.serviceAccounts.keys.list
können Sie alle Dienstkontoschlüssel für ein Dienstkonto auflisten.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID. Projekt-IDs sind alphanumerische Strings, wiemy-project
.SA_NAME
: Den Namen des Dienstkontos, dessen Schlüssel Sie auflisten möchten.KEY_TYPES
: Optional. Eine durch Kommas getrennte Liste der Schlüsseltypen, die Sie in die Antwort aufnehmen möchten. Der Schlüsseltyp gibt an, ob ein Schlüssel vom Nutzer (USER_MANAGED
) oder vom System (SYSTEM_MANAGED
) verwaltet wird. Wenn Sie das Feld leer lassen, werden alle Schlüssel zurückgegeben.
HTTP-Methode und URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }
Schlüssel für Dienstkonto abrufen
Mit der gcloud CLI oder der REST API können Sie die Daten des öffentlichen Schlüssels für einen Dienstkontoschlüssel abrufen. Außerdem können Sie die Google Cloud Console, die gcloud CLI oder die REST API dazu verwenden, Metadaten für den Schlüssel abzurufen, z. B. den Algorithmus, den der Schlüssel verwendet, und zu prüfen, ob der Schlüssel von Ihnen oder von Google verwaltet wird.
Console
So rufen Sie die Daten des öffentlichen Schlüssels für einen Dienstkontoschlüssel ab:
Verwenden Sie die gcloud CLI oder die REST API. Dieses Feature ist in der Google Cloud Console nicht verfügbar.
So rufen Sie Metadaten für einen Dienstkontoschlüssel ab:
- Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.
- Wählen Sie ein Projekt aus.
- Klicken Sie auf der Seite Dienstkonten auf die E-Mail-Adresse des Dienstkontos, dessen Schlüssel Sie auflisten möchten.
- Klicken Sie auf Schlüssel. Die Google Cloud Console zeigt eine Liste der Schlüssel für das Dienstkonto an, einschließlich der Metadaten für die einzelnen Schlüssel.
gcloud
So rufen Sie die Daten des öffentlichen Schlüssels für einen Dienstkontoschlüssel ab:
Führen Sie den Befehl
gcloud beta iam service-accounts keys get-public-key
aus:gcloud beta iam service-accounts keys get-public-key KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --output-file=FILENAME
Geben Sie folgende Werte an:
KEY_ID
: Die ID des öffentlichen Schlüssels, den Sie abrufen möchten. Listen Sie alle Schlüssel für das Dienstkonto auf, identifizieren Sie den abzurufenden Schlüssel und kopieren Sie seine ID, um die ID des Schlüssels zu ermitteln.SA_NAME
: Der Name des Dienstkontos, dessen öffentlichen Schlüssel Sie abrufen möchten.PROJECT_ID
: Ihre Google Cloud-Projekt-ID.FILENAME
: Die Datei, in der die Daten des öffentlichen Schlüssels gespeichert werden.
Standardmäßig werden die Daten des öffentlichen Schlüssels im X.509-PEM-Format gespeichert. Führen Sie den Befehl mit dem zusätzlichen Flag
--type=raw
aus, um den unbearbeiteten öffentlichen Schlüssel abzurufen.Mit folgendem Befehl werden beispielsweise die Daten des öffentlichen Schlüssels für den Schlüssel
c97cc34494c07c9b483701f28368f20145b9ef97
abgerufen , der zum Dienstkontomy-service-account@my-project.iam.gserviceaccount.com
gehört. Dann werden die Daten des öffentlichen Schlüssels in der Dateipublic_key.pem
gespeichert:gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=my-service-account@my-project.iam.gserviceaccount.com \ --output-file=public_key.pem
So rufen Sie Metadaten für einen Dienstkontoschlüssel ab:
Führen Sie den Befehl
gcloud iam service-accounts keys list
aus:gcloud iam service-accounts keys list --iam-account=SA_NAME \ --filter="name~KEY_ID" --format=json
Geben Sie folgende Werte an:
SA_NAME
: Den Namen des Dienstkontos, für das Sie Schlüsselmetadaten benötigen.KEY_ID
: Die ID des Schlüssels, für den Sie Metadaten benötigen.
Der folgende Befehl ruft beispielsweise Metadaten für den Schlüssel
c97cc34494c07c9b483701f28368f20145b9ef97
ab, der zum Dienstkontomy-service-account@my-project.iam.gserviceaccount.com
gehört:gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project.iam.gserviceaccount.com \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
REST
Die
projects.serviceAccounts.keys.get
-Methode gibt Informationen zu einem öffentlichen Schlüssel für ein Dienstkonto zurück.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID. Projekt-IDs sind alphanumerische Strings, wiemy-project
.SA_NAME
: Der Name des Dienstkontos, dessen öffentlichen Schlüssel Sie abrufen möchten.-
KEY_ID
: Die ID des öffentlichen Schlüssels, den Sie abrufen möchten. Listen Sie alle Schlüssel für das Dienstkonto auf, identifizieren Sie den abzurufenden Schlüssel und kopieren Sie seine ID am Ende von Feldname
, um die ID des Schlüssels zu finden. Die ID des Schlüssels ist alles, was aufkeys/
folgt. KEY_TYPE
: Das Format, in dem der öffentliche Schlüssel zurückgegeben werden soll. Verwenden SieTYPE_X509_PEM_FILE
für das X.509-PEM-Format oderTYPE_RAW_PUBLIC_KEY
für den unbearbeiteten öffentlichen Schlüssel. Wenn Sie diesen Abfrageparameter weglassen, gibt die Methode Metadaten für den Schlüssel zurück, jedoch nicht die Daten des öffentlichen Schlüssels.
HTTP-Methode und URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID?publicKeyType=KEY_TYPE
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/f4a83933ac07cf52bb74e0e66d99662a09f51a36", "validAfterTime": "2021-12-10T17:32:06Z", "validBeforeTime": "9999-12-31T23:59:59Z", "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvRENDQWVTZ0F3SUJBZ0lJT2lCdm9hR09nV0F3RFFZSktvWklodmNOQVFFRkJRQXdJREVlTUJ3R0ExVUUKQXhNVk1UQXhNVGsxTlRFMk5UWXlPRGszTmpFek1qQXpNQ0FYRFRJeE1USXhNREUzTXpJd05sb1lEems1T1RreApNak14TWpNMU9UVTVXakFnTVI0d0hBWURWUVFERXhVeE1ERXhPVFUxTVRZMU5qSTRPVGMyTVRNeU1ETXdnZ0VpCk1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzdzeDBFcXVUMGNwSXhlczl1SW0yRy9DS3EKdnc4YTl2a2JkaWZZbDZHSDh1ZUxEWDhGNHVUeEVQMkNzU3JLTHZtOFo2My9IVUxnWjBtQXByb0JlM08vaVR1ZwpmYVZ0NVNtakhvWm9YQ1lpbjR0MS93SkpvdDhrRFdPeDZhOEdieUdqZ215ak8yYk1XdEtaQ2dqeGZ3cUV0MmN3CklnajA5VzJKYTlHTWRsdVA0VGVubTRKSkJoaFpFbTJ1bVAwYVZZdkRnUWF5d0RCYnJuNG8yY0EzSWplRDZGM1gKK0VHRDNKU0s4VW02Sk5sM21adGp6VWNZSHBrYkF0U1A2ZDI5d1RmZkdIRFY0THJRWlM3bG15d3hsb3p5WnpaawpCOFpHckMzSkF1MVNVRTdQOTN6bWtFb1B6MlRUNWhaYXZMWFQ5TGM2SExiRklRVHFnVEJVWHlNMkpIcGZBZ01CCkFBR2pPREEyTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CWUdBMVVkSlFFQi93UU0KTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQkhPNXlpUDY3NkE4UEN2RjdRSzdFMApYZVljbzdsSStFZkowaGJrWVlmdUtnSENPcXcvd3FBbCtOSithanljT2FPWDFPMlRZN3ZOc05pR2t3eWc2QXdqCklhL1NHVjd3NkxpS2JldFRuSVp4UlhRY25lcnVvZEwycUR5eWphMDJJSXJVTmVKY1o0MVJBNXRTL3NkcTFGNm4KM0NjSXFoZTI1OTA4TUNna3cwaFB1K0VLbFF6R1B5T3pVRHBLdXg0cnRBaHJTYTBUVW1wbEMxdTJnUk1YRkF6aApWUjU0V2dNa2tabURyalBNeWdBS3JmNkd0bHo2VHRTYTVLb1BWdGpsWExUQkxaSnlhdk4zc1F2dFlBK1NFQWpWCnA1N1ZabFBYZmR0dWN4ekJaOC9zS25SOHNyYU5hVWFjamg1NEE1Nm1URTE3b0IyUWkrTHBJUTYvNnVqVnNXaUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }
Nächste Schritte
- Dienstkontoschlüssel erstellen und löschen
- Dienstkontoschlüssel deaktivieren und aktivieren
- Weitere Informationen finden Sie unter Alternativen zu Dienstkontoschlüsseln für die Authentifizierung.
- Dienstkonten mithilfe von Dienstkontoschlüsseln authentifizieren
- Mehr über die Best Practices für die Verwaltung von Dienstkontoschlüsseln.
Jetzt testen
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Jetzt kostenlos startenSofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-12-03 (UTC).