Richtlinie

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.

JSON-Darstellung

{
  "version": number,
  "bindings": [
    {
      object(Binding)
    }
  ],
  "etag": string
}
Felder
version
(deprecated)

number

Verworfen.

bindings[]

object(Binding)

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

etag

string (bytes format)

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.

Ein base64-codierter String.

Bindung

Verbindet members mit einer role.

JSON-Darstellung

{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object(Expr)
  }
}
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

object(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 werden mit ihren Bedingungen unabhängig voneinander ausgewertet.

Expr

Stellt einen Ausdruckstext dar. Beispiel:

title: "User account presence"
description: "Determines whether the request has a user account"
expression: "size(request.user) > 0"
JSON-Darstellung

{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Felder
expression

string

Textdarstellung eines Ausdrucks in der Common Expression Language-Syntax.

Der Anwendungskontext der enthaltenen Nachricht bestimmt, welcher bekannte Funktionssatz von CEL unterstützt wird.

title

string

Ein optionaler Titel für den Ausdruck, d. h. eine kurze Zeichenfolge, die seinen Zweck beschreibt. Diese Funktion kann z. B. in UIs verwendet werden, in denen die Eingabe von Ausdrücken zulässig ist.

description

string

Eine optionale Beschreibung des Ausdrucks. Dies ist ein längerer Text, der den Ausdruck beschreibt, z. B. wenn der Mauszeiger darauf bewegt wird.

location

string

Ein optionaler String, der in Fehlermeldungen den Speicherort des Ausdrucks angibt, beispielsweise ein Dateiname und eine Position in der Datei.