ポリシー

IAM(Identity and Access Management)ポリシーを定義します。アクセス制御ポリシーを Cloud Platform リソースに指定するのに用いられます。

Policybindings のリストです。bindingmembers のリストを role に結合し、メンバーはユーザー アカウント、Google グループ、Google ドメイン、およびサービス アカウントになることができるようになります。role は IAM で定義された権限の名前付きリストです。

JSON の例

{
  "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 の例

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

IAM とその機能については、IAM デベロッパー ガイドをご覧ください。

JSON 表現

{
  "version": number,
  "bindings": [
    {
      object(Binding)
    }
  ],
  "auditConfigs": [
    {
      object(AuditConfig)
    }
  ],
  "etag": string
}
フィールド
version
(deprecated)

number

非推奨

bindings[]

object(Binding)

members のリストを role に関連付けます。bindings にメンバーが存在しないとエラーになります。

auditConfigs[]

object(AuditConfig)

このポリシーに対する Cloud Audit Logging の監査ログを指定します。

etag

string (bytes format)

etag は、オプティミスティック同時実行制御でポリシーの同時更新による相互上書きを防ぐために使用されます。競合状態の発生を回避するため、システムのポリシー更新の読み込み・変更・書き込みサイクルで etag を活用することを強くおすすめします。etaggetIamPolicy へのレスポンスで返されます。その etag を setIamPolicy に対するリクエストに設定すれば、対応する変更が同じバージョンのポリシーに確実に適用されるようになります。

setIamPolicy の呼び出しに etag が含まれていない場合、既存のポリシーが無条件に上書きされます。

base64 でエンコードされた文字列。