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 erstellen und löschen.
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 .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.
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.
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 Service Account Key Admin (
roles/iam.serviceAccountKeyAdmin
) für das Projekt oder für das Dienstkonto, dessen Schlüssel Sie verwalten möchten, zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Löschen von Dienstkontoschlüsseln benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff 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 erstellen
Sie müssen erst die Identität des Dienstkontos bestätigen, um ein Dienstkonto außerhalb von Google Cloud zu verwenden, zum Beispiel auf anderen Plattformen oder lokal. Paare aus öffentlichen und privaten Schlüsseln bieten dafür eine sichere Möglichkeit. Wenn Sie einen Dienstkontoschlüssel erstellen, wird der öffentliche Teil in Google Cloud gespeichert, während der private Teil nur für Sie verfügbar ist. Weitere Informationen zu öffentlichen/privaten Schlüsselpaaren finden Sie unter Dienstkontoschlüssel.
Sie können einen Dienstkontoschlüssel mithilfe der Google Cloud Console, der gcloud CLI, der Methode
serviceAccounts.keys.create()
oder einer der Clientbibliotheken erstellen. Ein Dienstkonto kann bis zu 10 Schlüssel haben.Standardmäßig laufen Dienstkontoschlüssel niemals ab. Sie können eine Einschränkung für die Organisationsrichtlinie verwenden, um die Dauer anzugeben, für die ein Dienstkontoschlüssel gültig ist. Weitere Informationen finden Sie unter Ablaufzeiten für von Nutzern verwaltete Schlüssel.
In den folgenden Beispielen ist
SA_NAME
der Name Ihres Dienstkontos undPROJECT_ID
die ID Ihres Google Cloud-Projekts. Sie können den StringSA_NAME@PROJECT_ID.iam.gserviceaccount.com
auf der Seite Dienstkonten in der Google Cloud Console abrufen.Console
- Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Die verbleibenden Schritte werden automatisch in der Google Cloud Console angezeigt.
- Wählen Sie ein Projekt aus.
- Klicken Sie auf die E-Mail-Adresse des Dienstkontos, für das Sie einen Schlüssel erstellen möchten.
- Klicken Sie auf den Tab
Schlüssel . - Klicken Sie auf das Drop-down-Menü Schlüssel hinzufügen und wählen Sie Neuen Schlüssel erstellen aus.
- Wählen Sie als Schlüsseltyp JSON aus und klicken Sie dann auf Erstellen.
Wenn Sie auf Erstellen klicken, wird eine Dienstkontoschlüsseldatei heruntergeladen. Nachdem Sie die Schlüsseldatei heruntergeladen haben, können Sie sie nicht noch einmal herunterladen.
Der heruntergeladene Schlüssel hat das folgende Format, wobei
PRIVATE_KEY
der private Teil des öffentlichen/privaten Schlüsselpaars ist:{ "type": "service_account", "project_id": "PROJECT_ID", "private_key_id": "KEY_ID", "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n", "client_email": "SERVICE_ACCOUNT_EMAIL", "client_id": "CLIENT_ID", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL" }
Bewahren Sie die Schlüsseldatei sicher auf, da sie zur Authentifizierung als Ihr Dienstkonto verwendet werden kann. Sie können diese Datei beliebig verschieben und umbenennen.
Sie können Dienstkonto-Schlüsseldateien verwenden, um eine Anwendung als Dienstkonto zu authentifizieren.
gcloud
Mit dem Befehl
gcloud iam service-accounts keys create
können Sie Dienstkontoschlüssel erstellen.Ersetzen Sie die folgenden Werte:
KEY_FILE
: Der Pfad zu einer neuen Ausgabedatei für den privaten Schlüssel, z. B.~/sa-private-key.json
.SA_NAME
: Der Name des Dienstkontos, für das ein Schlüssel erstellt werden soll.PROJECT_ID
: Ihre Google Cloud-Projekt-ID.
gcloud iam service-accounts keys create KEY_FILE \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Ausgabe:
created key [e44da1202f82f8f4bdd9d92bc412d1d8a837fa83] of type [json] as [/usr/home/username/KEY_FILE] for [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
Die Dienstkontoschlüsseldatei wird jetzt auf Ihren Computer heruntergeladen. Nachdem Sie die Schlüsseldatei heruntergeladen haben, können Sie sie nicht noch einmal herunterladen.
Der heruntergeladene Schlüssel hat das folgende Format, wobei
PRIVATE_KEY
der private Teil des öffentlichen/privaten Schlüsselpaars ist:{ "type": "service_account", "project_id": "PROJECT_ID", "private_key_id": "KEY_ID", "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n", "client_email": "SERVICE_ACCOUNT_EMAIL", "client_id": "CLIENT_ID", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL" }
Bewahren Sie die Schlüsseldatei sicher auf, da sie zur Authentifizierung als Ihr Dienstkonto verwendet werden kann. Sie können diese Datei beliebig verschieben und umbenennen.
Sie können Dienstkonto-Schlüsseldateien verwenden, um eine Anwendung als Dienstkonto zu authentifizieren.
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
Die Methode
projects.serviceAccounts.keys.create
ermöglicht es, einen Schlüssel für ein Dienstkonto zu erstellen.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, für das Sie einen Schlüssel erstellen möchten.KEY_ALGORITHM
: Optional. Den Schlüsselalgorithmus, der für den Schlüssel verwendet werden soll. Der Standardwert ist ein 2.048-Bit-RSA-Schlüssel. Dieser Wert kann geändert werden. Eine Liste aller anwendbaren Werte finden Sie in der Referenz zuServiceAccountKeyAlgorithm
.
HTTP-Methode und URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys
JSON-Text anfordern:
{ "keyAlgorithm": "KEY_ALGORITHM" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält einen Schlüssel für Ihr Dienstkonto. Der zurückgegebene Schlüssel hat das folgende Format, wobei
ENCODED_PRIVATE_KEY
der private Teil des öffentlichen/privaten Schlüsselpaars in base64 codiert ist.{ "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID", "privateKeyType": "TYPE_GOOGLE_CREDENTIALS_FILE", "privateKeyData": "ENCODED_PRIVATE_KEY", "validAfterTime": "DATE", "validBeforeTime": "DATE", "keyAlgorithm": "KEY_ALG_RSA_2048" }
Zum Erstellen einer Schlüsseldatei, die Sie zur Authentifizierung als Dienstkonto verwenden können, decodieren Sie die privaten Schlüsseldaten und speichern Sie sie in einer Datei:
Linux
Führen Sie dazu diesen Befehl aus:
echo 'ENCODED_PRIVATE_KEY' | base64 --decode > PATH
Ersetzen Sie
PATH
durch den Pfad der Datei, in der Sie den Schlüssel speichern möchten. Verwenden Sie die Dateiendung.json
.macOS
Führen Sie dazu diesen Befehl aus:
echo 'ENCODED_PRIVATE_KEY' | base64 --decode > PATH
Ersetzen Sie
PATH
durch den Pfad der Datei, in der Sie den Schlüssel speichern möchten. Verwenden Sie die Dateiendung.json
.PowerShell
Speichern Sie die codierten privaten Schlüsseldaten (
ENCODED_PRIVATE_KEY
) in einer Datei.Decodieren Sie die Datei mit
certutil
:certutil -decode ENCODED_FILE DECODED_FILE
Ersetzen Sie die folgenden Werte:
ENCODED_FILE
: Der Pfad zur Datei mit den codierten privaten Schlüsseldaten.DECODED_FILE
: Der Pfad der Datei, in der Sie den Schlüssel speichern möchten. Verwenden Sie die Dateiendung.json
.
Bewahren Sie die Schlüsseldaten sicher auf, da sie zur Authentifizierung als Ihr Dienstkonto verwendet werden können.
Sie können Dienstkonto-Schlüsseldateien verwenden, um eine Anwendung als Dienstkonto zu authentifizieren.
Dienstkontoschlüssel löschen
Wenn Sie einen Dienstkontoschlüssel endgültig löschen, können Sie den Schlüssel nicht mehr für die Authentifizierung bei Google APIs verwenden.
Ein gelöschter Schlüssel kann nicht wiederhergestellt werden. Bevor Sie einen Dienstkontoschlüssel löschen, sollten Sie den Schlüssel deaktivieren und warten, bis Sie sicher sind, dass der Schlüssel nicht mehr benötigt wird. Anschließend können Sie den Schlüssel löschen.
Als Best Practice sollten Sie Ihre Dienstkontoschlüssel regelmäßig rotieren. Weitere Informationen zum Rotieren von Dienstkontoschlüsseln finden Sie unter Dienstkontoschlüsselrotation.
Console
- Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Die verbleibenden Schritte werden automatisch 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 löschen möchten.
- Klicken Sie auf den Tab Schlüssel.
- Klicken Sie in der Liste der Schlüssel bei jedem Schlüssel, den Sie löschen möchten, auf Löschen .
gcloud
Mit dem Befehl
gcloud iam service-accounts keys delete
können Sie Dienstkontoschlüssel löschen.Ersetzen Sie die folgenden Werte:
KEY_ID
: Die ID des zu löschenden Schlüssels. Listen Sie alle Schlüssel für das Dienstkonto auf, identifizieren Sie den zu löschenden Schlüssel und kopieren Sie seine ID, um die ID des Schlüssels zu ermitteln.SA_NAME
: Der Name des Dienstkontos, zu dem der Schlüssel gehört.PROJECT_ID
: Ihre Google Cloud-Projekt-ID.
gcloud iam service-accounts keys delete KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Ausgabe:
Deleted key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
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.delete
können Sie Dienstkontoschlüssel löschen.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 löschen möchten.KEY_ID
: Die ID des Schlüssels, den Sie löschen möchten. Listen Sie alle Schlüssel für das Dienstkonto auf, identifizieren Sie den zu löschenden 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.
HTTP-Methode und URL:
DELETE https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ }
Nächste Schritte
- Dienstkontoschlüssel auflisten und abrufen
- Eigene öffentliche Dienstkontoschlüssel hochladen
- Mehr über die Best Practices für die Verwaltung von Dienstkontoschlüsseln.
- Weitere Informationen finden Sie unter Alternativen zu Dienstkontoschlüsseln für die Authentifizierung.
Überzeugen Sie sich selbst
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-11-25 (UTC).