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( |
Felder | |
---|---|
version |
Verworfen. |
bindings[] |
Ordnet einer |
auditConfigs[] |
Legt die Konfiguration der Cloud-Audit-Protokollierung für diese Richtlinie fest. |
etag |
Wenn im Aufruf von Ein base64-codierter String. |
Bindung
Verbindet members
mit einer role
.
JSON-Darstellung | |
---|---|
{
"role": string,
"members": [
string
],
"condition": {
object( |
Felder | |
---|---|
role |
Die |
members[] |
Gibt die Identitäten an, die den Zugriff auf eine Ressource der Cloud Platform anfragen.
|
condition |
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 |
Textdarstellung eines Ausdrucks in der Common Expression Language-Syntax. Der Anwendungskontext der enthaltenen Nachricht bestimmt, welcher bekannte Funktionssatz von CEL unterstützt wird. |
title |
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 |
Eine optionale Beschreibung des Ausdrucks. Dies ist ein längerer Text, der den Ausdruck beschreibt, z. B. wenn der Mauszeiger darauf bewegt wird. |
location |
Ein optionaler String, der in Fehlermeldungen den Speicherort des Ausdrucks angibt, beispielsweise ein Dateiname und eine Position in der Datei. |
AuditConfig
Legt die Audit-Konfiguration für einen Dienst fest. Die Konfiguration bestimmt, welche Berechtigungstypen protokolliert werden und welche Identitäten ggf. von der Protokollierung ausgenommen sind. Ein AuditConfig muss mindestens ein AuditLogConfigs enthalten.
Wenn AuditConfigs sowohl für allServices
als auch für einen bestimmten Dienst vorhanden sind, wird für diesen Dienst eine Vereinigungsmenge der beiden AuditConfigs verwendet: Die im jeweiligen AuditConfig angegebenen Protokolltypen (log_types) werden aktiviert und die angegebenen Mitglieder (exempted_members) werden im jeweiligen AuditConfig ausgenommen.
Beispielrichtlinie mit mehreren AuditConfigs:
{
"auditConfigs": [
{
"service": "allServices"
"auditLogConfigs": [
{
"logType": "DATA_READ",
"exemptedMembers": [
"user:foo@gmail.com"
]
},
{
"logType": "DATA_WRITE",
},
{
"logType": "ADMIN_READ",
}
]
},
{
"service": "fooservice.googleapis.com"
"auditLogConfigs": [
{
"logType": "DATA_READ",
},
{
"logType": "DATA_WRITE",
"exemptedMembers": [
"user:bar@gmail.com"
]
}
]
}
]
}
Für fooservice aktiviert diese Richtlinie die Protokollierung von DATA_READ, DATA_WRITE und ADMIN_READ. Außerdem werden damit foo@gmail.com vom DATA_READ-Logging und bar@gmail.com vom DATA_WRITE-Logging ausgenommen.
JSON-Darstellung | |
---|---|
{
"service": string,
"auditLogConfigs": [
{
object( |
Felder | |
---|---|
service |
Gibt einen Dienst an, der für die Audit-Protokollierung aktiviert wird. Beispiele: |
auditLogConfigs[] |
Die Konfiguration des Logging für die einzelnen Berechtigungstypen. |
AuditLogConfig
Konfiguriert die Protokollierung für einen Berechtigungstyp. Beispiel:
{
"auditLogConfigs": [
{
"logType": "DATA_READ",
"exemptedMembers": [
"user:foo@gmail.com"
]
},
{
"logType": "DATA_WRITE",
}
]
}
Damit wird die Protokollierung von DATA_READ und DATA_WRITE aktiviert und foo@gmail.com wird von der DATA_READ-Protokollierung ausgenommen.
JSON-Darstellung | |
---|---|
{
"logType": enum( |
Felder | |
---|---|
logType |
Der Log-Typ, der von dieser Konfiguration aktiviert wird. |
exemptedMembers[] |
Legt die Identitäten fest, die von der Protokollierung für diesen Berechtigungstyp ausgenommen werden. Entspricht dem Format von |
LogType
Die Liste der gültigen Berechtigungstypen, für die Protokollierung konfiguriert werden kann. Admin-Schreibvorgänge werden immer protokolliert und sind nicht konfigurierbar.
Enums | |
---|---|
LOG_TYPE_UNSPECIFIED |
Standardfall. Sollte nicht verwendet werden. |
ADMIN_READ |
Admin-Lesevorgänge. Beispiel: CloudIAM getIamPolicy. |
DATA_WRITE |
Datenschreibvorgänge. Beispiel: CloudSQL Users create. |
DATA_READ |
Datenlesevorgänge. Beispiel: CloudSQL Users list |