Bereitstellungen: setIamPolicy

Erfordert Autorisierung

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

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 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:

{
  "version": integer,
  "bindings": [
    {
      "role": string,
      "members": [
        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,
          "value": string,
          "values": [
            string
          ]
        }
      ],
      "logConfigs": [
        {
          "counter": {
            "metric": string,
            "field": string
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
Name der Eigenschaft Wert Beschreibung Hinweise
version integer Version der "Richtlinien". Die Standardversion ist 0.

bindings[] list Verbindet eine Liste von "Mitgliedern" mit einer "Rolle". Für eine "Rolle" dürfen nicht mehrere "Bindungen" festgelegt werden. "Bindungen" ohne Mitglieder ergeben einen Fehler.
bindings[].role string "Mitgliedern" zugewiesene Rolle. Zum Beispiel, "Rollen/Betrachter", "Rollen/Editor" oder "Rollen/Eigentümer".
bindings[].members[] list Gibt die Identitäten an, die Zugriff auf eine Ressource der Cloud Platform anfordern. "Mitglieder" können 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, die mit einem Google-Konto oder einem Dienstkonto authentifiziert sind.

* "user:{emailid}": Eine E-Mail-Adresse, die für ein bestimmtes Google-Konto steht. Zum Beispiel "alice@gmail.com" oder "joe@example.com".



* "serviceAccount:{emailid}": Eine E-Mail-Adresse, die für ein Dienstkonto steht. Zu Beispiel "my-other-app@appspot.gserviceaccount.com".

* "group:{emailid}": Eine E-Mail-Adresse, die für eine Google-Gruppe steht. Zum Beispiel "admins@example.com".

* "domain:{domain}": Ein Google Apps-Domain-Name, der für alle Nutzer dieser Domain steht. Zum Beispiel "google.com" oder "example.com".







auditConfigs[] list Gibt Audit-Log-Konfigurationen für "data access" an. "data access": bezieht sich allgemein auf Datenlese-/Datenschreibvorgänge und Admin-Lesevorgänge. "admin activity": bezieht sich allgemein auf Admin-Schreibvorgänge.

Hinweis: "AuditConfig" gilt nicht für "admin activity", das immer Audit-Logs aktiviert.
auditConfigs[].service string Gibt einen Dienst an, der für Audit-Logs aktiviert wird. Zum Beispiel, "resourcemanager", "storage", "compute". "allService" ist ein spezieller Wert für alle Dienste.
auditConfigs[].exemptedMembers[] list Gibt die Identitäten an, die vom Audit-Logging mit "data access" für den oben angegebenen "service" ausgeschlossen sind. Entspricht dem Format von Bindungsmitgliedern.
auditConfigs[].auditLogConfigs[] list Die Konfiguration für jeden Typ von Protokollierung.
auditConfigs[].auditLogConfigs[].logType string Der Protokolltyp, der von dieser Konfiguration aktiviert wird.
auditConfigs[].auditLogConfigs[].exemptedMembers[] list Gibt die Identitäten an, die von dieser Art Protokollierung ausgeschlossen sind. Entspricht dem Format von Bindungsmitgliedern.
rules[] list Wenn mehrere Regeln festgelegt sind, werden die Regeln auf folgende Weise angewendet: – Alle passenden PROTOKOLL-Regeln werden immer angewendet. – Wenn eine oder mehrere DENY/DENY_WITH_LOG-Regeln zutreffen, wird die Berechtigung verweigert. Protokollierung wird angewendet, wenn für eine oder mehrere zutreffende Regeln Protokollierung erforderlich ist. – Wenn eine oder mehrere ALLOW/ALLOW_WITH_LOG-Regeln zutreffen, wird die Berechtigung erteilt. Protokollierung wird verwendet, wenn für eine oder mehrere zutreffende Regel Protokollierung erforderlich ist. – Wenn keine Regel zutrifft, wird die Berechtigung verweigert.
rules[].description string Menschenlesbare Beschreibung der Regel.
rules[].permissions[] list Eine Berechtigung ist eine Zeichenfolge der Form ".." (z. B. "storage.buckets.list"). Mit einem Wert von "*" werden alle Berechtigungen erfüllt und ein Verbteil von "*" (z. B. "storage.buckets.*") hat Übereinstimmungen mit allen Verben zur Folge.

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 zu erfüllende Einschränkungen
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[].value string VERALTET. Verwenden Sie stattdessen "values".
rules[].conditions[].values[] list Die Objekte der Bedingung. Dies schließt sich mit "value" gegenseitig aus.
rules[].logConfigs[] list Die an Anrufer von "tech.iam" zurückgegebene Konfiguration.IAM.CheckPolicy für Einträge, die der LOG-Aktion entsprechen.
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 kein "etag" im Aufruf von "setIamPolicy" enthalten ist, werden die vorhandenen Richtlinien blind überschrieben.
iamOwned boolean

Antwort

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

{
  "version": integer,
  "bindings": [
    {
      "role": string,
      "members": [
        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,
          "value": string,
          "values": [
            string
          ]
        }
      ],
      "logConfigs": [
        {
          "counter": {
            "metric": string,
            "field": string
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
Name der Eigenschaft Wert Beschreibung Hinweise
version integer Version der "Richtlinien". Die Standardversion ist 0.

bindings[] list Verbindet eine Liste von "Mitgliedern" mit einer "Rolle". Für eine "Rolle" dürfen nicht mehrere "Bindungen" festgelegt werden. "Bindungen" ohne Mitglieder ergeben einen Fehler.
bindings[].role string "Mitgliedern" zugewiesene Rolle. Zum Beispiel, "Rollen/Betrachter", "Rollen/Editor" oder "Rollen/Eigentümer".
bindings[].members[] list Gibt die Identitäten an, die Zugriff auf eine Ressource der Cloud Platform anfordern. "Mitglieder" können 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, die mit einem Google-Konto oder einem Dienstkonto authentifiziert sind.

* "user:{emailid}": Eine E-Mail-Adresse, die für ein bestimmtes Google-Konto steht. Zum Beispiel "alice@gmail.com" oder "joe@example.com".



* "serviceAccount:{emailid}": Eine E-Mail-Adresse, die für ein Dienstkonto steht. Zum Beispiel, "my-other-app@appspot.gserviceaccount.com".

* "group:{emailid}": Eine E-Mail-Adresse, die für eine Google-Gruppe steht. Zum Beispiel, "admins@example.com".

* "domain:{domain}": Ein Google Apps-Domain-Name, der für alle Nutzer dieser Domain steht. Zum Beispiel, "google.com" oder "example.com".







auditConfigs[] list Gibt Audit-Log-Konfigurationen für "data access" an. "data access": bezieht sich allgemein auf Datenlese-/Datenschreibvorgänge und Admin-Lesevorgänge. "admin activity": bezieht sich allgemein auf Admin-Schreibvorgänge.

Hinweis: "AuditConfig" gilt nicht für "admin activity", das immer Audit-Logs aktiviert.
auditConfigs[].service string Gibt einen Dienst an, der für Audit-Logs aktiviert wird. Zum Beispiel, "resourcemanager", "storage", "compute". "allService" ist ein spezieller Wert für alle Dienste.
auditConfigs[].exemptedMembers[] list Gibt die Identitäten an, die vom Audit-Logging mit "data access" für den oben angegebenen "service" ausgeschlossen sind. Entspricht dem Format von Bindungsmitgliedern.
auditConfigs[].auditLogConfigs[] list Die Konfiguration für jeden Typ von Protokollierung.
auditConfigs[].auditLogConfigs[].logType string Der Protokolltyp, der von dieser Konfiguration aktiviert wird.
auditConfigs[].auditLogConfigs[].exemptedMembers[] list Gibt die Identitäten an, die von dieser Art Protokollierung ausgeschlossen sind. Entspricht dem Format von Bindungsmitgliedern.
rules[] list Wenn mehrere Regeln festgelegt sind, werden die Regeln auf folgende Weise angewendet: – Alle passenden PROTOKOLL-Regeln werden immer angewendet. – Wenn eine oder mehrere DENY/DENY_WITH_LOG-Regeln zutreffen, wird die Berechtigung verweigert. Protokollierung wird angewendet, wenn für eine oder mehrere zutreffende Regeln Protokollierung erforderlich ist. – Wenn eine oder mehrere ALLOW/ALLOW_WITH_LOG-Regeln zutreffen, wird die Berechtigung erteilt. Protokollierung wird verwendet, wenn für eine oder mehrere zutreffende Regel Protokollierung erforderlich ist. – Wenn keine Regel zutrifft, wird die Berechtigung verweigert.
rules[].description string Menschenlesbare Beschreibung der Regel.
rules[].permissions[] list Eine Berechtigung ist eine Zeichenfolge der Form ".." (z. B. "storage.buckets.list"). Mit einem Wert von "*" werden alle Berechtigungen erfüllt und ein Verbteil von "*" (z. B. "storage.buckets.*") hat Übereinstimmungen mit allen Verben zur Folge.

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 zu erfüllende Einschränkungen
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[].value string VERALTET. Verwenden Sie stattdessen "values".
rules[].conditions[].values[] list Die Objekte der Bedingung. Dies schließt sich mit "value" gegenseitig aus.
rules[].logConfigs[] list Die an Anrufer von "tech.iam" zurückgegebene Konfiguration.IAM.CheckPolicy für Einträge, die der LOG-Aktion entsprechen.
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 kein "etag" im Aufruf von "setIamPolicy" enthalten ist, werden die vorhandenen Richtlinien blind überschrieben.
iamOwned boolean