Deployments: getIamPolicy

リソースのアクセス制御ポリシーを取得します。このようなポリシーまたはリソースが存在しない場合、空になります。こちらから今すぐお試しいただけます。

リクエスト

HTTP リクエスト

GET https://www.googleapis.com/deploymentmanager/v2beta/projects/project/global/deployments/resource/getIamPolicy

パラメータ

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

承認

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

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

リクエストの本文

このメソッドにはリクエストの本文を指定しないでください。

レスポンス

成功すると、このメソッドは次の構造を含むレスポンスの本文を返します。

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