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.
Hinweis
IAM API aktivieren.
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 SA_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: SA_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:
SA_DESCRIPTION
ist eine optionale Beschreibung für das Dienstkonto.SA_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 die Identität des Dienstkontos annehmen können.
- Optional: Fügen Sie im Feld Rolle "Dienstkontoadministrator" Mitglieder hinzu, die das Dienstkonto verwalten können.
- Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
-
Führen Sie den Befehl
gcloud iam service-accounts create
aus, um das Dienstkonto zu erstellen:gcloud iam service-accounts create SA_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
Ersetzen Sie die folgenden Werte:
-
SA_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:SA_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Ersetzen Sie die folgenden Werte:
-
PROJECT_ID
: die Projekt-ID -
SA_NAME
: der Name des Dienstkontos -
ROLE_NAME
: ein Rollenname, z. B.roles/compute.osLogin
-
-
Optional: Damit Nutzer die Identität des Dienstkontos annehmen können, müssen Sie den Befehl
gcloud iam service-accounts add-iam-policy-binding
ausführen. Damit gewähren Sie einem Nutzer die Rolle „Dienstkontonutzer“ (roles/iam.serviceAccountUser
) für das Dienstkonto:gcloud iam service-accounts add-iam-policy-binding \ SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Ersetzen Sie die folgenden Werte:
-
PROJECT_ID
: die Projekt-ID -
SA_NAME
: der Name des Dienstkontos -
USER_EMAIL
: die E-Mail-Adresse des Nutzers
-
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 eine JSON-Antwort ähnlich wie diese 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" }
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 Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 starten