Index
IAMPolicy
(Schnittstelle)AuditConfig
(Nachricht)AuditLogConfig
(Nachricht)AuditLogConfig.LogType
(Enum)Binding
(Nachricht)GetIamPolicyRequest
(Nachricht)Policy
(Nachricht)SetIamPolicyRequest
(Nachricht)TestIamPermissionsRequest
(Nachricht)TestIamPermissionsResponse
(Nachricht)
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 | |
---|---|
Ruft die Zugriffssteuerungsrichtlinie für eine Ressource ab. Gibt eine leere Richtlinie zurück, wenn die Ressource vorhanden und keine Richtlinie festgelegt ist.
|
SetIamPolicy | |
---|---|
Legt die Zugriffssteuerungsrichtlinie für die angegebene Ressource fest. Ersetzt jede vorhandene Richtlinie.
|
TestIamPermissions | |
---|---|
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).
|
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:
{
"audit_configs": [
{
"service": "allServices"
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:foo@gmail.com"
]
},
{
"log_type": "DATA_WRITE",
},
{
"log_type": "ADMIN_READ",
}
]
},
{
"service": "fooservice.googleapis.com"
"audit_log_configs": [
{
"log_type": "DATA_READ",
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"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.
Felder | |
---|---|
service |
Gibt einen Dienst an, der für die Audit-Protokollierung aktiviert wird. Beispiele: |
audit_log_configs[] |
Die Konfiguration des Loggings für die einzelnen Berechtigungstypen. |
AuditLogConfig
Konfiguriert die Protokollierung für einen Berechtigungstyp. Beispiel:
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:foo@gmail.com"
]
},
{
"log_type": "DATA_WRITE",
}
]
}
Damit wird die Protokollierung von DATA_READ und DATA_WRITE aktiviert und foo@gmail.com wird von der DATA_READ-Protokollierung ausgenommen.
Felder | |
---|---|
log_type |
Der Protokolltyp, der von dieser Konfiguration aktiviert wird. |
exempted_members[] |
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. |
Bindung
Verbindet members
mit einer role
.
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 und ihre Bedingungen werden unabhängig voneinander untersucht. |
GetIamPolicyRequest
Anfragenachricht für die Methode GetIamPolicy
.
Felder | |
---|---|
resource |
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 |
Verworfen. |
bindings[] |
Ordnet einer |
audit_configs[] |
Legt die Konfiguration der Cloud-Audit-Protokollierung für diese Richtlinie fest. |
etag |
Wenn im Aufruf von |
SetIamPolicyRequest
Anforderungsnachricht für die Methode SetIamPolicy
.
Felder | |
---|---|
resource |
ERFORDERLICH: Die Ressource, für die die Richtlinie festgelegt wird. Informationen zum erforderlichen Wert für dieses Feld finden Sie in der Betriebsdokumentation. |
policy |
ERFORDERLICH: Die vollständige Richtlinie, die auf |
update_mask |
OPTIONAL: FieldMask, die angibt, welche Felder der Richtlinie geändert werden sollen. Dabei werden nur die Felder in der Maske geändert. Wenn keine Maske angegeben ist, wird die folgende Standardmaske verwendet: paths: "bindings, etag". Dieses Feld wird nur von Cloud IAM genutzt. |
TestIamPermissionsRequest
Anforderungsnachricht für die Methode TestIamPermissions
.
Felder | |
---|---|
resource |
ERFORDERLICH: Die Ressource, für die das Richtliniendetail angefragt wird. Informationen zum erforderlichen Wert für dieses Feld finden Sie in der Betriebsdokumentation. |
permissions[] |
Das Set von Berechtigungen, die für |
TestIamPermissionsResponse
Antwortnachricht für die Methode TestIamPermissions
.
Felder | |
---|---|
permissions[] |
Ein Teil der |