Auf dieser Seite wird erläutert, wie Sie Dienstkonten mit der Identity and Access Management (IAM) API, der Google Cloud Console und dem gcloud
-Befehlszeilentool erstellen.
Standardmäßig können Sie jedem Projekt bis zu 100 Dienstkonten hinzufügen, die den Zugriff auf Ihre Ressourcen steuern. Sie können gegebenenfalls eine Kontingenterhöhung anfordern. Weitere Informationen zu Kontingenten und Limits finden Sie in diesem Artikel.
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.
Sie müssen die Informationen zu IAM-Dienstkonten verstehen
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen für das Projekt die IAM-Rolle Create Service Accounts (
roles/iam.serviceAccountCreator
) zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Dienstkonten 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.
Wenn Sie neu erstellten Dienstkonten Zugriff auf Ihr Projekt gewähren möchten, benötigen Sie außerdem die Rolle „Projekt-IAM-Administrator“ (
roles/resourcemanager.projectIamAdmin
).Dienstkonto erstellen
Wenn Sie ein Dienstkonto erstellen, müssen Sie eine alphanumerische ID angeben (in den Beispielen unten
SERVICE_ACCOUNT_NAME
). Beispiel:my-service-account
. Die ID muss zwischen 6 und 30 Zeichen lang sein und alphanumerische Zeichen in Kleinschreibung sowie Bindestriche enthalten. Nachdem Sie ein Dienstkonto erstellt haben, können Sie den Namen nicht mehr ändern.Der Name des Dienstkontos wird in der E-Mail-Adresse angezeigt, die während der Erstellung bereitgestellt wird. Sie hat folgendes Format:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.Jedes Dienstkonto hat außerdem eine dauerhafte und eindeutige numerische ID, die automatisch erstellt wird.
Außerdem geben Sie beim Erstellen eines Dienstkontos diese Informationen an:
DESCRIPTION
ist eine optionale Beschreibung für das Dienstkonto.DISPLAY_NAME
ist ein Anzeigename für das Dienstkonto.PROJECT_ID
ist die ID des Google Cloud-Projekts.
Nachdem Sie ein Dienstkonto erstellt haben, müssen Sie möglicherweise 60 Sekunden oder länger warten, bis Sie das Dienstkonto verwenden können. Dieses Verhalten tritt auf, weil Lesevorgänge Eventual Consistency haben. Es kann einige Zeit dauern, bis das neue Dienstkonto sichtbar ist. Wenn Sie versuchen, ein Dienstkonto direkt nach dem Erstellen zu lesen oder zu verwenden und eine Fehlermeldung erhalten, können Sie die Anfrage mit exponentiellem Backoff wiederholen.
Console
- Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.
Zur Seite „Dienstkonto erstellen“
Die verbleibenden Schritte werden automatisch in der Google Cloud Console angezeigt.
- Wählen Sie ein Google Cloud-Projekt aus.
- Geben Sie einen Dienstkontonamen ein, der in der Cloud Console angezeigt werden soll.
Die Cloud Console generiert anhand dieses Namens eine Dienstkonto-ID. Bearbeiten Sie gegebenenfalls die ID. Sie können die ID später nicht mehr ändern.
- Optional: Geben Sie eine Beschreibung für das Dienstkonto ein.
- Wenn Sie die Zugriffssteuerungen derzeit nicht festlegen möchten, klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen. Klicken Sie auf Erstellen und fortfahren und fahren Sie mit dem nächsten Schritt fort, wenn Sie die Zugriffssteuerungen jetzt festlegen möchten.
- Optional: Wählen Sie eine oder mehrere IAM-Rollen aus, die dem Dienstkonto für das Projekt zugewiesen werden sollen.
- Klicken Sie auf Weiter, wenn Sie alle Rollen hinzugefügt haben.
- Optional: Fügen Sie im Feld Rolle „Dienstkontonutzer“ Mitglieder hinzu, die das Dienstkonto an andere Ressourcen anhängen müssen.
- Optional: Fügen Sie im Feld Rolle "Dienstkontoadministrator" Mitglieder hinzu, die das Dienstkonto verwalten müssen.
- Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
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.
-
Führen Sie den Befehl
gcloud iam service-accounts create
aus, um das Dienstkonto zu erstellen:gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
Ersetzen Sie die folgenden Werte:
-
SERVICE_ACCOUNT_NAME
: der Name des Dienstkontos -
DESCRIPTION
: Eine optionale Beschreibung des Dienstkontos. -
DISPLAY_NAME
: ein Dienstkontoname, der in der Google Cloud Console angezeigt werden soll
-
-
Optional: Führen Sie den Befehl
gcloud projects add-iam-policy-binding
aus, um dem Dienstkonto eine IAM-Rolle für Ihr Projekt zuzuweisen:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Ersetzen Sie die folgenden Werte:
-
PROJECT_ID
: die Projekt-ID -
SERVICE_ACCOUNT_NAME
: der Name des Dienstkontos -
ROLE_NAME
: ein Rollenname, z. B.roles/compute.osLogin
-
-
Optional: Damit Nutzer ein Dienstkonto an andere Ressourcen anhängen können, müssen Sie den
gcloud iam service-accounts add-iam-policy-binding
-Befehl ausführen, um einem Nutzer die Rolle "Dienstkontonutzer" (roles/iam.serviceAccountUser
) zuzuweisen:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Ersetzen Sie die folgenden Werte:
PROJECT_ID
: die Projekt-IDSERVICE_ACCOUNT_NAME
: der Name des Dienstkontos.USER_EMAIL
: die E-Mail-Adresse des Nutzers
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
serviceAccounts.create
wird ein Dienstkonto erstellt.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID. Projekt-IDs sind alphanumerische Strings, wiemy-project
.SA_NAME
: Die alphanumerische ID Ihres Dienstkontos. Dieser Name muss zwischen 6 und 30 Zeichen lang sein und kann alphanumerische Zeichen in Kleinbuchstaben sowie Bindestriche enthalten.SA_DESCRIPTION
: Optional. Eine Beschreibung des Dienstkontos.SA_DISPLAY_NAME
: Ein für Nutzer lesbarer Name des Dienstkontos.
HTTP-Methode und URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
JSON-Text anfordern:
{ "accountId": "SA_NAME", "serviceAccount": { "description": "SA_DESCRIPTION", "displayName": "SA_DISPLAY_NAME" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "my-service-account@my-project.iam.gserviceaccount.com", "displayName": "My service account", "etag": "BwUp3rVlzes=", "description": "A service account for running jobs in my project", "oauth2ClientId": "987654321098765432109" }
Nachdem Sie ein Dienstkonto erstellt haben, weisen Sie dem Dienstkonto mindestens eine Rolle zu, damit es Aufgaben für Sie erfüllen kann.
Wenn das Dienstkonto auf Ressourcen in anderen Projekten zugreifen muss, müssen Sie außerdem in der Regel die APIs für diese Ressourcen in dem Projekt aktivieren, in dem Sie das Dienstkonto erstellt haben.
Nächste Schritte
- Dienstkonten auflisten und bearbeiten
- Informieren Sie sich über den Prozess zum Zuweisen von IAM-Rollen für alle Hauptkontotypen, einschließlich Dienstkonten.
- Dienstkonten an Ressourcen anhängen
Ü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-10-14 (UTC).