Dienstkonten erstellen und verwalten

Auf dieser Seite erfahren Sie, wie Sie Dienstkonten mit der Cloud Identity and Access Management API, der Google Cloud Platform ID und dem Befehlszeilentool gcloud erstellen und verwalten.

Wenn Sie ein neues Cloud-Projekt erstellen, werden von der Google Cloud Platform (GCP) automatisch ein Compute Engine-Dienstkonto und ein App Engine-Dienstkonto unter dem Projekt erstellt. Sie können bis zu 98 weitere Dienstkonten dem Projekt hinzufügen, um den Zugriff auf die Ressourcen zu steuern.

Vorbereitung

Erforderliche Berechtigung

Gewähren Sie eine der folgenden Rollen, um zuzulassen, dass ein Nutzer Dienstkonten verwalten kann:

  • Dienstkontonutzer (roles/iam.serviceAccountUser): Gewährt Berechtigungen zum Abrufen, Auflisten oder Übernehmen der Identität eines Dienstkontos
  • Dienstkontoadministrator (roles/iam.serviceAccountAdmin): Hat die Berechtigungen eines Dienstkontonutzers und kann außerdem Berechtigungen zum Erstellen, Aktualisieren, Löschen, Festlegen oder Abrufen der Cloud IAM-Richtlinie für ein Dienstkonto erteilen.

Primitive Cloud IAM-Rollen enthalten auch Berechtigungen zum Verwalten von Dienstkonten. Wir empfehlen jedoch, eine der oben genannten vordefinierten Rollen zu gewähren, um nicht benötigten Zugriff auf andere GCP-Ressourcen auszuschließen.

Weitere Informationen zu Rollen für Dienstkonten finden Sie im Thema Dienstkontorollen.

Dienstkonto erstellen

Das Erstellen eines Dienstkontos ist mit dem Hinzufügen eines Mitglieds zu Ihrem Projekt vergleichbar. Das Dienstkonto gehört jedoch eher zu Ihren Anwendungen als zu einem bestimmten Endnutzer.

In den folgenden Beispielen ist [SA-NAME] der Name des von Ihnen angegebenen Dienstkontos, z. B. my-service-account. Dabei handelt es sich um eine eindeutige ID, die in der E-Mail-Adresse des Dienstkontos angezeigt wird, die während der Erstellung bereitgestellt wird, z. B. my-service-account@project-name.iam.gserviceaccount.com. Sie wird auch verwendet, um das Dienstkonto mit anderen APIs zu aktualisieren. Nach ihrer Erstellung kann sie nicht geändert werden. [SA-DISPLAY-NAME] ist ein Anzeigename für das von Ihnen angegebene Dienstkonto. [PROJECT-ID] ist die ID des Google Cloud Platform-Projekts.

Nutzer benötigen mindestens die Rolle Dienstkontoadministrator (roles/iam.serviceAccountAdmin) oder die einfache Rolle Bearbeiter (roles/editor), um ein Dienstkonto zu erstellen.

Console

  1. Öffnen Sie die Seite Dienstkonten in der GCP Console.

    Seite "Dienstkonten" öffnen

  2. Klicken Sie auf Projekt auswählen.

  3. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

  4. Klicken Sie auf Dienstkonto erstellen.

  5. Geben Sie einen Namen für das Dienstkonto ein, wählen Sie eine Rolle aus, die Sie dem Dienstkonto zuweisen möchten, und klicken Sie danach auf Speichern.

GCLOUD-BEFEHL

Mit dem Befehl gcloud iam service-accounts create erstellen Sie ein Dienstkonto.

Befehl:

gcloud iam service-accounts create [SA-NAME]
    --display-name "[SA-DISPLAY-NAME]"

Die Ausgabe ist das Dienstkonto:

Created service account [SA-NAME].

REST API

Mit Aufruf der Methode serviceAccounts.create() erstellen Sie ein Dienstkonto.

POST https://iam.googleapis.com/v1/projects/[PROJECT-ID]/serviceAccounts

Der Text der Anfrage sollte die Properties für das Dienstkonto enthalten.

{
    "accountId": "[SA-NAME]",
    "serviceAccount": {
        "displayName": "[SA-DISPLAY-NAME]",
    }
}

Antwort:

{
    "name": "projects/PROJECT-ID/serviceAccounts/SA-NAME@PROJECT-ID.iam.gserviceaccount.com",
    "projectId": "PROJECT-ID",
    "uniqueId": "113948692397867021414",
    "email": "SA-NAME@PROJECT-ID.iam.gserviceaccount.com",
    "displayName": "SA-DISPLAY-NAME",
    "etag": "BwUp3rVlzes=",
    "oauth2ClientId": "117249000288840666939"
}

C#

Für dieses Beispiel müssen Sie C# wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM C# API.

public static ServiceAccount CreateServiceAccount(string projectId,
    string name, string displayName)
{
    var request = new CreateServiceAccountRequest
    {
        AccountId = name,
        ServiceAccount = new ServiceAccount
        {
            DisplayName = displayName
        }
    };

    ServiceAccount serviceAccount = s_iam.Projects.ServiceAccounts
        .Create(request, "projects/" + projectId).Execute();

    Console.WriteLine("Created service account: " + serviceAccount.Email);
    return serviceAccount;
}

Go

Für dieses Beispiel müssen Sie Go wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Go API.

import (
	"context"
	"fmt"
	"io"

	"golang.org/x/oauth2/google"
	iam "google.golang.org/api/iam/v1"
)

// createServiceAccount creates a service account.
func createServiceAccount(w io.Writer, projectID, name, displayName string) (*iam.ServiceAccount, error) {
	client, err := google.DefaultClient(context.Background(), iam.CloudPlatformScope)
	if err != nil {
		return nil, fmt.Errorf("google.DefaultClient: %v", err)
	}
	service, err := iam.New(client)
	if err != nil {
		return nil, fmt.Errorf("iam.New: %v", err)
	}

	request := &iam.CreateServiceAccountRequest{
		AccountId: name,
		ServiceAccount: &iam.ServiceAccount{
			DisplayName: displayName,
		},
	}
	account, err := service.Projects.ServiceAccounts.Create("projects/"+projectID, request).Do()
	if err != nil {
		return nil, fmt.Errorf("Projects.ServiceAccounts.Create: %v", err)
	}
	fmt.Fprintf(w, "Created service account: %v", account)
	return account, nil
}

Java

Für dieses Beispiel müssen Sie Java wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Java API.

public ServiceAccount createServiceAccount(String projectId, String name, String displayName)
    throws IOException {

  ServiceAccount serviceAccount = new ServiceAccount();
  serviceAccount.setDisplayName(displayName);
  CreateServiceAccountRequest request = new CreateServiceAccountRequest();
  request.setAccountId(name);
  request.setServiceAccount(serviceAccount);

  serviceAccount =
      service.projects().serviceAccounts().create("projects/" + projectId, request).execute();

  System.out.println("Created service account: " + serviceAccount.getEmail());
  return serviceAccount;
}

Python

Für dieses Beispiel müssen Sie Python wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Python API.

def create_service_account(project_id, name, display_name):
    """Creates a service account."""

    # pylint: disable=no-member
    service_account = service.projects().serviceAccounts().create(
        name='projects/' + project_id,
        body={
            'accountId': name,
            'serviceAccount': {
                'displayName': display_name
            }
        }).execute()

    print('Created service account: ' + service_account['email'])
    return service_account

Nachdem Sie ein Dienstkonto erstellt haben, weisen Sie dem Dienstkonto mindestens eine Rolle zu, damit es Aufgaben für Sie erfüllen kann.

Dienstkonten auflisten

Bei der Auflistung von Dienstkonten können Sie Parameter angeben, um die Anzahl der Dienstkonten zu beschränken, die in der Antwort enthalten sind. Anschließend haben Sie die Möglichkeit, ListServiceAccountsResponse.next_page_token in einer nachfolgenden Anfrage für die Auflistung der übrigen Dienstkonten zu nutzen.

Verwenden Sie diese Methode, um Dienstkonten und Schlüssel zu überprüfen oder um benutzerdefinierte Tools für die Verwaltung von Dienstkonten zu erstellen.

Nutzer benötigen mindestens die Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) oder die einfache Rolle Betrachter (roles/viewer), um Dienstkonten aufzulisten.

Console

  1. Öffnen Sie die Seite Dienstkonten in der GCP Console.

    Seite "Dienstkonten" öffnen

  2. Klicken Sie auf Projekt auswählen.

  3. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen. Alle Dienstkonten werden auf der Seite "Dienstkonten" aufgelistet.

GCLOUD-BEFEHL

Mit dem Befehl gcloud iam service-accounts list können Sie alle Dienstkonten in einem Projekt auflisten.

Befehl:

gcloud iam service-accounts list

Die Ausgabe ist die Liste aller Dienstkonten im Projekt:

NAME                    EMAIL
SA-DISPLAY-NAME-1       SA-NAME-1@PROJECT-ID.iam.gserviceaccount.com
SA-DISPLAY-NAME-2       SA-NAME-2@PROJECT-ID.iam.gserviceaccount.com

REST API

Rufen Sie die Methode serviceAccounts.list() auf.

Anfrage:

GET https://iam.googleapis.com/v1/projects/[PROJECT-ID]/serviceAccounts

Antwort:

{
    "accounts": [
    {
        "name": "projects/PROJECT-ID/serviceAccounts/SA-NAME-1@PROJECT-ID.iam.gserviceaccount.com",
        "projectId": "PROJECT-ID",
        "uniqueId": "108979773878059201436",
        "email": "SA-NAME-1@PROJECT-ID.iam.gserviceaccount.com",
        "displayName": "SA-DISPLAY-NAME-1",
        "etag": "BwUpTsLVUkQ=",
        "oauth2ClientId": "102240834887833340852"
    },
    {
        "name": "projects/PROJECT-ID/serviceAccounts/SA-NAME-2@PROJECT-ID.iam.gserviceaccount.com",
        "projectId": "PROJECT-ID",
        "uniqueId": "108979773878059201436",
        "email": "SA-NAME-2@PROJECT-ID.iam.gserviceaccount.com",
        "displayName": "SA-DISPLAY-NAME-2",
        "etag": "BwUpTsLVUkQ=",
        "oauth2ClientId": "102240834887833340852"
    }]
}

C#

Für dieses Beispiel müssen Sie C# wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM C# API.

public static IList<ServiceAccount> ListServiceAccounts(string projectId)
{
    ListServiceAccountsResponse response = s_iam.Projects.ServiceAccounts
        .List("projects/" + projectId).Execute();
    IList<ServiceAccount> serviceAccounts = response.Accounts;

    foreach (ServiceAccount account in serviceAccounts)
    {
        Console.WriteLine("Name: " + account.Name);
        Console.WriteLine("Display Name: " + account.DisplayName);
        Console.WriteLine("Email: " + account.Email);
        Console.WriteLine();
    }
    return serviceAccounts;
}

Go

Für dieses Beispiel müssen Sie Go wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Go API.

import (
	"context"
	"fmt"
	"io"

	"golang.org/x/oauth2/google"
	iam "google.golang.org/api/iam/v1"
)

// listServiceAccounts lists a project's service accounts.
func listServiceAccounts(w io.Writer, projectID string) ([]*iam.ServiceAccount, error) {
	client, err := google.DefaultClient(context.Background(), iam.CloudPlatformScope)
	if err != nil {
		return nil, fmt.Errorf("google.DefaultClient: %v", err)
	}
	service, err := iam.New(client)
	if err != nil {
		return nil, fmt.Errorf("iam.New: %v", err)
	}

	response, err := service.Projects.ServiceAccounts.List("projects/" + projectID).Do()
	if err != nil {
		return nil, fmt.Errorf("Projects.ServiceAccounts.List: %v", err)
	}
	for _, account := range response.Accounts {
		fmt.Fprintf(w, "Listing service account: %v\n", account.Name)
	}
	return response.Accounts, nil
}

Java

Für dieses Beispiel müssen Sie Java wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Java API.

public List<ServiceAccount> listServiceAccounts(String projectId) throws IOException {

  ListServiceAccountsResponse response =
      service.projects().serviceAccounts().list("projects/" + projectId).execute();
  List<ServiceAccount> serviceAccounts = response.getAccounts();

  for (ServiceAccount account : serviceAccounts) {
    System.out.println("Name: " + account.getName());
    System.out.println("Display Name: " + account.getDisplayName());
    System.out.println("Email: " + account.getEmail());
    System.out.println();
  }
  return serviceAccounts;
}

Python

Für dieses Beispiel müssen Sie Python wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Python API.

def list_service_accounts(project_id):
    """Lists all service accounts for the current project."""

    # pylint: disable=no-member
    service_accounts = service.projects().serviceAccounts().list(
        name='projects/' + project_id).execute()

    for account in service_accounts['accounts']:
        print('Name: ' + account['name'])
        print('Email: ' + account['email'])
        print(' ')
    return service_accounts

Dienstkonto umbenennen

Der Anzeigename eines Dienstkontos wird in der Regel verwendet, um zusätzliche Informationen zum Dienstkonto zu erheben, beispielsweise dessen Zweck oder eine Kontaktperson.

Nutzer benötigen mindestens die Rolle Dienstkontoadministrator (roles/iam.serviceAccountAdmin) oder die einfache Rolle Bearbeiter (roles/editor), um ein Dienstkonto umzubenennen.

Console

  1. Öffnen Sie die Seite Dienstkonten in der GCP Console.

    Seite "Dienstkonten" öffnen

  2. Klicken Sie auf Projekt auswählen.
  3. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.
  4. Suchen Sie nach dem Dienstkonto, das Sie umbenennen möchten, klicken Sie auf die Schaltfläche Mehr more_vert in dieser Zeile und anschließend auf Bearbeiten.
  5. Geben Sie den neuen Namen ein und klicken Sie auf Speichern.

GCLOUD-BEFEHL

Mit dem Befehl gcloud iam service-accounts update aktualisieren Sie ein Dienstkonto.

Befehl:

gcloud iam service-accounts update
    [SA-NAME]@[PROJECT-ID].iam.gserviceaccount.com
    --display-name "[UPDATED-DISPLAY-NAME]"

Die Ausgabe ist das umbenannte Dienstkonto:

displayName: Updated display name
email: SA-NAME@PROJECT-ID.iam.gserviceaccount.com
etag: BwUqQpHDCw8=
name: projects/PROJECT-ID/serviceAccounts/SA-NAME@PROJECT-ID.iam.gserviceaccount.com
oauth2ClientId: '112984177383228986143'
projectId: PROJECT-ID
uniqueId: '112984177383228986143'

REST API

Verwenden Sie die Methode serviceAccounts.update().

Anfrage:

PUT https://iam.googleapis.com/v1/projects/[PROJECT-ID]/serviceAccounts/[SA-NAME]@[PROJECT-ID].iam.gserviceaccount.com

Der Text der Anfrage muss den neuen Anzeigenamen, die Projekt-ID sowie die eindeutige ID und die E-Mail-Adresse des Dienstkontos enthalten.

{
    "displayName":"[UPDATED-DISPLAY-NAME]",
    "etag":"BwUpVKjgNtE=",
    "projectId":"[PROJECT-ID]",
    "uniqueId":"107522985251862639552",
    "email":"[SA-NAME]@[PROJECT-ID].iam.gserviceaccount.com",
}

Antwort:

{
    "name": "projects/PROJECT-ID/serviceAccounts/SA-NAME@PROJECT-ID.iam.gserviceaccount.com",
    "projectId": "PROJECT-ID",
    "uniqueId": "107522985251862639552",
    "email": "SA-NAME@PROJECT-ID.iam.gserviceaccount.com",
    "displayName": "Updated display name",
    "etag": "BwUqLK4bL9U=",
    "oauth2ClientId": "105236325228757713905"
}

C#

Für dieses Beispiel müssen Sie C# wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM C# API.

public static ServiceAccount RenameServiceAccount(string email,
    string newDisplayName)
{
    // First, get a ServiceAccount using List() or Get()
    string resource = "projects/-/serviceAccounts/" + email;
    ServiceAccount serviceAccount = s_iam.Projects.ServiceAccounts
        .Get(resource).Execute();

    // Then you can update the display name
    serviceAccount.DisplayName = newDisplayName;
    serviceAccount = s_iam.Projects.ServiceAccounts.Update(
        serviceAccount, resource).Execute();

    Console.WriteLine($"Updated display name for {serviceAccount.Email} " +
        "to: " + serviceAccount.DisplayName);
    return serviceAccount;
}

Go

Für dieses Beispiel müssen Sie Go wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Go API.

import (
	"context"
	"fmt"
	"io"

	"golang.org/x/oauth2/google"
	iam "google.golang.org/api/iam/v1"
)

// renameServiceAccount renames a service account.
func renameServiceAccount(w io.Writer, email, newDisplayName string) (*iam.ServiceAccount, error) {
	client, err := google.DefaultClient(context.Background(), iam.CloudPlatformScope)
	if err != nil {
		return nil, fmt.Errorf("google.DefaultClient: %v", err)
	}
	service, err := iam.New(client)
	if err != nil {
		return nil, fmt.Errorf("iam.New: %v", err)
	}

	// First, get a ServiceAccount using List() or Get().
	resource := "projects/-/serviceAccounts/" + email
	serviceAccount, err := service.Projects.ServiceAccounts.Get(resource).Do()
	if err != nil {
		return nil, fmt.Errorf("Projects.ServiceAccounts.Get: %v", err)
	}
	// Then you can update the display name.
	serviceAccount.DisplayName = newDisplayName
	serviceAccount, err = service.Projects.ServiceAccounts.Update(resource, serviceAccount).Do()
	if err != nil {
		return nil, fmt.Errorf("Projects.ServiceAccounts.Update: %v", err)
	}

	fmt.Fprintf(w, "Updated service account: %v", serviceAccount.Email)
	return serviceAccount, nil
}

Java

Für dieses Beispiel müssen Sie Java wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Java API.

public ServiceAccount renameServiceAccount(String email, String newDisplayName)
    throws IOException {

  // First, get a service account using List() or Get()
  ServiceAccount serviceAccount =
      service.projects().serviceAccounts().get("projects/-/serviceAccounts/" + email).execute();

  // Then you can update the display name
  serviceAccount.setDisplayName(newDisplayName);
  service.projects().serviceAccounts().update(serviceAccount.getName(), serviceAccount).execute();

  System.out.println(
      "Updated display name for " + serviceAccount.getName() + " to: " + newDisplayName);
  return serviceAccount;
}

Python

Für dieses Beispiel müssen Sie Python wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Python API.

def rename_service_account(email, new_display_name):
    """Changes a service account's display name."""

    # First, get a service account using List() or Get()
    resource = 'projects/-/serviceAccounts/' + email
    # pylint: disable=no-member
    service_account = service.projects().serviceAccounts().get(
        name=resource).execute()

    # Then you can update the display name
    service_account['displayName'] = new_display_name
    service_account = service.projects().serviceAccounts().update(
        name=resource, body=service_account).execute()

    print('Updated display name for {} to: {}'.format(
        service_account['email'], service_account['displayName']))
    return service_account

Dienstkonto löschen

Wenn Sie ein Dienstkonto löschen, haben die Anwendungen über dieses Dienstkonto keinen Zugriff mehr auf Google Cloud Platform-Ressourcen. Wenn Sie die App Engine- und Compute Engine-Dienstkonten löschen, haben die Instanzen keinen Zugriff mehr auf Ressourcen in dem Projekt.

Sie sollten mit Bedacht löschen und darauf achten, dass das Dienstkonto, das Sie löschen möchten, von Ihren kritischen Anwendungen nicht mehr verwendet wird. Beachten Sie außerdem, dass die Rollenbindungen eines gelöschtes Dienstkontos nicht sofort entfernt werden. Sie werden spätestens nach 60 Tagen automatisch aus dem System gelöscht.

Nutzer benötigen mindestens die Rolle Dienstkontoadministrator (roles/iam.serviceAccountAdmin) oder die einfache Rolle Bearbeiter (roles/editor), um ein Dienstkonto zu löschen.

Console

  1. Öffnen Sie die Seite Dienstkonten in der GCP Console.

    Seite "Dienstkonten" öffnen

  2. Klicken Sie auf Projekt auswählen.

  3. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

  4. Wählen Sie die Dienstkonten aus, die Sie löschen möchten, und klicken Sie auf Löschen delete.

GCLOUD-BEFEHL

Mit dem Befehl gcloud iam service-accounts delete löschen Sie ein Dienstkonto.

Befehl:

gcloud iam service-accounts delete
  [SA-NAME]@[PROJECT-ID].iam.gserviceaccount.com

Ausgabe:

Deleted service account SA-NAME@PROJECT-ID.iam.gserviceaccount.com

REST API

Verwenden Sie die Methode serviceAccounts.delete().

DELETE https://iam.googleapis.com/v1/projects/[PROJECT-ID]/serviceAccounts/[SA-NAME]@[PROJECT-ID].iam.gserviceaccount.com

C#

Für dieses Beispiel müssen Sie C# wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM C# API.

public static void DeleteServiceAccount(string email)
{
    string resource = "projects/-/serviceAccounts/" + email;
    s_iam.Projects.ServiceAccounts.Delete(resource).Execute();

    Console.WriteLine("Deleted service account: " + email);
}

Go

Für dieses Beispiel müssen Sie Go wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Go API.

import (
	"context"
	"fmt"
	"io"

	"golang.org/x/oauth2/google"
	iam "google.golang.org/api/iam/v1"
)

// deleteServiceAccount deletes a service account.
func deleteServiceAccount(w io.Writer, email string) error {
	client, err := google.DefaultClient(context.Background(), iam.CloudPlatformScope)
	if err != nil {
		return fmt.Errorf("google.DefaultClient: %v", err)
	}
	service, err := iam.New(client)
	if err != nil {
		return fmt.Errorf("iam.New: %v", err)
	}

	_, err = service.Projects.ServiceAccounts.Delete("projects/-/serviceAccounts/" + email).Do()
	if err != nil {
		return fmt.Errorf("Projects.ServiceAccounts.Delete: %v", err)
	}
	fmt.Fprintf(w, "Deleted service account: %v", email)
	return nil
}

Java

Für dieses Beispiel müssen Sie Java wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Java API.

public void deleteServiceAccount(String email) throws IOException {

  service.projects().serviceAccounts().delete("projects/-/serviceAccounts/" + email).execute();

  System.out.println("Deleted service account: " + email);
}

Python

Für dieses Beispiel müssen Sie Python wie unter Cloud IAM-Schnellstart zur Verwendung von Clientbibliotheken beschrieben einrichten. Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud IAM Python API.

def delete_service_account(email):
    """Deletes a service account."""

    # pylint: disable=no-member
    service.projects().serviceAccounts().delete(
        name='projects/-/serviceAccounts/' + email).execute()

    print('Deleted service account: ' + email)

Sie sollten kein neues Dienstkonto erstellen, das denselben Namen hat wie das gelöschte Dienstkonto. Das kann zu unerwartetem Verhalten führen. Weitere Informationen finden Sie unter Dienstkonten löschen und neu erstellen.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Dokumentation zu Cloud Identity and Access Management