Index
IAMPolicy
(Benutzeroberfläche)AuditConfig
(Meldung)AuditLogConfig
(Meldung)AuditLogConfig.LogType
(Aufzählung)Binding
(Meldung)GetIamPolicyRequest
(Meldung)GetPolicyOptions
(Meldung)Policy
(Meldung)SetIamPolicyRequest
(Meldung)TestIamPermissionsRequest
(Meldung)TestIamPermissionsResponse
(Meldung)
IAMPolicy
API-Übersicht
Verwaltet IAM-Richtlinien (Identitäts- und Zugriffsverwaltungsrichtlinien).
Jede Schnittstelle einer API, die Funktionen zur Zugriffssteuerung bietet, implementiert die Schnittstelle google.iam.v1.IAMPolicy.
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 Zugriffskontrollrichtlinie für die angegebene Ressource fest. Ersetzt jede vorhandene Richtlinie. Kann
|
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 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 Logtypen (log_types) werden aktiviert und die angegebenen Mitglieder (exempted_members) werden im jeweiligen AuditLogConfig ausgenommen.
Beispielrichtlinie mit mehreren AuditConfigs:
{
"audit_configs": [
{
"service": "allServices",
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
},
{
"log_type": "ADMIN_READ"
}
]
},
{
"service": "sampleservice.googleapis.com",
"audit_log_configs": [
{
"log_type": "DATA_READ"
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"user:aliya@example.com"
]
}
]
}
]
}
Für sampleservice aktiviert diese Richtlinie das Logging von DATA_READ, DATA_WRITE und ADMIN_READ. Außerdem sind jose@example.com
vom DATA_READ-Logging und aliya@example.com
vom DATA_WRITE-Logging ausgenommen.
Felder | |
---|---|
service |
Gibt einen Dienst an, der für das Audit-Logging aktiviert wird. Beispiele: |
audit_log_configs[] |
Die Konfiguration des Logging für die einzelnen Berechtigungstypen. |
AuditLogConfig
Konfiguriert die Protokollierung für einen Berechtigungstyp. Beispiel:
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
}
]
}
Damit wird das Logging von DATA_READ und DATA_WRITE aktiviert und jose@example.com wird vom DATA_READ-Logging ausgenommen.
Felder | |
---|---|
log_type |
Der Protokolltyp, der von dieser Konfiguration aktiviert wird. |
exempted_members[] |
Legt die Identitäten fest, die vom Logging 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
Ordnet members
oder Hauptkonten mit einer role
zu.
Felder | |
---|---|
role |
Rolle, die der Liste der |
members[] |
Gibt die Hauptkonten an, die Zugriff auf eine Google Cloud-Ressource anfordern.
|
condition |
Die Bedingung, die dieser Bindung zugeordnet ist. Wenn die Bedingung Wenn die Bedingung Welche Ressourcen Bedingungen in ihren IAM-Richtlinien unterstützen, erfahren Sie in der IAM-Dokumentation. |
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 unter Ressourcennamen. |
options |
OPTIONAL: Ein Objekt des Typs |
GetPolicyOptions
Umfasst die für GetIamPolicy bereitgestellten Einstellungen.
Felder | |
---|---|
requested_policy_version |
Optional. Die maximale Richtlinienversion, die zum Formatieren der Richtlinie verwendet wird. Gültige Werte sind 0, 1 und 3. Anfragen mit einem ungültigen Wert werden abgelehnt. Anfragen für Richtlinien mit bedingten Bindungen müssen Version 3 angeben. Richtlinien ohne bedingte Rollenbindungen können einen beliebigen gültigen Wert angeben oder das Feld ohne Festlegung lassen. Die Richtlinie in der Antwort kann die von Ihnen angegebene Richtlinienversion oder eine niedrigere Richtlinienversion verwenden. Wenn Sie beispielsweise Version 3 angeben, die Richtlinie jedoch keine bedingten Rollenbindungen hat, verwendet die Antwort Version 1. Welche Ressourcen Bedingungen in ihren IAM-Richtlinien unterstützen, erfahren Sie in der IAM-Dokumentation. |
Policy
Eine Richtlinie für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM), die Zugriffssteuerungen für Google Cloud-Ressourcen festlegt.
Eine Policy
ist eine Sammlung von bindings
. Eine binding
-Bindung bindet ein oder mehrere members
oder Hauptkonten an eine einzelne role
. Hauptkonten können Nutzerkonten, Dienstkonten, Google-Gruppen und Domains sein (z. B. G Suite). Eine role
ist eine benannte Liste von Berechtigungen. Jede role
kann eine vordefinierte IAM-Rolle oder eine vom Nutzer erstellte benutzerdefinierte Rolle sein.
Für einige Arten von Google Cloud-Ressourcen kann ein binding
auch eine condition
angeben. Dies ist ein logischer Ausdruck, der den Zugriff auf eine Ressource nur zulässt, wenn der Ausdruck true
ergibt. Eine Bedingung kann Beschränkungen basierend auf Attributen der Anfrage, der Ressource oder beiden hinzufügen. Welche Ressourcen Bedingungen in ihren IAM-Richtlinien unterstützen, erfahren Sie in der IAM-Dokumentation.
JSON-Beispiel
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
YAML-Beispiel
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
Eine Beschreibung von IAM und seinen Features finden Sie in der IAM-Dokumentation.
Felder | |
---|---|
version |
Gibt das Format der Richtlinie an. Gültige Werte sind Jeder Vorgang, der sich auf bedingte Rollenbindungen auswirkt, muss die Version
Wichtig: Wenn Sie IAM-Bedingungen verwenden, müssen Sie das Feld Wenn eine Richtlinie keine Bedingungen enthält, geben Vorgänge für diese Richtlinie möglicherweise eine gültige Version an oder das Feld wird ohne Festlegung gelassen. Welche Ressourcen Bedingungen in ihren IAM-Richtlinien unterstützen, erfahren Sie in der IAM-Dokumentation. |
bindings[] |
Verbindet eine Liste von Die |
audit_configs[] |
Legt die Konfiguration der Cloud-Audit-Protokollierung für diese Richtlinie fest. |
etag |
Wichtig: Wenn Sie IAM-Bedingungen verwenden, müssen Sie das Feld |
SetIamPolicyRequest
Anfragenachricht für die Methode SetIamPolicy
.
Felder | |
---|---|
resource |
ERFORDERLICH: Die Ressource, für die die Richtlinie festgelegt wird. Den passenden Wert für dieses Feld finden Sie unter Ressourcennamen. |
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:
|
TestIamPermissionsRequest
Anfragenachricht für die Methode TestIamPermissions
.
Felder | |
---|---|
resource |
ERFORDERLICH: Die Ressource, für die das Richtliniendetail angefragt wird. Den passenden Wert für dieses Feld finden Sie unter Ressourcennamen. |
permissions[] |
Die Berechtigungen, die für die |
TestIamPermissionsResponse
Antwortnachricht für die Methode TestIamPermissions
.
Felder | |
---|---|
permissions[] |
Ein Teil der |