Deployments: setIamPolicy

Autorisierung erforderlich

Legt die Zugriffskontrollrichtlinie für die angegebene Ressource fest. Ersetzt jede vorhandene Richtlinie. Jetzt testen

Anfrage

HTTP-Anfrage

POST https://www.googleapis.com/deploymentmanager/v2/projects/project/global/deployments/resource/setIamPolicy

Parameter

Parametername Wert Beschreibung
Pfadparameter
project string Projekt-ID für diese Anfrage
resource string Name oder ID der Ressource für diese Anfrage.

Autorisierung

Diese Anfrage benötigt eine Autorisierung mit mindestens einem der folgenden Bereiche (weitere Informationen zu Authentifizierung und Autorisierung).

Bereich
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/ndev.cloudman

Anfragetext

Geben Sie im Anfragetext Daten mit der folgenden Struktur ein:

{
  "policy": {
    "version": integer,
    "bindings": [
      {
        "role": string,
        "members": [
          string
        ],
        "condition": {
          "expression": string,
          "title": string,
          "description": string,
          "location": string
        }
      }
    ],
    "auditConfigs": [
      {
        "service": string,
        "exemptedMembers": [
          string
        ],
        "auditLogConfigs": [
          {
            "logType": string,
            "exemptedMembers": [
              string
            ]
          }
        ]
      }
    ],
    "rules": [
      {
        "description": string,
        "permissions": [
          string
        ],
        "action": string,
        "ins": [
          string
        ],
        "notIns": [
          string
        ],
        "conditions": [
          {
            "iam": string,
            "sys": string,
            "svc": string,
            "op": string,
            "values": [
              string
            ]
          }
        ],
        "logConfigs": [
          {
            "counter": {
              "metric": string,
              "field": string
            },
            "dataAccess": {
              "logMode": string
            },
            "cloudAudit": {
              "logName": string,
              "authorizationLoggingOptions": {
                "permissionType": string
              }
            }
          }
        ]
      }
    ],
    "etag": bytes,
    "iamOwned": boolean
  },
  "bindings": [
    {
      "role": string,
      "members": [
        string
      ],
      "condition": {
        "expression": string,
        "title": string,
        "description": string,
        "location": string
      }
    }
  ],
  "etag": bytes
}
Name der Eigenschaft Wert Beschreibung Hinweise
bindings[] list „Flatten Policy“ (Richtlinie für flache Datenstruktur) verwenden, um ein abwärtskompatibles Wire-Format zu erstellen. Verworfen. Verwenden Sie „policy“, um Bindungen anzugeben.
bindings[].role string Rolle, die „members“ zugewiesen ist. Beispiel: „roles/viewer“, „roles/editor“ oder „roles/owner“.
bindings[].members[] list Gibt die Identitäten an, die Zugriff auf eine Cloud Platform-Ressource anfordern. „members“ kann die folgenden Werte haben:

* „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@beispiel.de“.



* „domain:{domain}“: die G Suite-Domain (primäre Domain), die alle Nutzer dieser Domain repräsentiert. Beispiel: „google.com“ oder „beispiel.de“.







etag bytes „Flatten Policy“ (Richtlinie für flache Datenstruktur) verwenden, um ein abwärtskompatibles Wire-Format zu erstellen. Verworfen. Verwenden Sie „policy“, um den Etag anzugeben.
bindings[].condition nested object 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.
bindings[].condition.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.
bindings[].condition.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.
bindings[].condition.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.
bindings[].condition.location string Ein optionaler String, der in Fehlermeldungen den Speicherort des Ausdrucks angibt, beispielsweise ein Dateiname und eine Position in der Datei.
policy nested object ERFORDERLICH: Die vollständige Richtlinie, die auf „resource“ angewendet werden soll. Die Größe der Richtlinie ist auf einige 10 KB beschränkt. Eine leere Richtlinie ist zwar grundsätzlich gültig, manche Dienste (z. B. Projekte) lehnen sie aber eventuell ab.
policy.version integer Veraltet.

policy.bindings[] list Ordnet einer „role“ eine Liste von „members“ zu. „bindings“ ohne Mitglieder führen zu einem Fehler.
policy.bindings[].role string Rolle, die „members“ zugewiesen ist. Beispiel: „roles/viewer“, „roles/editor“ oder „roles/owner“.
policy.bindings[].members[] list Gibt die Identitäten an, die Zugriff auf eine Cloud Platform-Ressource anfordern. „members“ kann die folgenden Werte haben:

* „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@beispiel.de“.



* „domain:{domain}“: die G Suite-Domain (primäre Domain), die alle Nutzer dieser Domain repräsentiert. Beispiel: „google.com“ oder „beispiel.de“.







policy.bindings[].condition nested object 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.
policy.bindings[].condition.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.
policy.bindings[].condition.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.
policy.bindings[].condition.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.
policy.bindings[].condition.location string Ein optionaler String, der in Fehlermeldungen den Speicherort des Ausdrucks angibt, beispielsweise ein Dateiname und eine Position in der Datei.
policy.auditConfigs[] list Legt die Konfiguration des Cloud-Audit-Loggings für diese Richtlinie fest.

policy.auditConfigs[].service string Gibt einen Dienst an, der für das Audit-Logging aktiviert wird. Beispiele: „storage.googleapis.com“, „cloudsql.googleapis.com“. „allServices“ ist ein spezieller Wert, der alle Dienste umfasst.
policy.auditConfigs[].exemptedMembers[] list

policy.auditConfigs[].auditLogConfigs[] list Die Konfiguration des Logging für die einzelnen Berechtigungstypen.
policy.auditConfigs[].auditLogConfigs[].logType string Der Protokolltyp, der von dieser Konfiguration aktiviert wird.
policy.auditConfigs[].auditLogConfigs[].exemptedMembers[] list Legt die Identitäten fest, die vom Logging für diesen Berechtigungstyp ausgenommen werden. Entspricht dem Format von [Binding.members][].
policy.rules[] list Wenn mehrere Regeln angegeben sind, werden sie so angewendet: – Wenn eine DENY-/DENY_WITH_LOG-Regel übereinstimmt, wird die Berechtigung verweigert. Das Logging wird angewendet, wenn für eine oder mehrere übereinstimmende Regeln Logging erforderlich ist. – Andernfalls wird die Berechtigung gewährt, wenn eine ALLOW-/ALLOW_WITH_LOG-Regel übereinstimmt. Das Logging wird angewendet, wenn für eine oder mehrere übereinstimmende Regeln Logging erforderlich ist. – Andernfalls, wenn keine Regel zutrifft, wird die Berechtigung abgelehnt.
policy.rules[].description string Menschenlesbare Beschreibung der Regel.
policy.rules[].permissions[] list Eine Berechtigung ist ein String im Format ..(z.B. storage.buckets.list). Der Wert „*“ entspricht allen Berechtigungen und ein Verbteil von „*“ (z.B. „storage.buckets.*“ führt zu einer Übereinstimmung mit allen Verben.

policy.rules[].action string Erforderlich
policy.rules[].ins[] list Wenn eine oder mehrere "in"-Klauseln angegeben sind, trifft die Regel zu, wenn der PRINCIPAL/AUTHORITY_SELECTOR in mindestens einem dieser Einträge vorhanden ist.
policy.rules[].notIns[] list Wenn eine oder mehrere "not_in"-Klauseln festgelegt sind, trifft die Regel zu, wenn der PRINCIPAL/AUTHORITY_SELECTOR in keinem der Einträge enthalten ist.
policy.rules[].conditions[] list Weitere Einschränkungen, die erfüllt sein müssen. Alle Bedingungen müssen erfüllt sein, damit die Regel übereinstimmt.
policy.rules[].conditions[].iam string Vom IAM-System angegebene vertrauenswürdige Attribute.
policy.rules[].conditions[].sys string Vertrauenswürdige Attribute, die von einem Dienst angegeben werden, der Eigentümer von Ressourcen ist und das IAM-System für die Zugriffskontrolle verwendet.
policy.rules[].conditions[].svc string Vertrauenswürdige Attribute, die vom Dienst freigegeben werden.
policy.rules[].conditions[].op string Ein Operator, mit dem das Thema angewendet wird.
policy.rules[].conditions[].values[] list Die Objekte der Bedingung.
policy.rules[].logConfigs[] list Die Konfiguration, die an die Aufrufer von tech.iam.IAM.CheckPolicy für alle Einträge zurückgegeben wird, die mit der LOG-Aktion übereinstimmen.
policy.rules[].logConfigs[].counter nested object Zähleroptionen.
policy.rules[].logConfigs[].counter.metric string Der zu aktualisierende Messwert.
policy.rules[].logConfigs[].counter.field string Der zuzuordnende Feldwert.
policy.rules[].logConfigs[].dataAccess nested object Datenzugriffsoptionen.
policy.rules[].logConfigs[].dataAccess.logMode string Gibt an, ob Gin-Protokolle beim Aufrufer fehlerfrei geschlossen werden sollen. Dies ist derzeit nur bei der LocalIAM-Implementierung relevant.

 HINWEIS: Das fehlerfreie Logging in Gin wird derzeit nicht unterstützt, da wir daran arbeiten, die Anforderungen von go/345 zu erfüllen. Derzeit hat die Einstellung des LOG_FAIL_CLOSED-Modus keine Auswirkungen. Er wird aber weiterhin unterstützt, da wir daran arbeiten, ihn zu implementieren (b/115874152).
policy.rules[].logConfigs[].cloudAudit nested object Cloud-Audit-Optionen.
policy.rules[].logConfigs[].cloudAudit.logName string Der Log_Name, der im Cloud-Audit-Eintrag eingefügt werden soll.

policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions nested object Von der Cloud-Audit-Logging-Pipeline verwendete Informationen.
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType string Der Typ der geprüften Berechtigung.
policy.etag bytes "etag" wird für optimistische Gleichzeitigkeitserkennung verwendet, mit der verhindert werden kann, dass sich gleichzeitige Aktualisierungen einer Richtlinie gegenseitig überschreiben. Es ist sehr zu empfehlen, dass Systeme das "etag" im Lesen-Ändern-Schreiben-Zyklus verwenden, um Richtlinienaktualisierungen durchzuführen und kritische Wettläufe zu vermeiden: Ein "etag" wird in der Antwort auf "getIamPolicy" zurückgegeben und es wird erwartet, dass Systeme dieses "etag" in die Anforderung von "setIamPolicy" aufnehmen, um sicherzustellen, dass ihre Änderung auf die gleiche Version der Richtlinien angewendet wird.

Wenn im Aufruf von „setIamPolicy“ kein „etag“ angegeben ist, wird die vorhandene Richtlinie blind überschrieben.
policy.iamOwned boolean

Antwort

Bei Erfolg gibt diese Methode einen Antworttext mit der folgenden Struktur zurück:

{
  "version": integer,
  "bindings": [
    {
      "role": string,
      "members": [
        string
      ],
      "condition": {
        "expression": string,
        "title": string,
        "description": string,
        "location": string
      }
    }
  ],
  "auditConfigs": [
    {
      "service": string,
      "exemptedMembers": [
        string
      ],
      "auditLogConfigs": [
        {
          "logType": string,
          "exemptedMembers": [
            string
          ]
        }
      ]
    }
  ],
  "rules": [
    {
      "description": string,
      "permissions": [
        string
      ],
      "action": string,
      "ins": [
        string
      ],
      "notIns": [
        string
      ],
      "conditions": [
        {
          "iam": string,
          "sys": string,
          "svc": string,
          "op": string,
          "values": [
            string
          ]
        }
      ],
      "logConfigs": [
        {
          "counter": {
            "metric": string,
            "field": string
          },
          "dataAccess": {
            "logMode": string
          },
          "cloudAudit": {
            "logName": string,
            "authorizationLoggingOptions": {
              "permissionType": string
            }
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
Name der Eigenschaft Wert Beschreibung Hinweise
version integer Veraltet.

bindings[] list Ordnet einer „role“ eine Liste von „members“ zu. „bindings“ ohne Mitglieder führen zu einem Fehler.
bindings[].role string Rolle, die „members“ zugewiesen ist. Beispiel: „roles/viewer“, „roles/editor“ oder „roles/owner“.
bindings[].members[] list Gibt die Identitäten an, die Zugriff auf eine Cloud Platform-Ressource anfordern. „members“ kann die folgenden Werte haben:

* „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@beispiel.de“.



* „domain:{domain}“: die G Suite-Domain (primäre Domain), die alle Nutzer dieser Domain repräsentiert. Beispiel: „google.com“ oder „beispiel.de“.







auditConfigs[] list Legt die Konfiguration des Cloud-Audit-Loggings für diese Richtlinie fest.

auditConfigs[].service string Gibt einen Dienst an, der für das Audit-Logging aktiviert wird. Beispiele: „storage.googleapis.com“, „cloudsql.googleapis.com“. „allServices“ ist ein spezieller Wert, der alle Dienste umfasst.
auditConfigs[].exemptedMembers[] list

auditConfigs[].auditLogConfigs[] list Die Konfiguration des Logging für die einzelnen Berechtigungstypen.
auditConfigs[].auditLogConfigs[].logType string Der Protokolltyp, der von dieser Konfiguration aktiviert wird.
auditConfigs[].auditLogConfigs[].exemptedMembers[] list Legt die Identitäten fest, die vom Logging für diesen Berechtigungstyp ausgenommen werden. Entspricht dem Format von [Binding.members][].
rules[] list Wenn mehrere Regeln angegeben sind, werden sie so angewendet: – Wenn eine DENY-/DENY_WITH_LOG-Regel übereinstimmt, wird die Berechtigung verweigert. Das Logging wird angewendet, wenn für eine oder mehrere übereinstimmende Regeln Logging erforderlich ist. – Andernfalls wird die Berechtigung gewährt, wenn eine ALLOW-/ALLOW_WITH_LOG-Regel übereinstimmt. Das Logging wird angewendet, wenn für eine oder mehrere übereinstimmende Regeln Logging erforderlich ist. – Andernfalls, wenn keine Regel zutrifft, wird die Berechtigung abgelehnt.
rules[].description string Menschenlesbare Beschreibung der Regel.
rules[].permissions[] list Eine Berechtigung ist ein String im Format ..(z.B. storage.buckets.list). Der Wert „*“ entspricht allen Berechtigungen und ein Verbteil von „*“ (z.B. „storage.buckets.*“ führt zu einer Übereinstimmung mit allen Verben.

rules[].action string Erforderlich
rules[].ins[] list Wenn eine oder mehrere "in"-Klauseln angegeben sind, trifft die Regel zu, wenn der PRINCIPAL/AUTHORITY_SELECTOR in mindestens einem dieser Einträge vorhanden ist.
rules[].notIns[] list Wenn eine oder mehrere "not_in"-Klauseln festgelegt sind, trifft die Regel zu, wenn der PRINCIPAL/AUTHORITY_SELECTOR in keinem der Einträge enthalten ist.
rules[].conditions[] list Weitere Einschränkungen, die erfüllt sein müssen. Alle Bedingungen müssen erfüllt sein, damit die Regel übereinstimmt.
rules[].conditions[].iam string Vom IAM-System angegebene vertrauenswürdige Attribute.
rules[].conditions[].sys string Vertrauenswürdige Attribute, die von einem Dienst angegeben werden, der Eigentümer von Ressourcen ist und das IAM-System für die Zugriffskontrolle verwendet.
rules[].conditions[].svc string Vertrauenswürdige Attribute, die vom Dienst freigegeben werden.
rules[].conditions[].op string Ein Operator, mit dem das Thema angewendet wird.
rules[].conditions[].values[] list Die Objekte der Bedingung.
rules[].logConfigs[] list Die Konfiguration, die an die Aufrufer von tech.iam.IAM.CheckPolicy für alle Einträge zurückgegeben wird, die mit der LOG-Aktion übereinstimmen.
rules[].logConfigs[].counter nested object Zähleroptionen.
rules[].logConfigs[].counter.metric string Der zu aktualisierende Messwert.
rules[].logConfigs[].counter.field string Der zuzuordnende Feldwert.
etag bytes "etag" wird für optimistische Gleichzeitigkeitserkennung verwendet, mit der verhindert werden kann, dass sich gleichzeitige Aktualisierungen einer Richtlinie gegenseitig überschreiben. Es ist sehr zu empfehlen, dass Systeme das "etag" im Lesen-Ändern-Schreiben-Zyklus verwenden, um Richtlinienaktualisierungen durchzuführen und kritische Wettläufe zu vermeiden: Ein "etag" wird in der Antwort auf "getIamPolicy" zurückgegeben und es wird erwartet, dass Systeme dieses "etag" in die Anforderung von "setIamPolicy" aufnehmen, um sicherzustellen, dass ihre Änderung auf die gleiche Version der Richtlinien angewendet wird.

Wenn im Aufruf von „setIamPolicy“ kein „etag“ angegeben ist, wird die vorhandene Richtlinie blind überschrieben.
iamOwned boolean

bindings[].condition nested object 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.
bindings[].condition.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.
bindings[].condition.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.
bindings[].condition.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.
bindings[].condition.location string Ein optionaler String, der in Fehlermeldungen den Speicherort des Ausdrucks angibt, beispielsweise ein Dateiname und eine Position in der Datei.
rules[].logConfigs[].dataAccess nested object Datenzugriffsoptionen.
rules[].logConfigs[].dataAccess.logMode string Gibt an, ob Gin-Protokolle beim Aufrufer fehlerfrei geschlossen werden sollen. Dies ist derzeit nur bei der LocalIAM-Implementierung relevant.

 HINWEIS: Das fehlerfreie Logging in Gin wird derzeit nicht unterstützt, da wir daran arbeiten, die Anforderungen von go/345 zu erfüllen. Derzeit hat die Einstellung des LOG_FAIL_CLOSED-Modus keine Auswirkungen. Er wird aber weiterhin unterstützt, da wir daran arbeiten, ihn zu implementieren (b/115874152).
rules[].logConfigs[].cloudAudit nested object Cloud-Audit-Optionen.
rules[].logConfigs[].cloudAudit.logName string Der Log_Name, der im Cloud-Audit-Eintrag eingefügt werden soll.

rules[].logConfigs[].cloudAudit.authorizationLoggingOptions nested object Von der Cloud-Audit-Logging-Pipeline verwendete Informationen.
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType string Der Typ der geprüften Berechtigung.