Paket google.iam.v1

Index

IAMPolicy

API-Übersicht

Verwaltet IAM-Richtlinien (Identitäts- und Zugriffsverwaltungsrichtlinien).

Bei jeder Implementierung einer API, die Zugriffssteuerungsfunktionen bietet, wird die Schnittstelle google.iam.v1.IAMPolicy implementiert.

Datenmodell

Eine Zugriffssteuerung erfolgt dann, wenn ein Prinzipal (Nutzer oder Dienstkonto) eine Aktion für eine Ressource ausführt, die von einem Dienst bereitgestellt wird. Ressourcen werden durch URI-ähnliche Namen identifiziert und stellen die Einheit der Spezifikation der Zugriffssteuerung dar. Bei Dienstimplementierungen können der Detaillierungsgrad der Zugriffskontrolle und die unterstützten Berechtigungen für die zugehörigen Ressourcen ausgewählt werden. Beispielsweise kann es in einem Datenbankdienst nur zulässig sein, die Zugriffssteuerung auf Tabellenebene anzugeben, während sie in einem anderen Dienst auch auf Spaltenebene vorgegeben werden kann.

Richtlinienstruktur

Siehe google.iam.v1.Policy

In dieser API kommt CRUD absichtlich nicht zum Einsatz, da die Zugriffssteuerungsrichtlinien implizit mit den Ressourcen, zu denen sie gehören, erstellt und gelöscht werden.

GetIamPolicy

rpc GetIamPolicy ( GetIamPolicyRequest ) gibt zurück ( Policy )

Ruft die Zugriffssteuerungsrichtlinie für eine Ressource ab. Gibt eine leere Richtlinie zurück, wenn die Ressource vorhanden und keine Richtlinie festgelegt ist.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

SetIamPolicy

rpc SetIamPolicy ( SetIamPolicyRequest ) gibt zurück ( Policy )

Legt die Zugriffskontrollrichtlinie für die angegebene Ressource fest. Ersetzt jede vorhandene Richtlinie.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

TestIamPermissions

rpc TestIamPermissions ( TestIamPermissionsRequest ) gibt ( TestIamPermissionsResponse )

Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück. Ist die Ressource nicht vorhanden, wird ein leerer Berechtigungssatz zurückgegeben, kein NOT_FOUND-Fehler.

Hinweis: Dieser Vorgang wurde speziell für die Entwicklung von UIs und Befehlszeilentools konzipiert, die mit Berechtigungen arbeiten, nicht für Autorisierungsprüfungen. Der Vorgang kann Fehler ohne Warnung ignorieren (fail-open).

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

Bindung

Verbindet members mit einer role.

Felder
role

string

Die members zugewiesene Rolle. Beispiel: roles/viewer, roles/editor oder roles/owner.

members[]

string

Gibt die Identitäten an, die den Zugriff auf eine Ressource der Cloud Platform anfragen. members kann die folgenden Werte annehmen:

  • allUsers: Eine spezielle Kennung für alle Identitäten im Internet, ob mit oder ohne Google-Konto.

  • allAuthenticatedUsers: Eine spezielle Kennung für alle Identitäten, die mit einem Google-Konto oder einem Dienstkonto authentifiziert sind.

  • user:{emailid}: Eine E-Mail-Adresse, die für ein bestimmtes Google-Konto steht. Beispiel: alice@gmail.com

  • serviceAccount:{emailid}: Eine E-Mail-Adresse, die für ein Dienstkonto steht. Beispiel: my-other-app@appspot.gserviceaccount.com.

  • group:{emailid}: Eine E-Mail-Adresse, die für eine Google-Gruppe steht. Beispiel: admins@example.com.

  • domain:{domain}: Ein Google Apps-Domainname, der für alle Nutzer dieser Domain steht. Beispiel: google.com oder example.com.

condition

Expr

Nicht implementiert. Die Bedingung, die dieser Bindung zugeordnet ist. HINWEIS: Wird die Bedingung nicht erfüllt, ist über die aktuelle Bindung kein Nutzerzugriff zulässig. Verschiedene Bindungen und ihre Bedingungen werden unabhängig voneinander untersucht.

GetIamPolicyRequest

Anfragenachricht für die Methode GetIamPolicy.

Felder
resource

string

ERFORDERLICH: Die Ressource, für die die Richtlinie angefragt wird. Den passenden Wert für dieses Feld finden Sie in der Betriebsdokumentation.

Policy

Definiert eine Identitäts- und Zugriffsverwaltungsrichtlinie (IAM-Richtlinie). Damit werden bestimmte Richtlinien für die Zugriffssteuerung von Cloud Platform-Ressourcen festgelegt.

Eine Policy besteht aus einer Liste von bindings. Eine binding verbindet eine Liste von members mit einer role, wobei es sich bei den Mitgliedern um Nutzerkonten, Google Groups, Google Domains und Dienstkonten handeln kann. Eine role ist eine benannte Liste von Berechtigungen, die von IAM definiert werden.

JSON-Beispiel

{
  "bindings": [
    {
      "role": "roles/owner",
      "members": [
        "user:mike@example.com",
        "group:admins@example.com",
        "domain:google.com",
        "serviceAccount:my-other-app@appspot.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/viewer",
      "members": ["user:sean@example.com"]
    }
  ]
}

YAML-Beispiel

bindings:
- members:
  - user:mike@example.com
  - group:admins@example.com
  - domain:google.com
  - serviceAccount:my-other-app@appspot.gserviceaccount.com
  role: roles/owner
- members:
  - user:sean@example.com
  role: roles/viewer

Eine Beschreibung von IAM und der entsprechenden Funktionen finden Sie im IAM-Entwicklerhandbuch.

Felder
version
(deprecated)

int32

Verworfen.

bindings[]

Binding

Ordnet einer role eine Liste von members zu. bindings ohne Mitglieder führen zu einem Fehler.

etag

bytes

etag wird für eine optimistische Gleichzeitigkeitserkennung verwendet, mit der verhindert werden kann, dass sich gleichzeitige Aktualisierungen einer Richtlinie gegenseitig überschreiben. Die Verwendung des etag im Zyklus von Lesen/Ändern/Schreiben zur Ausführung von Policy-Aktualisierung wird ausdrücklich empfohlen, um Race-Bedingungen zu vermeiden: Als Antwort auf getIamPolicy wird ein etag zurückgegeben. Es wird erwartet, dass Systeme dieses "etag" in die Anforderung an setIamPolicy aufnehmen, um sicherzustellen, dass ihre Änderung auf dieselbe Richtlinienversion angewendet wird.

Wenn im Aufruf von setIamPolicy kein etag enthalten ist, wird die vorhandene Richtlinie blind überschrieben.

SetIamPolicyRequest

Anforderungsnachricht für die Methode SetIamPolicy.

Felder
resource

string

ERFORDERLICH: Die Ressource, für die die Richtlinie festgelegt wird. Informationen zum erforderlichen Wert für dieses Feld finden Sie in der Betriebsdokumentation.

policy

Policy

ERFORDERLICH: Die vollständige Richtlinie, die auf resource angewendet werden soll. Die Größe der Richtlinie ist auf einige 10 KB beschränkt. Eine leere Richtlinie ist zwar gültig, bestimmte Cloud Platform-Dienste (zum Beispiel Projekte) lehnen aber eine solche Richtlinie eventuell ab.

TestIamPermissionsRequest

Anforderungsnachricht für die Methode TestIamPermissions.

Felder
resource

string

ERFORDERLICH: Die Ressource, für die das Richtliniendetail angefragt wird. Informationen zum erforderlichen Wert für dieses Feld finden Sie in der Betriebsdokumentation.

permissions[]

string

Das Set von Berechtigungen, die für resource überprüft werden sollen. Berechtigungen mit Platzhaltern (etwa '*' oder 'storage.*') sind nicht zulässig. Weitere Informationen finden Sie in der IAM-Übersicht.

TestIamPermissionsResponse

Antwortnachricht für die Methode TestIamPermissions.

Felder
permissions[]

string

Ein Teil der TestPermissionsRequest.permissions, die dem Aufrufer erteilt wurden.