Policy

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

Ein Policy besteht aus einer Liste von bindings. Ein binding bindet 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)

Verbindet eine Liste von members mit einer role. 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 Richtlinienaktualisierungen 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, damit 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.

Binding

Ordnet members zu einem role zu.

JSON-Darstellung
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object(Expr)
  }
}
Felder
role

string

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

members[]

string

Gibt die Identitäten an, die um Zugriff auf eine Ressource der Cloud Platform bitten. 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 im Internet, ob mit oder ohne Google-Konto

  • 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 alle Nutzer dieser Domain repräsentiert. Beispiel: google.comoder 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.