Auf dieser Seite wird beschrieben, wie Sie benutzerdefinierte IAM-Rollen (Identity and Access Management) erstellen und verwalten. Das Verwalten von Rollen umfasst das Ändern, Deaktivieren, Auflisten, Löschen und Wiederherstellen von Rollen.
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.
Machen Sie sich mit der Google Cloud-Ressourcenhierarchie vertraut.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von benutzerdefinierten Rollen benötigen:
- So verwalten Sie Rollen für ein Projekt: Rollenadministrator (
roles/iam.roleAdmin
) für das Projekt, für das Sie Rollen verwalten möchten -
So verwalten Sie Rollen für eine Organisation: Organisationsrollenadministrator (
roles/iam.organizationRoleAdmin
) der Organisation, für die Sie Rollen verwalten möchten
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.
Verfügbare Berechtigungen für Projekte, Ordner und Organisationen aufrufen
Sie können benutzerdefinierte Rollen für eine gesamte Organisation oder für ein bestimmtes Projekt in dieser Organisation erstellen. Welche Berechtigungen für benutzerdefinierte Rollen verfügbar sind, hängt davon ab, wo Sie die Rolle erstellen. Wenn eine Berechtigung beispielsweise nur auf Organisationsebene verwendet werden kann, können Sie sie nicht in eine benutzerdefinierte Rolle auf Projektebene aufnehmen.
Zum Prüfen, welche Berechtigungen für benutzerdefinierte Rollen auf Organisations- und Projektebene verfügbar sind, können Sie gcloud CLI oder die Identity and Access Management API verwenden, um die Berechtigungen aufzulisten, die in einer bestimmten Organisation oder einem bestimmten Projekt verfügbar sind. Beispielsweise können Sie alle Berechtigungen abrufen, die für benutzerdefinierte Rollen verfügbar sind, die in Ihrem Projekt erstellt werden.
Einige Berechtigungen sind für Sie möglicherweise nicht sichtbar oder in einer benutzerdefinierten Rolle nicht verwendbar, auch wenn sie in benutzerdefinierten Rollen unterstützt werden. Beispielsweise ist eine Berechtigung möglicherweise nicht für die Verwendung in benutzerdefinierten Rollen verfügbar, wenn Sie die API für den Dienst nicht aktiviert haben.
Weitere Informationen zu den Berechtigungen, die Sie benutzerdefinierten Rollen hinzufügen können, finden Sie unter Unterstützte Berechtigungen.
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.
-
Verwenden Sie den Befehl
gcloud iam list-testable-permissions
, um eine Liste von Berechtigungen abzurufen, die für benutzerdefinierte Rollen in einem bestimmten Projekt oder einer bestimmten Organisation verfügbar sind. In der Antwort sind die Berechtigungen aufgeführt, die Sie in benutzerdefinierten Rollen für dieses Projekt oder diese Organisation verwenden können.Führen Sie den folgenden Befehl aus, um die Berechtigungen aufzulisten, die in benutzerdefinierten Rollen für ein Projekt oder eine Organisation verfügbar sind:
gcloud iam list-testable-permissions FULL_RESOURCE_NAME \ --filter="customRolesSupportLevel!=NOT_SUPPORTED"
Ersetzen Sie
FULL_RESOURCE_NAME
durch einen der folgenden Werte:-
Projekt:
//cloudresourcemanager.googleapis.com/projects/PROJECT_ID
(z. B.//cloudresourcemanager.googleapis.com/projects/my-project
) -
Organisation:
//cloudresourcemanager.googleapis.com/organizations/NUMERIC_ID
(z. B.//cloudresourcemanager.googleapis.com/organizations/123456789012
)
In den Ergebnissen wird angezeigt, ob die jeweiligen Berechtigungen in benutzerdefinierten Rollen unterstützt werden. Berechtigungen ohne das Feld
customRolesSupportLevel
werden vollständig unterstützt.Der Befehl
list-testable-permissions
gibt möglicherweise Hunderte von Ergebnissen zurück. Dieses unvollständige Beispiel zeigt das Format der einzelnen Ergebnisse:--- name: appengine.applications.create stage: GA --- customRolesSupportLevel: TESTING name: appengine.applications.disable stage: GA --- name: appengine.applications.get stage: GA --- name: appengine.applications.update stage: GA --- name: appengine.instances.delete stage: GA --- name: appengine.instances.get stage: GA ---
-
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
permissions.queryTestablePermissions
werden die in einer Organisation oder einem Projekt verfügbaren Berechtigungen aufgelistet.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
FULL_RESOURCE_NAME
: URI, der aus dem Dienstnamen und dem Pfad zur Ressource besteht. Beispiele finden Sie unter Vollständige Ressourcennamen.PAGE_SIZE
: Optional. Die Anzahl der Berechtigungen, die in der Antwort enthalten sein sollen. Der Standardwert ist 100 und der Höchstwert 1.000. Wenn die Anzahl der Berechtigungen größer als die Seitengröße ist, enthält die Antwort ein Paginierungstoken, mit dem Sie die nächste Ergebnisseite abrufen können.NEXT_PAGE_TOKEN
: Optional. Das Paginierungstoken, das in einer früheren Antwort von dieser Methode zurückgegeben wurde. Wenn dieser Wert angegeben wird, beginnt die Liste der testbaren Berechtigungen dort, wo die vorherige Antwort endet.
HTTP-Methode und URL:
POST https://iam.googleapis.com/v1/permissions:queryTestablePermissions
JSON-Text anfordern:
{ "fullResourceName": "FULL_RESOURCE_NAME" "pageSize": PAGE_SIZE, "pageToken": "NEXT_PAGE_TOKEN" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält die Liste der Berechtigungen.
{ "permissions": [ { "name": "iam.serviceAccountKeys.create", "stage": "GA" }, { "name": "iam.serviceAccountKeys.delete", "stage": "GA" }, { "name": "iam.serviceAccountKeys.get", "stage": "GA" } ], "nextPageToken": "CgoHBajEfjUDQyABEPaIv5vIiMDTVhgDIhtpYW0uc2VydmljZUFjY291bnRLZXlzLmxpc3Q" }
Metadaten für die Rolle abrufen
Bevor Sie eine benutzerdefinierte Rolle erstellen, können Sie die Metadaten für sowohl vordefinierte als auch benutzerdefinierte Rollen abrufen. Die Rollenmetadaten umfassen die Rollen-ID und die in der Rolle enthaltenen Berechtigungen. Sie können die Metadaten über die Google Cloud Console oder die IAM API anzeigen lassen.
Verwenden Sie eine der folgenden Methoden, um die Rollenmetadaten aufzurufen:
Console
Öffnen Sie in der Google Cloud Console die Seite Rollen.
Wählen Sie oben auf der Seite aus der Drop-down-Liste Ihre Organisation oder Ihr Projekt aus.
Klicken Sie das Kästchen für eine oder mehrere Rollen an, um die Rollenberechtigungen aufzurufen. In der rechten Seitenleiste werden die Berechtigungen aufgeführt, die gegebenenfalls in den Rollen enthalten sind.
Die Symbole in der Spalte Typ geben an, ob es sich um eine benutzerdefinierte Rolle
oder um eine vordefinierte Rolle handelt.Wenn Sie alle Rollen mit einer bestimmten Berechtigung auflisten möchten, geben Sie den Namen der Berechtigung in das Feld Filter oben in der Liste "Rollen" ein.
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.
-
Verwenden Sie den Befehl
gcloud iam roles describe
, um Metadaten für vordefinierte Rollen und benutzerdefinierte Rollen aufzurufen.Führen Sie den folgenden -Befehl aus, um die Metadaten für eine vordefinierte Rolle aufzurufen:
gcloud iam roles describe ROLE_ID
ROLE_ID
ist die ID der Rolle. Vordefinierte Rollen enthalten in ihren IDs das Präfixrole
, z. B.roles/iam.roleViewer
.Das folgende Beispiel zeigt die Ausgabe des Befehls
describe
, wenn er für die vordefinierte Rolleroles/iam.roleViewer
ausgeführt wird:gcloud iam roles describe roles/iam.roleViewer
description: Read access to all custom roles in the project. etag: AA== includedPermissions: - iam.roles.get - iam.roles.list - resourcemanager.projects.get - resourcemanager.projects.getIamPolicy name: roles/iam.roleViewer stage: GA title: Role Viewer
Führen Sie einen der folgenden -Befehle aus, um die Metadaten für eine benutzerdefinierte Rolle aufzurufen:
-
Führen Sie den folgenden Befehl aus, um die Metadaten für eine benutzerdefinierte Rolle aufzurufen, die auf Organisationsebene erstellt wurde:
gcloud iam roles describe --organization=ORGANIZATION_ID ROLE_ID
-
Führen Sie den folgenden Befehl aus, um die Metadaten für eine benutzerdefinierte Rolle aufzurufen, die auf Projektebene erstellt wurde:
gcloud iam roles describe --project=PROJECT_ID ROLE_ID
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
. -
ROLE_ID
ist die ID der Rolle ohne Präfixe, z. B.projects/
,organizations/
oderroles/
. Beispiel:myCompanyAdmin
.
Weitere Informationen finden Sie in der Referenzdokumentation zu
gcloud iam roles describe
. -
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
roles.get
wird die Definition einer Rolle abgerufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
ROLE_NAME
: Der vollständige Rollenname, einschließlich der Präfixeorganizations/
,projects/
undroles/
. Beispiel:organizations/123456789012/roles/myCompanyAdmin
.
HTTP-Methode und URL:
GET https://iam.googleapis.com/v1/ROLE_NAME
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält die Rollendefinition.
{ "name": "projects/my-project/roles/customRole", "title": "My Custom Role", "description": "My custom role description.", "includedPermissions": [ "storage.buckets.get", "storage.buckets.list" ], "etag": "BwWiPg2fmDE=" }
Benutzerdefinierte Rolle erstellen
Sie können eine benutzerdefinierte Rolle auf Projekt- oder Organisationsebene erstellen.
Eine benutzerdefinierte Rolle auf Organisationsebene kann alle IAM-Berechtigungen enthalten, die in benutzerdefinierten Rollen unterstützt werden. Eine benutzerdefinierte Rolle auf Projektebene kann alle unterstützten Berechtigungen enthalten, außer Berechtigungen, die nur auf Organisations- oder Ordnerebene verwendet werden können, z. B.
resourcemanager.organizations.get
. Wenn Sie versuchen, diese Berechtigungen einer benutzerdefinierten Rolle auf Projektebene hinzuzufügen, wird eine Fehlermeldung angezeigt:Console
Console: Die folgende Warnmeldung wird angezeigt: „Nicht anwendbar für benutzerdefinierte Rollen auf Projektebene“. Die Berechtigung wird automatisch aus der Liste der enthaltenen Berechtigungen entfernt und Sie können mit dem Erstellen der Rolle fortfahren.
gcloud
Die folgende Fehlermeldung wird zurückgegeben:
INVALID_ARGUMENT: Permission PERMISSION is not valid
. Die benutzerdefinierte Rolle wird erst erstellt, wenn Sie die Berechtigung aus der Rollendefinition entfernen und den Vorgang wiederholen.REST API
Die folgende Fehlermeldung wird zurückgegeben:
Permission PERMISSION is not valid
, zusammen mit einem HTTP 400-Fehlercode und dem StatusINVALID_ARGUMENT
. Die benutzerdefinierte Rolle wird erst erstellt, wenn Sie die Berechtigung aus der Rollendefinition entfernen und den Vorgang wiederholen.Jede benutzerdefinierte Rolle kann bis zu 3.000 Berechtigungen enthalten. Außerdem beträgt die maximale Gesamtgröße von Titel, Beschreibung und Berechtigungsnamen für eine benutzerdefinierte Rolle 64 KB. Wenn Sie eine umfangreichere benutzerdefinierte Rolle erstellen müssen, können Sie die Berechtigungen auf mehrere benutzerdefinierte Rollen aufteilen. Wählen Sie Rollentitel aus, die die Beziehung zwischen den benutzerdefinierten Rollen verdeutlichen, z. B.
Custom Admin (1 of 2)
undCustom Admin (2 of 2)
.Jede benutzerdefinierte Rolle kann eine Einführungsphase haben. Die meisten Einführungsphasen sind informativ und helfen Ihnen dabei zu erfassen, ob jede Rolle für den Einsatz bereit ist. Außerdem können Sie in der Einführungsphase
DISABLED
eine benutzerdefinierte Rolle deaktivieren. Weitere Informationen zu den Einführungsphasen finden Sie unter Tests und Bereitstellung.Console
Einige vordefinierte Rollen enthalten verworfene Berechtigungen oder Berechtigungen, die aus anderen Gründen nicht in benutzerdefinierten Rollen zugelassen sind. Wenn Sie versuchen, eine benutzerdefinierte Rolle auf der Grundlage einer dieser vordefinierten Rollen zu erstellen, werden die verworfenen und eingeschränkten Berechtigungen in der benutzerdefinierten Rolle weggelassen.
So erstellen Sie eine neue benutzerdefinierte Rolle:
Öffnen Sie in der Google Cloud Console die Seite Rollen.
Wählen Sie oben auf der Seite in der Drop-down-Liste die Organisation oder das Projekt aus, in dem Sie eine Rolle erstellen möchten.
Klicken Sie auf Rolle erstellen.
Geben Sie einen Titel, eine Beschreibung, eine ID und eine Phase der Rollenerstellung für die Rolle ein. Die Rollen-ID kann nach dem Erstellen der Rolle nicht mehr geändert werden.
Klicken Sie auf Berechtigungen hinzufügen.
Wählen Sie die Berechtigungen aus, die Sie der Rolle hinzufügen möchten, und klicken Sie auf Berechtigungen hinzufügen. Verwenden Sie die Drop-down-Listen Alle Dienste und Alle Typen, um Berechtigungen nach Diensten und Typen zu filtern und auszuwählen.
So erstellen Sie eine benutzerdefinierte Rolle auf der Grundlage einer vorhandenen vordefinierten Rolle:
- Öffnen Sie in der Google Cloud Console die Seite Rollen.
- Wählen Sie die Organisation oder das Projekt aus, in dem Sie eine Rolle erstellen möchten.
- Wählen Sie die Rollen aus, auf denen die neue benutzerdefinierte Rolle basieren soll.
- Klicken Sie auf Rolle aus Auswahl erstellen.
- Geben Sie einen Titel, eine Beschreibung, eine ID und eine Phase der Rollenerstellung für die Rolle ein. Die Rollen-ID kann nach dem Erstellen der Rolle nicht mehr geändert werden.
- Entfernen Sie die Häkchen aus den Kästchen neben den Berechtigungen, die von der Rolle ausgeschlossen werden sollen.
- Klicken Sie auf Berechtigungen hinzufügen, um Berechtigungen hinzuzufügen.
- Klicken Sie auf Erstellen.
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.
-
Verwenden Sie den Befehl
gcloud iam roles create
, um neue benutzerdefinierte Rollen zu erstellen. Dafür gibt es zwei Möglichkeiten:-
Durch Bereitstellen einer YAML-Datei mit der Rollendefinition
-
Durch Verwenden von Flags zum Angeben der Rollendefinition
Beim Erstellen einer benutzerdefinierten Rolle müssen Sie mithilfe der Flags
--organization=ORGANIZATION_ID
oder--project=PROJECT_ID
angeben, ob sie auf Organisationsebene oder Projektebene angewendet werden soll. Bei jedem der unten aufgeführten Beispiele wird eine benutzerdefinierte Rolle auf Projektebene erstellt.Eine benutzerdefinierte Rolle kann nur Berechtigungen enthalten, die in benutzerdefinierten Rollen unterstützt werden. Wenn die benutzerdefinierte Rolle andere Berechtigungen enthält, schlägt der Befehl fehl.
So erstellen Sie eine benutzerdefinierte Rolle mithilfe einer YAML-Datei:
Erstellen Sie eine YAML-Datei, die die Definition für Ihre benutzerdefinierte Rolle enthält. Die Datei muss folgendermaßen strukturiert sein:
title: ROLE_TITLE description: ROLE_DESCRIPTION stage: LAUNCH_STAGE includedPermissions: - PERMISSION_1 - PERMISSION_2
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_TITLE
ist der angezeigte Titel der Rolle, z. B."My Company Admin"
. -
ROLE_DESCRIPTION
ist eine kurze Beschreibung der Rolle, z. B."My custom role description"
. -
LAUNCH_STAGE
gibt die Phase einer Rolle im Einführungszyklus an, z. B.ALPHA
,BETA
oderGA
. -
PERMISSION_1
undPERMISSION_2
sind Berechtigungen, die in die benutzerdefinierte Rolle aufgenommen werden sollen, z. B.iam.roles.get
. In Berechtigungsnamen können Sie keine Platzhalterzeichen (*
) verwenden.
Speichern Sie die YAML-Datei und führen Sie dann einen der folgenden Befehle aus:
-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Organisationsebene zu erstellen:
gcloud iam roles create ROLE_ID--organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Projektebene zu erstellen:
gcloud iam roles create ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
. -
YAML_FILE_PATH
ist der Pfad zum Speicherort der YAML-Datei, die die Definition der benutzerdefinierten Rolle enthält.
Beispiele
Im folgenden Beispiel einer YAML-Datei ist zu sehen, wie eine Rollendefinition erstellt wird:
title: "My Company Admin" description: "My custom role description." stage: "ALPHA" includedPermissions: - iam.roles.get - iam.roles.list
Das folgende Beispiel zeigt, wie Sie mithilfe der YAML-Datei eine Rolle auf Organisationsebene erstellen:
gcloud iam roles create myCompanyAdmin --organization=123456789012 \ --file=my-role-definition.yaml
Wenn die Rolle erstellt wurde, sieht die Ausgabe des Befehls in etwa so aus:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Das folgende Beispiel zeigt, wie Sie mithilfe der YAML-Datei eine Rolle auf Projektebene erstellen:
gcloud iam roles create myCompanyAdmin --project=my-project \ --file=my-role-definition.yaml
Wenn die Rolle erstellt wurde, sieht die Ausgabe des Befehls in etwa so aus:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
So erstellen Sie eine benutzerdefinierte Rolle mithilfe von Flags:
Führen Sie einen der folgenden Befehle aus:
-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Organisationsebene zu erstellen:
gcloud iam roles create ROLE_ID--organization=ORGANIZATION_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --permissions="PERMISSIONS_LIST" --stage=LAUNCH_STAGE
-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Projektebene zu erstellen:
gcloud iam roles create ROLE_ID --project=PROJECT_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --permissions="PERMISSIONS_LIST" --stage=LAUNCH_STAGE
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
. -
ROLE_TITLE
ist der angezeigte Titel der Rolle, z. B."My Company Admin"
. -
ROLE_DESCRIPTION
ist eine kurze Beschreibung der Rolle, z. B."My custom role description."
. -
PERMISSIONS_LIST
enthält eine durch Kommas getrennte Liste von Berechtigungen, die Sie in die benutzerdefinierte Rolle aufnehmen möchten. Beispiel:iam.roles.get,iam.roles.list
. In Berechtigungsnamen können Sie keine Platzhalterzeichen (*
) verwenden. -
LAUNCH_STAGE
gibt die Phase einer Rolle im Einführungszyklus an, z. B.ALPHA
,BETA
oderGA
.
Beispiele
Das folgende Beispiel zeigt, wie Sie mithilfe von Flags eine Rolle auf Organisationsebene erstellen:
gcloud iam roles create myCompanyAdmin --organization=123456789012 \ --title="My Company Admin" --description="My custom role description." \ --permissions="iam.roles.get,iam.roles.list" --stage=ALPHA
Wenn die Rolle erstellt wurde, sieht die Ausgabe des Befehls in etwa so aus:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Das folgende Beispiel zeigt, wie Sie mithilfe von Flags eine Rolle auf Projektebene erstellen:
gcloud iam roles create myCompanyAdmin --project=my-project \ --title="My Company Admin" --description="My custom role description." \ --permissions="iam.roles.get,iam.roles.list" --stage=ALPHA
Wenn die Rolle erstellt wurde, sieht die Ausgabe des Befehls in etwa so aus:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
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
roles.create
wird eine benutzerdefinierte Rolle in einem Projekt oder einer Organisation erstellt.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
RESOURCE_TYPE
: Der Ressourcentyp, dessen benutzerdefinierte Rollen Sie verwalten möchten. Verwenden Sie den Wertprojects
oderorganizations
.RESOURCE_ID
: Die Projekt-ID oder Organisations-ID, deren benutzerdefinierte Rollen Sie verwalten möchten. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Organisations-IDs sind numerisch, z. B.123456789012
.ROLE_ID
: Der Name der Rolle, z. B.myCompanyAdmin
.ROLE_TITLE
: Der für Nutzer lesbare Titel der Rolle. Beispiel:My Company Admin
ROLE_DESCRIPTION
: Eine Beschreibung der Rolle. Beispiel:"The company admin role allows company admins to access important resources"
-
PERMISSION_1
undPERMISSION_2
: Die Berechtigungen, die Sie der Rolle zuweisen möchten. Beispiel:storage.objects.update
. In Berechtigungsnamen können Sie keine Platzhalterzeichen (*
) verwenden.Eine benutzerdefinierte Rolle kann nur Berechtigungen enthalten, die in benutzerdefinierten Rollen unterstützt werden. Wenn die benutzerdefinierte Rolle andere Berechtigungen enthält, schlägt die Anfrage fehl.
LAUNCH_STAGE
: Die aktuelle Startphase der Rolle. Dieses Feld kann einen der folgenden Werte enthalten:EAP
,ALPHA
,BETA
,GA
,DEPRECATED
oderDISABLED
.
HTTP-Methode und URL:
POST https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
JSON-Text anfordern:
{ "roleId": "ROLE_ID", "role": { "title": "ROLE_TITLE", "description": "ROLE_DESCRIPTION", "includedPermissions": [ "PERMISSION_1", "PERMISSION_2" ], "stage": "LAUNCH_STAGE" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält die von Ihnen erstellte Rolle.
{ "name": "projects/myProject/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWox/JbaZw=" }
Vorhandene benutzerdefinierte Rolle bearbeiten
Die Metadaten einer Ressource, beispielsweise einer benutzerdefinierten Rolle, werden häufig nach dem Muster read-modify-write aktualisiert. Bei diesem Muster lesen Sie den aktuellen Status der Rolle, aktualisieren die Daten lokal und senden dann die geänderten Daten zum Schreiben.
Das Read-Modify-Write-Muster kann einen Konflikt verursachen, wenn zwei oder mehr voneinander unabhängige Prozesse gleichzeitig nach diesem Muster verfahren. Wenn beispielsweise zwei Inhaber eines Projekts gleichzeitig versuchen, gegensätzliche Änderungen an der Rolle vorzunehmen, könnte es passieren, dass einige Änderungen nicht übernommen werden. IAM löst dieses Problem mithilfe eines
etag
-Attributs in benutzerdefinierten Rollen. Mit diesem Attribut wird überprüft, ob sich die benutzerdefinierte Rolle seit der letzten Anfrage geändert hat. Wenn Sie eine Anfrage mit einem ETag-Wert an IAM senden, vergleicht IAM den ETag-Wert in der Anfrage mit dem vorhandenen ETag-Wert, der der benutzerdefinierten Rolle zugeordnet ist. Die Änderung wird nur geschrieben, wenn die ETag-Werte übereinstimmen.Wenn Sie eine Rolle aktualisieren, rufen Sie zuerst die Rolle mit
roles.get()
auf, aktualisieren Sie die Rolle und schreiben dann mitroles.patch()
die aktualisierte Rolle. Verwenden Sie beim Festlegen der Rolle den Etag-Wert nur, wenn die entsprechende Rolle inroles.get()
einen Etag-Wert enthält.Console
Öffnen Sie in der Google Cloud Console die Seite Rollen.
Wählen Sie oben auf der Seite in der Drop-down-Liste das Projekt oder die Organisation aus, die die Rolle enthält, die Sie bearbeiten möchten.
Klicken Sie auf eine benutzerdefinierte Rolle.
Klicken Sie auf Rolle bearbeiten.
Bearbeiten Sie den Titel, die Beschreibung oder die Phase der Rolleneinführung, um die Metadaten der Rolle zu aktualisieren.
So aktualisieren Sie die Berechtigungen der Rolle:
- Klicken Sie auf Berechtigungen hinzufügen, um der Rolle neue Berechtigungen hinzuzufügen.
- Entfernen Sie die Häkchen aus den Kästchen neben den Berechtigungen, die von der Rolle ausgeschlossen werden sollen.
Klicken Sie auf Aktualisieren, um die bearbeitete Rolle zu speichern.
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.
-
Verwenden Sie den Befehl
gcloud iam roles update
, um benutzerdefinierte Rollen zu aktualisieren. Dafür gibt es zwei Möglichkeiten:-
Durch Bereitstellen einer YAML-Datei, die die Definition der aktualisierten Rolle enthält
-
Durch Verwenden von Flags zum Angeben der Definition der aktualisierten Rolle
Beim Aktualisieren einer benutzerdefinierten Rolle müssen Sie mit den Flags
--organization=ORGANIZATION_ID
oder--project=PROJECT_ID
angeben, ob sie auf Organisationsebene oder Projektebene angewendet werden soll. Bei jedem der unten aufgeführten Beispiele wird eine benutzerdefinierte Rolle auf Projektebene erstellt.So aktualisieren Sie eine benutzerdefinierte Rolle mithilfe einer YAML-Datei:
Um die aktuelle Definition für die Rolle abzurufen, führen Sie einen der folgenden Befehle aus:
-
Führen Sie den folgenden Befehl aus, um die Rollendefinition einer benutzerdefinierten Rolle auf Organisationsebene abzurufen:
gcloud iam roles describe ROLE_ID --organization=ORGANIZATION_ID
-
Führen Sie den folgenden Befehl aus, um die Rollendefinition einer benutzerdefinierten Rolle auf Projektebene abzurufen:
gcloud iam roles describe ROLE_ID --project=PROJECT_ID
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, die aktualisiert werden soll, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
.
Der
describe
-Befehl gibt die Definition der Rolle zurück und enthält einenetag
-Wert, der die aktuelle Version der Rolle identifiziert. Deretag
-Wert sollte in der aktualisierten Rollendefinition angegeben werden, um sicherzustellen, dass gleichzeitig ausgeführte Rollenänderungen nicht überschrieben werden.Der Befehl
describe
gibt Folgendes zurück:description: ROLE_DESCRIPTION etag: ETAG includedPermissions: - PERMISSION_1 - PERMISSION_2 name: ROLE_NAME stage: LAUNCH_STAGE title: ROLE_TITLE
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_DESCRIPTION
ist eine kurze Beschreibung der Rolle, z. B."My custom role description"
. -
ETAG
ist die eindeutige Kennung für die aktuelle Version der Rolle, z. B.BwVkBkbfr70=
. -
PERMISSION_1
undPERMISSION_2
sind Berechtigungen, die in die benutzerdefinierte Rolle aufgenommen werden sollen, z. B.iam.roles.get
. In Berechtigungsnamen können Sie keine Platzhalterzeichen (*
) verwenden. -
ROLE_NAME
ist der vollständige Rollenname, einschließlich der Präfixeorganizations/
,projects/
undroles/
. Beispiel:organizations/123456789012/roles/myCompanyAdmin.
-
LAUNCH_STAGE
gibt die Phase einer Rolle im Einführungszyklus an, z. B.ALPHA
,BETA
oderGA
. -
ROLE_TITLE
ist der angezeigte Titel der Rolle, z. B."My Company Admin"
.
Nehmen Sie entweder die ausgegebene Rollendefinition in eine YAML-Datei auf oder aktualisieren Sie die ursprüngliche YAML-Datei mit dem ausgegebenen
etag
-Wert, um die Rolle zu aktualisieren.Betrachten Sie die folgende YAML-Beispieldatei, die die Ausgabe des Befehls
describe
für eine Rolle auf Projektebene enthält und mit der zwei Cloud Storage-Berechtigungen hinzugefügt werden:description: My custom role description. etag: BwVkBkbfr70= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Speichern Sie die YAML-Datei und führen Sie dann einen der folgenden Befehle aus:
-
Führen Sie den folgenden Befehl aus, um eine Rolle auf Organisationsebene zu aktualisieren:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Führen Sie den folgenden Befehl aus, um eine Rolle auf Projektebene zu aktualisieren:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, die aktualisiert werden soll, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project-id
. -
YAML_FILE_PATH
ist der Pfad zum Speicherort der YAML-Datei, die die Definition der aktualisierten benutzerdefinierten Rolle enthält.
Beispiele
Das folgende Beispiel zeigt, wie Sie mithilfe einer YAML-Datei eine Rolle auf Organisationsebene aktualisieren:
gcloud iam roles update ROLE_ID --organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Führen Sie den folgenden Befehl aus, um eine Rolle auf Projektebene zu aktualisieren:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, die aktualisiert werden soll, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
. -
YAML_FILE_PATH
ist der Pfad zum Speicherort der YAML-Datei, die die Definition der aktualisierten benutzerdefinierten Rolle enthält.
Beispiele
Das folgende Beispiel zeigt, wie Sie mithilfe einer YAML-Datei eine Rolle auf Organisationsebene aktualisieren:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --file=my-role-definition.yaml
Wenn die Rolle aktualisiert wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Das folgende Beispiel zeigt, wie Sie mithilfe einer YAML-Datei eine Rolle auf Projektebene aktualisieren:
gcloud iam roles update myCompanyAdmin --project=my-project \ --file=my-role-definition.yaml
Wenn die Rolle aktualisiert wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
So aktualisieren Sie eine benutzerdefinierte Rolle mithilfe von Flags:
Jeder Teil einer Rollendefinition kann mithilfe eines entsprechenden Flags aktualisiert werden. Eine Liste aller möglichen Flags finden Sie im Thema
gcloud iam roles update
.Sie können die folgenden Flags verwenden, um Berechtigungen hinzuzufügen oder zu entfernen:
-
--add-permissions=PERMISSIONS
: fügt der Rolle eine oder mehrere durch Kommas getrennte Berechtigungen hinzu In Berechtigungsnamen können Sie keine Platzhalterzeichen (*
) verwenden. -
--remove-permissions=PERMISSIONS
: entfernt eine oder mehrere durch Kommas getrennte Berechtigungen aus der Rolle In Berechtigungsnamen können Sie keine Platzhalterzeichen (*
) verwenden.
Alternativ können Sie die neuen Berechtigungen einfach mit dem Flag
--permissions=PERMISSIONS
angeben und eine durch Kommas getrennte Liste von Berechtigungen bereitstellen, um die vorhandene Berechtigungsliste zu ersetzen.Führen Sie einen der folgenden Befehle aus, um andere Teile der Rollendefinition zu aktualisieren:
-
Führen Sie den folgenden Befehl aus, um eine Rolle auf Organisationsebene zu aktualisieren:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --stage=LAUNCH_STAGE
-
Führen Sie den folgenden Befehl aus, um eine Rolle auf Projektebene zu aktualisieren:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --stage=LAUNCH_STAGE
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
. -
ROLE_TITLE
ist der angezeigte Titel der Rolle, z. B."My Company Admin"
. -
ROLE_DESCRIPTION
ist eine kurze Beschreibung der Rolle, z. B."My custom role description."
. -
LAUNCH_STAGE
gibt die Phase einer Rolle im Einführungszyklus an, z. B.ALPHA
,BETA
oderGA
.
Beispiele
Das folgende Beispiel zeigt, wie Sie einer Rolle auf Organisationsebene mithilfe von Flags Berechtigungen hinzufügen:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --add-permissions="storage.buckets.get,storage.buckets.list"
Wenn die Rolle aktualisiert wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: organization/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Das folgende Beispiel zeigt, wie Sie einer Rolle auf Projektebene mithilfe von Flags Berechtigungen hinzufügen:
gcloud iam roles update myCompanyAdmin --project=my-project \ --add-permissions="storage.buckets.get,storage.buckets.list"
Wenn die Rolle aktualisiert wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
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
roles.patch
wird eine benutzerdefinierte Rolle in einem Projekt oder einer Organisation aktualisiert.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
Erforderlich:
RESOURCE_TYPE
: Der Ressourcentyp, dessen benutzerdefinierte Rollen Sie verwalten möchten. Verwenden Sie den Wertprojects
oderorganizations
.RESOURCE_ID
: Die Projekt-ID oder Organisations-ID, deren benutzerdefinierte Rollen Sie verwalten möchten. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Organisations-IDs sind numerisch, z. B.123456789012
.ROLE_NAME
: Der vollständige Rollenname, einschließlich der Präfixeorganizations/
,projects/
undroles/
. Beispiel:organizations/123456789012/roles/myCompanyAdmin
.
Empfohlen:
ETAG
: Eine Kennzeichnung für eine Version der Rolle. Fügen Sie dieses Feld ein, um Überschreiben von Änderungen an der Rolle zu verhindern.
Optional (definieren Sie einen oder mehrere der folgenden Werte):
ROLE_TITLE
: Der für Nutzer lesbare Titel der Rolle. Beispiel:My Company Admin
ROLE_DESCRIPTION
: Eine Beschreibung der Rolle. Beispiel:"The company admin role allows company admins to access important resources"
PERMISSION_1
undPERMISSION_2
: Die Berechtigungen, die Sie der Rolle zuweisen möchten. Beispiel:storage.objects.update
. In Berechtigungsnamen können Sie keine Platzhalterzeichen (*
) verwenden.LAUNCH_STAGE
: Die aktuelle Startphase der Rolle. Dieses Feld kann einen der folgenden Werte enthalten:EAP
,ALPHA
,BETA
,GA
,DEPRECATED
oderDISABLED
.
HTTP-Methode und URL:
PATCH https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
JSON-Text anfordern:
{ "roleId": "ROLE_NAME", "title": "ROLE_TITLE", "description": "ROLE_DESCRIPTION", "includedPermissions": [ "PERMISSION_1", "PERMISSION_2" ], "stage": "LAUNCH-STAGE", "etag": "ETAG" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält eine abgekürzte Rollendefinition, die den Namen der Rolle, die aktualisierten Felder und ein ETag beinhaltet, das die aktuelle Version der Rolle angibt.
{ "name": "projects/test-project-1000092/roles/myCompanyAdmin", "title": "My Updated Company Admin", "includedPermissions": [ "storage.buckets.get", "storage.buckets.list" ], "stage": "BETA", "etag": "BwWoyDpAxBc=" }
Benutzerdefinierte Rolle deaktivieren
Sie können eine benutzerdefinierte Rolle deaktivieren, indem Sie ihre Startphase zu
DISABLED
ändern. Beim Deaktivieren einer Rolle werden alle Bindungen, die mit der Rolle in Zusammenhang stehen, deaktiviert. Dies bedeutet, dass die Zuweisung der Rolle an einen Nutzer keine Auswirkungen hat.Console
Öffnen Sie in der Google Cloud Console die Seite Rollen.
Klicken Sie am Anfang der Seite auf die Drop-down-Liste "Projekt auswählen".
Wählen Sie Ihre Organisation oder das Projekt aus.
Wählen Sie eine benutzerdefinierte Rolle aus und klicken Sie auf Deaktivieren.
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.
-
Verwenden Sie den Befehl
gcloud iam roles update
, um eine benutzerdefinierte Rolle durch Festlegen der Einführungsphase aufDISABLED
zu deaktivieren.Wie auf dem Tab gcloud im Abschnitt Vorhandene benutzerdefinierte Rolle bearbeiten beschrieben, können Sie eine vorhandene benutzerdefinierte Rolle auf zwei Arten aktualisieren:
-
Durch Bereitstellen einer YAML-Datei, die die Definition der aktualisierten Rolle enthält
-
Durch Verwenden von Flags zum Angeben der Definition der aktualisierten Rolle
Die einfachste Art, eine vorhandene benutzerdefinierte Rolle zu ist es, das Flag
--stage
zu verwenden und aufDISABLED
festzulegen. Führen Sie einen der folgenden Befehle aus:-
Führen Sie den folgenden Befehl aus, um eine Rolle auf Organisationsebene zu deaktivieren:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --stage=DISABLED
-
Führen Sie den folgenden Befehl aus, um eine Rolle auf Projektebene zu deaktivieren:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --stage=DISABLED
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
.
Beispiele
Das folgende Beispiel zeigt, wie Sie eine Rolle auf Organisationsebene deaktivieren:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --stage=DISABLED
Wenn die Rolle aktualisiert wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkB5NLIQw= includedPermissions: - iam.roles.get - iam.roles.list name: organization/123456789012/roles/myCompanyAdmin stage: DISABLED title: My Company Admin
Das folgende Beispiel zeigt, wie Sie eine Rolle auf Projektebene deaktivieren:
gcloud iam roles update myCompanyAdmin --project=my-project \ --stage=DISABLED
Wenn die Rolle aktualisiert wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkB5NLIQw= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: DISABLED title: My Company Admin
-
C++
Aktualisieren Sie das Feld
stage
der Rolle aufDISABLED
.C#
Aktualisieren Sie das Feld
stage
der Rolle aufDISABLED
.Go
Aktualisieren Sie das Feld
stage
der Rolle aufDISABLED
.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
roles.patch
können Sie die Startphase einer benutzerdefinierten Rolle inDISABLED
ändern, wodurch die Rolle deaktiviert wird.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
RESOURCE_TYPE
: Der Ressourcentyp, dessen benutzerdefinierte Rollen Sie verwalten möchten. Verwenden Sie den Wertprojects
oderorganizations
.RESOURCE_ID
: Die Projekt-ID oder Organisations-ID, deren benutzerdefinierte Rollen Sie verwalten möchten. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Organisations-IDs sind numerisch, z. B.123456789012
.ROLE_NAME
: Der vollständige Rollenname, einschließlich der Präfixeorganizations/
,projects/
undroles/
. Beispiel:organizations/123456789012/roles/myCompanyAdmin
.ETAG
: Eine Kennzeichnung für eine Version der Rolle. Fügen Sie dieses Feld ein, um Überschreiben von Änderungen an der Rolle zu verhindern.
HTTP-Methode und URL:
PATCH https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
JSON-Text anfordern:
{ "roleId": "ROLE_NAME", "stage": DISABLED, "etag": "ETAG" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/test-project-1000092/roles/myCompanyAdmin", "stage": "DISABLED", "etag": "BwWoyDpAxBc=" }
Rollen auflisten
Sie können alle benutzerdefinierten Rollen auflisten, die in Ihrem Projekt oder in Ihrer Organisation erstellt wurden.
Console
Öffnen Sie in der Google Cloud Console die Seite Rollen.
Alle benutzerdefinierten Rollen für die ausgewählte Organisation oder das ausgewählte Projekt werden auf der Seite aufgeführt.
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.
-
Verwenden Sie den Befehl
gcloud iam roles list
, um benutzerdefinierte Rollen und vordefinierte Rollen für ein Projekt oder eine Organisation aufzulisten.-
Führen Sie den folgenden Befehl aus, um benutzerdefinierte Rollen auf Organisationsebene aufzulisten:
gcloud iam roles list --organization=ORGANIZATION_ID
-
Führen Sie den folgenden Befehl aus, um benutzerdefinierte Rollen auf Projektebene aufzulisten:
gcloud iam roles list --project=PROJECT_ID
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
.
Zum Auflisten gelöschter Rollen können Sie auch das Flag
--show-deleted
angeben.Führen Sie den folgenden -Befehl aus, um vordefinierte Rollen aufzulisten:
gcloud iam roles list
-
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
roles.list
werden alle benutzerdefinierten Rollen in einem Projekt oder einer Organisation aufgelistet.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
RESOURCE_TYPE
: Der Ressourcentyp, dessen benutzerdefinierte Rollen Sie verwalten möchten. Verwenden Sie den Wertprojects
oderorganizations
.RESOURCE_ID
: Die Projekt-ID oder Organisations-ID, deren benutzerdefinierte Rollen Sie verwalten möchten. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Organisations-IDs sind numerisch, z. B.123456789012
.ROLE_VIEW
: Optional. Die Informationen, die in den zurückgegebenen Rollen enthalten sein sollen. Setzen Sie den Wert dieses Feldes aufFULL
, um die Berechtigungen der Rollen einzuschließen. Wenn Sie die Berechtigungen der Rollen ausschließen möchten, legen Sie für dieses FeldBASIC
fest. Der Standardwert istBASIC
.PAGE_SIZE
: Optional. Die Anzahl der Rollen, die in der Antwort enthalten sein sollen. Der Standardwert ist 300 und der Höchstwert ist 1.000. Wenn die Anzahl der Rollen größer als die Seitengröße ist, enthält die Antwort ein Paginierungstoken, mit dem Sie die nächste Ergebnisseite abrufen können.NEXT_PAGE_TOKEN
: Optional. Das Paginierungstoken, das in einer früheren Antwort von dieser Methode zurückgegeben wurde. Wenn dieser Wert angegeben wird, beginnt die Liste der Rollen dort, wo die vorherige Anfrage endet.
HTTP-Methode und URL:
GET https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles?view=ROLE_VIEW&pageSize=PAGE_SIZE&pageToken=NEXT_PAGE_TOKEN
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "roles": [ { "name": "projects/my-project/roles/customRole1", "title": "First Custom Role", "description": "Created on: 2020-06-01", "etag": "BwWiPg2fmDE=" }, { "name": "projects/my-project/roles/customRole2", "title": "Second Custom Role", "description": "Created on: 2020-06-07", "etag": "BwWiuX53Wi0=" } ] }
Benutzerdefinierte Rollen löschen
Sie können jede benutzerdefinierte Rolle in Ihrem Projekt oder in Ihrer Organisation löschen.
Console
Öffnen Sie in der Google Cloud Console die Seite Rollen.
Wählen Sie die Rolle aus, die Sie löschen möchten, und klicken Sie oben auf der Seite auf delete Löschen.
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.
-
Verwenden Sie den Befehl
gcloud iam roles delete
, um eine benutzerdefinierte Rolle zu löschen.-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Organisationsebene zu löschen:
gcloud iam roles delete ROLE_ID --organization=ORGANIZATION_ID
-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Projektebene zu löschen:
gcloud iam roles delete ROLE_ID --project=PROJECT_ID
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
.
Die Rolle wird nur dann in
gcloud iam roles list
aufgenommen, wenn das Flag--show-deleted
angegeben ist. Gelöschte Rollen sind durch den Blockdeleted: true
in einerlist
-Antwort gekennzeichnet. Beispiel:--- deleted: true description: My custom role description. etag: BwVkB5NLIQw= name: projects/my-project/roles/myCompanyAdmin title: My Company Admin ---
-
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
roles.delete
wird eine benutzerdefinierte Rolle in einem Projekt oder einer Organisation gelöscht.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
ROLE_NAME
: Der vollständige Rollenname, einschließlich der Präfixeorganizations/
,projects/
undroles/
. Beispiel:organizations/123456789012/roles/myCompanyAdmin
.
HTTP-Methode und URL:
DELETE https://iam.googleapis.com/v1/ROLE_NAME
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält die Definition der gelöschten Rolle.
{ "name": "projects/my-project/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWiPg2fmDE=", "deleted": true }
Wenn eine Rolle gelöscht wird, verbleiben alle Rollenbindungen, die sich auf die Rolle beziehen, in Ihren Richtlinien, haben aber keine Auswirkungen. Sie können eine Rolle innerhalb von 7 Tagen wiederherstellen. Während dieses Zeitraums zeigt die Google Cloud Console, dass die Rolle gelöscht wurde. Sie können gelöschte Rollen auch programmatisch auflisten. Diese werden jedoch standardmäßig weggelassen.
Nach 7 bis 14 Tagen wird die Rolle dauerhaft gelöscht. Zu diesem Zeitpunkt wird die Rolle nicht mehr auf das Limit von 300 benutzerdefinierten Rollen pro Organisation bzw. 300 benutzerdefinierten Rollen pro Projekt angerechnet.
Das endgültige Löschen dauert 30 Tage. Während dieses Zeitfensters werden die Rolle und alle zugehörigen Bindungen dauerhaft entfernt. Sie können keine neue Rolle mit derselben Rollen-ID erstellen.
Nachdem die Rolle endgültig gelöscht wurde, können Sie bis zu 44 Tage nach der ursprünglichen Löschanfrage eine neue Rolle mit derselben Rollen-ID erstellen.
Wiederherstellen einer gelöschten benutzerdefinierten Rolle
Wenn Sie eine Rolle wiederherstellen, wird sie in den vorherigen Zustand zurückversetzt.
Rollen können nur innerhalb von sieben Tagen wiederhergestellt werden. Nach 7 Tagen kann die Rolle jederzeit endgültig gelöscht werden und alle Rollenbindungen, die sich auf die Rolle beziehen, werden entfernt.
Console
Öffnen Sie in der Google Cloud Console die Seite Rollen.
Suchen Sie die Rolle, die Sie wiederherstellen möchten. Klicken Sie dann zuerst auf das Dreipunkt-Menü am Ende der Zeile und anschließend auf Wiederherstellen.
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.
-
Verwenden Sie den Befehl
gcloud iam roles undelete
, um eine benutzerdefinierte Rolle wiederherzustellen.-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Organisationsebene wiederherzustellen:
gcloud iam roles undelete ROLE_ID --organization=ORGANIZATION_ID
-
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Rolle auf Projektebene wiederherzustellen:
gcloud iam roles undelete ROLE_ID --project=PROJECT_ID
Die Platzhalterwerte sind im Folgenden beschrieben:
-
ROLE_ID
ist der Name der Rolle, z. B.myCompanyAdmin
. -
ORGANIZATION_ID
ist die numerische ID der Organisation, z. B.123456789012
. -
PROJECT_ID
ist der Name des Projekts, z. B.my-project
.
Beispiele
Das folgende Beispiel zeigt, wie Sie eine benutzerdefinierte Rolle auf Organisationsebene wiederherstellen:
gcloud iam roles undelete myCompanyAdmin --organization=123456789012
Wenn die Rolle wiederhergestellt wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkCAx9W6w= includedPermissions: - iam.roles.get - iam.roles.list name: organization/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Das folgende Beispiel zeigt, wie Sie eine benutzerdefinierte Rolle auf Projektebene wiederherstellen:
gcloud iam roles undelete myCompanyAdmin --project=my-project
Wenn die Rolle wiederhergestellt wurde, sieht die Ausgabe des Befehls in etwa so aus:
description: My custom role description. etag: BwVkCAx9W6w= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
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
roles.undelete
wird eine benutzerdefinierte Rolle in einem Projekt oder einer Organisation wiederhergestellt.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
ROLE_NAME
: Der vollständige Rollenname, einschließlich der Präfixeorganizations/
,projects/
undroles/
. Beispiel:organizations/123456789012/roles/myCompanyAdmin
.ETAG
: Eine Kennzeichnung für eine Version der Rolle. Fügen Sie dieses Feld ein, um Überschreiben von Änderungen an der Rolle zu verhindern.
HTTP-Methode und URL:
POST https://iam.googleapis.com/v1/ROLE_NAME:undelete
JSON-Text anfordern:
{ "etag": "ETAG" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält die Definition der wiederhergestellten Rolle.
{ "name": "projects/my-project/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWiPg2fmDE=" }
Nächste Schritte
- Hauptkonten Rollen zuweisen
- Mit Rollenempfehlungen Berechtigungen für Hauptkonten herabstufen
- Mehr über bedingte Rollenzuweisungen erfahren, bei denen eine Rolle nur dann zugewiesen wird, wenn bestimmte Bedingungen erfüllt sind
Sofern 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-17 (UTC).