Deployments: setIamPolicy

指定したリソースにアクセス制御ポリシーを設定します。既存のポリシーをすべて置き換えます。こちらから今すぐお試しいただけます。

リクエスト

HTTP リクエスト

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

パラメータ

パラメータ名 説明
パスパラメータ
project string このリクエストのプロジェクト ID。
resource string このリクエストのリソースの名前または ID。

承認

このリクエストは、少なくとも次のうち 1 つのスコープによる承認が必要です。

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

リクエストの本文

リクエストの本文には、以下の構造を使用してデータを指定してください:

{
  "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
            ],
            "ignoreChildExemptions": boolean
          }
        ]
      }
    ],
    "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,
              "customFields": [
                {
                  "name": string,
                  "value": 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
}
プロパティ名 説明 メモ
policy nested object 必須: 「resource」に適用する完全なポリシー。ポリシーのサイズは数 10 KB に制限されています。空のポリシーは通常有効なポリシーですが、プロジェクトなど特定のサービスでは拒否されることがあります。
policy.version integer ポリシーの形式を指定します。

有効な値は「0」、「1」、「3」です。無効な値を指定したリクエストは拒否されます。

条件付きロール バインディングに影響するオペレーションでは、バージョン 3 を指定する必要があります。この要件は、次のオペレーションに適用されます。

* 条件付きロール バインディングを含むポリシーの取得 * ポリシーへの条件付きロール バインディングの追加 * ポリシー内の条件付きロール バインディングの変更 * 条件を含むポリシーから、条件の有無にかかわらずすべてのロール バインディングを削除する

**重要:** IAM Conditions を使用する場合は、setIamPolicy を呼び出すたびに etag フィールドを含める必要があります。このフィールドを省略すると、IAM でバージョン 3 ポリシーをバージョン 1 ポリシーで上書きできるため、バージョン 3 ポリシーのすべての条件が失われます。

ポリシーに条件が指定されていない場合、ポリシーに対する操作で有効なバージョンの指定、またはフィールド設定の解除ができます。

IAM ポリシーで条件をサポートするリソースについては、[IAM のドキュメント](https://cloud.google.com/iam/help/conditions/resource-policies) をご覧ください。

policy.bindings[] list 「members」のリストを「role」に関連付けます。必要に応じて、「bindings」を適用する方法とタイミングを決定する「condition」を指定できます。各「バインディング」には少なくとも 1 つのメンバーを含める必要があります。
policy.bindings[].role string 「members」に割り当てられるロール。たとえば、「roles/viewer」、「roles/editor」、「roles/owner」など。
policy.bindings[].members[] list Cloud Platform リソースのアクセスのリクエスト元を識別する情報を指定します。「members」には次の値を指定できます。

* 「allUsers」: Google アカウントの有無にかかわらず、インターネット上のすべてのユーザーを表す特別な識別子。

* `allAuthenticatedUsers`: Google アカウントまたはサービス アカウントで認証される任意のユーザーを表す特別な識別子。

* `user:{emailid}`: 特定の Google アカウントを表すメールアドレス。例: alice@example.com。



* `serviceAccount:{emailid}`: サービス アカウントを表すメールアドレス。例: my-other-app@appspot.gserviceaccount.com。

* `group:{emailid}`: Google グループを表すメールアドレス。たとえば、admins@example.com など。

* `deleted:user:{emailid}?uid={uniqueid}`: 最近削除されたユーザーを表すメールアドレスと一意の ID。たとえば、「alice@example.com?uid=123456789012345678901」などです。ユーザーが復元された場合、この値は「user:{emailid}」に戻り、復元されたユーザーはバインディングのロールを保持します。

* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: 最近削除されたサービス アカウントを表すメールアドレスと一意の ID。たとえば、my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901 などです。サービス アカウントが削除されていない場合、この値は serviceAccount:{emailid} に戻り、削除されていないサービス アカウントはバインディングのロールを保持します。

* `deleted:group:{emailid}?uid={uniqueid}`: 最近削除された Google グループを表すメールアドレスと一意の ID。たとえば、`admins@example.com?uid=123456789012345678901` です。グループが復元された場合、この値は `group:{emailid}` に戻り、復元されたグループはバインディングのロールを保持します。



* `domain:{domain}`: G Suite ドメイン(プライマリ)。そのドメインのすべてのユーザーを表します。例: google.com、example.com。







policy.bindings[].condition nested object このバインディングに関連付けられている条件。

条件が true と評価された場合、このバインディングは現在のリクエストに適用されます。

条件が false と評価された場合、このバインディングは現在のリクエストに適用されません。ただし、別のロール バインディングによって、このバインディングの 1 つ以上のメンバーに同じロールが付与される場合があります。

IAM ポリシーで条件をサポートするリソースについては、[IAM のドキュメント](https://cloud.google.com/iam/help/conditions/resource-policies) をご覧ください。
policy.bindings[].condition.expression string Common Expression Language 構文による式のテキスト表現。
policy.bindings[].condition.title string 省略可。式のタイトル。式の目的を説明する短い文字列です。たとえば、式を入力できる UI でこれを使用します。
policy.bindings[].condition.description string 省略可。式の説明。式を説明する長いテキストです。たとえば、UI で式にカーソルを合わせたときに表示されます。
policy.bindings[].condition.location string 省略可。エラー報告用に式の場所を示す文字列。たとえば、ファイル名とファイル内の位置です。
policy.auditConfigs[] list このポリシーに対する Cloud Audit Logging の監査ログを指定します。

policy.auditConfigs[].service string 監査ログに関して有効になるサービスを指定します。たとえば、`storage.googleapis.com`、`cloudsql.googleapis.com`、`allServices` は、すべてのサービスを網羅する特殊値です。
policy.auditConfigs[].exemptedMembers[] list

policy.auditConfigs[].auditLogConfigs[] list 権限のタイプごとのログの構成。
policy.auditConfigs[].auditLogConfigs[].logType string この設定で有効になるログタイプ。
policy.auditConfigs[].auditLogConfigs[].exemptedMembers[] list このタイプの権限に対してログが発生しない ID を指定します。[Binding.members][] と同じ形式を使用します。
policy.auditConfigs[].auditLogConfigs[].ignoreChildExemptions boolean

policy.rules[] list 複数のルールを指定した場合、それらのルールは次のように適用されます。すべての一致 LOG ルールが常に適用されます。- いずれかの DENY/DENY_WITH_LOG ルールが一致する場合は、権限が拒否されます。1 つ以上の一致ルールでログが必要な場合は、ログが適用されます。- それ以外の場合、ALLOW/ALLOW_WITH_LOG ルールのいずれかが一致すれば、権限が付与されます。1 つ以上の一致ルールでログが必要な場合は、ログが適用されます。- それ以外の場合、適用されるルールがなければ、権限は拒否されます。
policy.rules[].description string 人が読める形式のルールの説明。
policy.rules[].permissions[] list 権限は、'..' という形式の文字列です(例: 'storage.buckets.list')。値 '*' はすべての権限に一致し、動詞部分 '*'(例: 'storage.buckets.*')はすべての動詞に一致します。

policy.rules[].action string 必須
policy.rules[].ins[] list 1 つ以上の 'in' 句が指定され、そのエントリの 1 つ以上に PRINCIPAL/AUTHORITY_SELECTOR がある場合、ルールが一致します。
policy.rules[].notIns[] list 1 つ以上の 'not_in' 句が指定され、そのエントリのいずれにも PRINCIPAL/AUTHORITY_SELECTOR がない場合、ルールが一致します。
policy.rules[].conditions[] list 満たされる必要がある追加の制限。ルールが一致するには、すべての条件を満たす必要があります。
policy.rules[].conditions[].iam string IAM システムから提供される、信頼できる属性。
policy.rules[].conditions[].sys string リソースを所有し、アクセス制御に IAM システムを使用しているサービスにより提供される信頼できる属性。
policy.rules[].conditions[].svc string サービスにより提供される信頼できる属性。
policy.rules[].conditions[].op string 対象に適用する演算子。
policy.rules[].conditions[].values[] list 条件のオブジェクト。
policy.rules[].logConfigs[] list LOG アクションに一致するすべてのエントリで tech.iam.IAM.CheckPolicy の発信者に返される構成。
policy.rules[].logConfigs[].counter nested object カウンタ オプション。
policy.rules[].logConfigs[].counter.metric string 更新する指標。
policy.rules[].logConfigs[].counter.field string 該当するフィールド値。
policy.rules[].logConfigs[].counter.customFields[] list カスタム フィールド。
policy.rules[].logConfigs[].counter.customFields[].name string Name はフィールド名です。
policy.rules[].logConfigs[].counter.customFields[].value string Value はフィールド値です。CounterOptions.field とは対照的に、ここでの値は IAMContext から派生しない定数であることが重要です。
policy.rules[].logConfigs[].dataAccess nested object データアクセスのオプション。
policy.rules[].logConfigs[].dataAccess.logMode string

policy.rules[].logConfigs[].cloudAudit nested object クラウド監査オプション
policy.rules[].logConfigs[].cloudAudit.logName string Cloud Audit レコードに入力する log_name。

policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions nested object Cloud Audit Logging パイプラインで使用される情報。
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType string 確認された権限のタイプ。
policy.etag bytes `etag` は、オプティミスティック同時実行制御でポリシーの同時更新による相互上書きを防ぐために使用されます。競合状態の発生を回避するため、システムのポリシー更新の読み込み・変更・書き込みサイクルで `etag` を活用することを強くお勧めします。`etag` は `getIamPolicy` へのレスポンスで返されます。その etag を `setIamPolicy` に対するリクエストに設定すれば、対応する変更が同じバージョンのポリシーに確実に適用されるようになります。

**重要:** IAM Conditions を使用する場合、setIamPolicy を呼び出すときは必ず etag フィールドを含める必要があります。このフィールドを省略すると、IAM によってバージョン 3 ポリシーをバージョン 1 ポリシーで上書きできるようになり、バージョン 3 ポリシーの条件はすべて失われます。
policy.iamOwned boolean

bindings[] list ポリシーをフラット化して、下位互換性のあるワイヤー形式を作成します。非推奨です。「policy」を使用してバインディングを指定します。
bindings[].role string 「members」に割り当てられるロール。たとえば、「roles/viewer」、「roles/editor」、「roles/owner」など。
bindings[].members[] list Cloud Platform リソースのアクセスのリクエスト元を識別する情報を指定します。「members」には次の値を指定できます。

* 「allUsers」: Google アカウントの有無にかかわらず、インターネット上のすべてのユーザーを表す特別な識別子。

* `allAuthenticatedUsers`: Google アカウントまたはサービス アカウントで認証される任意のユーザーを表す特別な識別子。

* `user:{emailid}`: 特定の Google アカウントを表すメールアドレス。例: alice@example.com。



* `serviceAccount:{emailid}`: サービス アカウントを表すメールアドレス。例: my-other-app@appspot.gserviceaccount.com。

* `group:{emailid}`: Google グループを表すメールアドレス。たとえば、admins@example.com など。

* `deleted:user:{emailid}?uid={uniqueid}`: 最近削除されたユーザーを表すメールアドレスと一意の ID。たとえば、「alice@example.com?uid=123456789012345678901」などです。ユーザーが復元された場合、この値は「user:{emailid}」に戻り、復元されたユーザーはバインディングのロールを保持します。

* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: 最近削除されたサービス アカウントを表すメールアドレスと一意の ID。たとえば、my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901 などです。サービス アカウントが削除されていない場合、この値は serviceAccount:{emailid} に戻り、削除されていないサービス アカウントはバインディングのロールを保持します。

* `deleted:group:{emailid}?uid={uniqueid}`: 最近削除された Google グループを表すメールアドレスと一意の ID。たとえば、`admins@example.com?uid=123456789012345678901` です。グループが復元された場合、この値は `group:{emailid}` に戻り、復元されたグループはバインディングのロールを保持します。



* `domain:{domain}`: G Suite ドメイン(プライマリ)。そのドメインのすべてのユーザーを表します。例: google.com、example.com。







bindings[].condition nested object このバインディングに関連付けられている条件。

条件が true と評価された場合、このバインディングは現在のリクエストに適用されます。

条件が false と評価された場合、このバインディングは現在のリクエストに適用されません。ただし、別のロール バインディングによって、このバインディングの 1 つ以上のメンバーに同じロールが付与される場合があります。

IAM ポリシーで条件をサポートするリソースについては、[IAM のドキュメント](https://cloud.google.com/iam/help/conditions/resource-policies) をご覧ください。
bindings[].condition.expression string Common Expression Language 構文による式のテキスト表現。
bindings[].condition.title string 省略可。式のタイトル。式の目的を説明する短い文字列です。たとえば、式を入力できる UI でこれを使用します。
bindings[].condition.description string 省略可。式の説明。式を説明する長いテキストです。たとえば、UI で式にカーソルを合わせたときに表示されます。
bindings[].condition.location string 省略可。エラー報告用に式の場所を示す文字列。たとえば、ファイル名とファイル内の位置です。
etag bytes ポリシーをフラット化して、下位互換性のあるワイヤー形式を作成します。非推奨です。etag を指定するには、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
          ],
          "ignoreChildExemptions": boolean
        }
      ]
    }
  ],
  "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,
            "customFields": [
              {
                "name": string,
                "value": string
              }
            ]
          },
          "dataAccess": {
            "logMode": string
          },
          "cloudAudit": {
            "logName": string,
            "authorizationLoggingOptions": {
              "permissionType": string
            }
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
プロパティ名 説明 メモ
version integer ポリシーの形式を指定します。

有効な値は「0」、「1」、「3」です。無効な値を指定したリクエストは拒否されます。

条件付きロール バインディングに影響するオペレーションでは、バージョン 3 を指定する必要があります。この要件は、次のオペレーションに適用されます。

* 条件付きロール バインディングを含むポリシーの取得 * ポリシーへの条件付きロール バインディングの追加 * ポリシー内の条件付きロール バインディングの変更 * 条件を含むポリシーから、条件の有無にかかわらずすべてのロール バインディングを削除する

**重要:** IAM Conditions を使用する場合は、setIamPolicy を呼び出すたびに etag フィールドを含める必要があります。このフィールドを省略すると、IAM でバージョン 3 ポリシーをバージョン 1 ポリシーで上書きできるため、バージョン 3 ポリシーのすべての条件が失われます。

ポリシーに条件が指定されていない場合、ポリシーに対する操作で有効なバージョンの指定、またはフィールド設定の解除ができます。

IAM ポリシーで条件をサポートするリソースについては、[IAM のドキュメント](https://cloud.google.com/iam/help/conditions/resource-policies) をご覧ください。

bindings[] list 「members」のリストを「role」に関連付けます。必要に応じて、「bindings」を適用する方法とタイミングを決定する「condition」を指定できます。各「バインディング」には少なくとも 1 つのメンバーを含める必要があります。
bindings[].role string 「members」に割り当てられるロール。たとえば、「roles/viewer」、「roles/editor」、「roles/owner」など。
bindings[].members[] list Cloud Platform リソースのアクセスのリクエスト元を識別する情報を指定します。「members」には次の値を指定できます。

* 「allUsers」: Google アカウントの有無にかかわらず、インターネット上のすべてのユーザーを表す特別な識別子。

* `allAuthenticatedUsers`: Google アカウントまたはサービス アカウントで認証される任意のユーザーを表す特別な識別子。

* `user:{emailid}`: 特定の Google アカウントを表すメールアドレス。例: alice@example.com。



* `serviceAccount:{emailid}`: サービス アカウントを表すメールアドレス。例: my-other-app@appspot.gserviceaccount.com。

* `group:{emailid}`: Google グループを表すメールアドレス。たとえば、admins@example.com など。

* `deleted:user:{emailid}?uid={uniqueid}`: 最近削除されたユーザーを表すメールアドレスと一意の ID。たとえば、「alice@example.com?uid=123456789012345678901」などです。ユーザーが復元された場合、この値は「user:{emailid}」に戻り、復元されたユーザーはバインディングのロールを保持します。

* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: 最近削除されたサービス アカウントを表すメールアドレスと一意の ID。たとえば、my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901 などです。サービス アカウントが削除されていない場合、この値は serviceAccount:{emailid} に戻り、削除されていないサービス アカウントはバインディングのロールを保持します。

* `deleted:group:{emailid}?uid={uniqueid}`: 最近削除された Google グループを表すメールアドレスと一意の ID。たとえば、`admins@example.com?uid=123456789012345678901` です。グループが復元された場合、この値は `group:{emailid}` に戻り、復元されたグループはバインディングのロールを保持します。



* `domain:{domain}`: G Suite ドメイン(プライマリ)。そのドメインのすべてのユーザーを表します。例: google.com、example.com。







bindings[].condition nested object このバインディングに関連付けられている条件。

条件が true と評価された場合、このバインディングは現在のリクエストに適用されます。

条件が false と評価された場合、このバインディングは現在のリクエストに適用されません。ただし、別のロール バインディングによって、このバインディングの 1 つ以上のメンバーに同じロールが付与される場合があります。

IAM ポリシーで条件をサポートするリソースについては、[IAM のドキュメント](https://cloud.google.com/iam/help/conditions/resource-policies) をご覧ください。
bindings[].condition.expression string Common Expression Language 構文による式のテキスト表現。
bindings[].condition.title string 省略可。式のタイトル。式の目的を説明する短い文字列です。たとえば、式を入力できる UI でこれを使用します。
bindings[].condition.description string 省略可。式の説明。式を説明する長いテキストです。たとえば、UI で式にカーソルを合わせたときに表示されます。
bindings[].condition.location string 省略可。エラー報告用に式の場所を示す文字列。たとえば、ファイル名とファイル内の位置です。
auditConfigs[] list このポリシーに対する Cloud Audit Logging の監査ログを指定します。

auditConfigs[].service string 監査ログに関して有効になるサービスを指定します。たとえば、`storage.googleapis.com`、`cloudsql.googleapis.com`、`allServices` は、すべてのサービスを網羅する特殊値です。
auditConfigs[].exemptedMembers[] list

auditConfigs[].auditLogConfigs[] list 権限のタイプごとのログの構成。
auditConfigs[].auditLogConfigs[].logType string この設定で有効になるログタイプ。
auditConfigs[].auditLogConfigs[].exemptedMembers[] list このタイプの権限に対してログが発生しない ID を指定します。[Binding.members][] と同じ形式を使用します。
auditConfigs[].auditLogConfigs[].ignoreChildExemptions boolean

rules[] list 複数のルールを指定した場合、それらのルールは次のように適用されます。すべての一致 LOG ルールが常に適用されます。- いずれかの DENY/DENY_WITH_LOG ルールが一致する場合は、権限が拒否されます。1 つ以上の一致ルールでログが必要な場合は、ログが適用されます。- それ以外の場合、ALLOW/ALLOW_WITH_LOG ルールのいずれかが一致すれば、権限が付与されます。1 つ以上の一致ルールでログが必要な場合は、ログが適用されます。- それ以外の場合、適用されるルールがなければ、権限は拒否されます。
rules[].description string 人が読める形式のルールの説明。
rules[].permissions[] list 権限は、'..' という形式の文字列です(例: 'storage.buckets.list')。値 '*' はすべての権限に一致し、動詞部分 '*'(例: 'storage.buckets.*')はすべての動詞に一致します。

rules[].action string 必須
rules[].ins[] list 1 つ以上の 'in' 句が指定され、そのエントリの 1 つ以上に PRINCIPAL/AUTHORITY_SELECTOR がある場合、ルールが一致します。
rules[].notIns[] list 1 つ以上の 'not_in' 句が指定され、そのエントリのいずれにも PRINCIPAL/AUTHORITY_SELECTOR がない場合、ルールが一致します。
rules[].conditions[] list 満たされる必要がある追加の制限。ルールが一致するには、すべての条件を満たす必要があります。
rules[].conditions[].iam string IAM システムから提供される、信頼できる属性。
rules[].conditions[].sys string リソースを所有し、アクセス制御に IAM システムを使用しているサービスにより提供される信頼できる属性。
rules[].conditions[].svc string サービスにより提供される信頼できる属性。
rules[].conditions[].op string 対象に適用する演算子。
rules[].conditions[].values[] list 条件のオブジェクト。
rules[].logConfigs[] list LOG アクションに一致するすべてのエントリで tech.iam.IAM.CheckPolicy の発信者に返される構成。
rules[].logConfigs[].counter nested object カウンタ オプション。
rules[].logConfigs[].counter.metric string 更新する指標。
rules[].logConfigs[].counter.field string 該当するフィールド値。
rules[].logConfigs[].counter.customFields[] list カスタム フィールド。
rules[].logConfigs[].counter.customFields[].name string Name はフィールド名です。
rules[].logConfigs[].counter.customFields[].value string Value はフィールド値です。CounterOptions.field とは対照的に、ここでの値は IAMContext から派生しない定数であることが重要です。
rules[].logConfigs[].dataAccess nested object データアクセスのオプション。
rules[].logConfigs[].dataAccess.logMode string

rules[].logConfigs[].cloudAudit nested object クラウド監査オプション
rules[].logConfigs[].cloudAudit.logName string Cloud Audit レコードに入力する log_name。

rules[].logConfigs[].cloudAudit.authorizationLoggingOptions nested object Cloud Audit Logging パイプラインで使用される情報。
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType string 確認された権限のタイプ。
etag bytes `etag` は、オプティミスティック同時実行制御でポリシーの同時更新による相互上書きを防ぐために使用されます。競合状態の発生を回避するため、システムのポリシー更新の読み込み・変更・書き込みサイクルで `etag` を活用することを強くお勧めします。`etag` は `getIamPolicy` へのレスポンスで返されます。その etag を `setIamPolicy` に対するリクエストに設定すれば、対応する変更が同じバージョンのポリシーに確実に適用されるようになります。

**重要:** IAM Conditions を使用する場合、setIamPolicy を呼び出すときは必ず etag フィールドを含める必要があります。このフィールドを省略すると、IAM によってバージョン 3 ポリシーをバージョン 1 ポリシーで上書きできるようになり、バージョン 3 ポリシーの条件はすべて失われます。
iamOwned boolean