プリンシパル アクセス境界ポリシーを表示する

プリンシパル アクセス境界(PAB)ポリシーを使用すると、一連のプリンシパルがアクセスできるリソースを制限できます。このページでは、プリンシパル アクセス境界ポリシーとプリンシパル アクセス境界ポリシーのポリシー バインディングを表示する方法について説明します。

始める前に

プリンシパル アクセス境界ポリシーの確認に必要なロール

プリンシパル アクセス境界ポリシーの確認に必要な権限を取得するには、組織に対するプリンシパル アクセス境界閲覧者roles/iam.principalAccessBoundaryViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

この事前定義ロールには、プリンシパル アクセス境界ポリシーの表示に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

プリンシパル アクセス境界ポリシーを表示するには、次の権限が必要です。

  • 単一のプリンシパル アクセス境界ポリシーを表示する: iam.principalaccessboundarypolicies.get
  • 組織のプリンシパル アクセス境界ポリシーを一覧表示する: iam.principalaccessboundarypolicies.list

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

ポリシー バインディングの表示に必要なロール

ポリシー バインディングの確認に必要な権限を取得するには、ポリシー バインディングの親リソースに対する次の IAM ロールを付与するよう管理者に依頼します。

  • プロジェクトのポリシー バインディングを確認する: プロジェクト IAM 管理者roles/resourcemanager.projectIamAdmin
  • フォルダのポリシー バインディングを確認する: フォルダ IAM 管理者roles/resourcemanager.folderIamAdmin
  • 組織のポリシー バインディングを確認する: 組織管理者roles/resourcemanager.organizationAdmin

ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

これらの事前定義ロールには、ポリシー バインディングの表示に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

ポリシー バインディングを表示するには、次の権限が必要です。

  • 単一のポリシー バインディングを表示する: iam.policybindings.get
  • プロジェクト、フォルダ、組織のポリシー バインディングを一覧表示する: iam.policybindings.list

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

プリンシパル アクセス境界ポリシーのすべてのポリシー バインディングの確認に必要なロール

プリンシパル アクセス境界ポリシーのすべてのポリシー バインディングの確認に必要な権限を取得するには、組織に対するプリンシパル アクセス境界閲覧者roles/iam.principalAccessBoundaryViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

この事前定義ロールには、プリンシパル アクセス境界ポリシーのすべてのポリシー バインディングを表示するために必要な iam.principalaccessboundarypolicies.searchIamPolicyBindings 権限が含まれています。

カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。

プリンシパル セットのポリシー バインディングの表示に必要なロール

プリンシパル セットのすべてのポリシー バインディングを表示するために必要な権限は、ポリシーを表示するプリンシパル セットによって異なります。

ポリシー バインディングを確認するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

  • Workforce Identity 連携プールのポリシー バインディングを確認する: ターゲット Workforce Identity 連携プールに対する IAM Workforce プール管理者roles/iam.workforcePoolAdmin
  • Workload Identity 連携プールのポリシー バインディングを確認する: ターゲット Workforce Identity 連携プールを所有するプロジェクトに対する IAM Workload Identity プール管理者roles/iam.workloadIdentityPoolAdmin
  • Google Workspace ドメインのポリシー バインディングを確認する: 組織に対する Workspace プール IAM 管理者roles/iam.workspacePoolAdmin
  • プロジェクトのプリンシパル セットのポリシー バインディングを確認する: プロジェクトに対するプロジェクト IAM 管理者roles/resourcemanager.projectIamAdmin
  • フォルダのプリンシパル セットのポリシー バインディングを確認する: フォルダに対するフォルダ IAM 管理者roles/resourcemanager.folderIamAdmin
  • 組織のプリンシパル セットのポリシー バインディングを確認する: 組織に対する組織管理者roles/resourcemanager.organizationAdmin

ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

これらの事前定義ロールには、ポリシー バインディングの表示に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

ポリシー バインディングを表示するには、次の権限が必要です。

  • Workforce Identity 連携プールのポリシー バインディングを表示する: ターゲットの Workforce Identity 連携プールに対する iam.workforcePools.searchPolicyBindings
  • Workload Identity 連携プールのポリシー バインディングを表示する: ターゲット Workforce Identity 連携プールを所有するプロジェクトに対する iam.workloadIdentityPools.searchPolicyBindings
  • Google Workspace ドメインのポリシー バインディングを表示する: 組織に対する iam.workspacePools.searchPolicyBindings
  • プロジェクトのプリンシパル セットのポリシー バインディングを表示する: プロジェクトに対する resourcemanager.projects.searchPolicyBindings
  • フォルダのプリンシパル セットのポリシー バインディングを表示する: フォルダに対する resourcemanager.folders.searchPolicyBindings
  • 組織のプリンシパル セットのポリシー バインディングを表示する: 組織に対する resourcemanager.organizations.searchPolicyBindings

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

組織のプリンシパル アクセス境界ポリシーを一覧表示する

組織で作成されたすべてのプリンシパル アクセス境界ポリシーを確認するには、組織のプリンシパル アクセス境界ポリシーの一覧を取得します。

組織のプリンシパル アクセス境界ポリシーの一覧を取得するには、Trusted Cloud コンソール、gcloud CLI、または IAM REST API を使用します。

コンソール

  1. Trusted Cloud コンソールで、[プリンシパル アクセス境界ポリシー] ページに移動します。

    [プリンシパル アクセス境界ポリシー] に移動

  2. プリンシパル アクセス境界ポリシーを作成する組織を選択します。

Trusted Cloud コンソールに、選択した組織内のすべてのポリシーの一覧が表示されます。

gcloud

gcloud iam principal-access-boundary-policies list コマンドを使うと、組織内のすべてのプリンシパル アクセス境界ポリシーの一覧を取得できます。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • ORG_ID: プリンシパル アクセス境界ポリシーを一覧表示する Trusted Cloud by S3NS 組織の ID。組織 ID は数値で指定します(例: 123456789012)。
  • FORMAT: レスポンスの形式。json または yaml を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud iam principal-access-boundary-policies list --organization=ORG_ID \
    --location=global  --format=FORMAT

Windows(PowerShell)

gcloud iam principal-access-boundary-policies list --organization=ORG_ID `
    --location=global  --format=FORMAT

Windows(cmd.exe)

gcloud iam principal-access-boundary-policies list --organization=ORG_ID ^
    --location=global  --format=FORMAT

レスポンスには、指定された組織のプリンシパル アクセス境界ポリシーが含まれます。

{
  "principalAccessBoundaryPolicies": [
    {
      "createTime": "2024-05-07T00:05:48.295209Z",
      "details": [
        "enforcementVersion": 1,
        "rules": {
          [
            "description": "Make principals eligible to access resources in example.com",
            "effect": ALLOW,
            "resources": {
              "//cloudresourcemanager.googleapis.com/organizations/123456789012"
            }
          ]
        }
      ],
      "displayName": "Example policy 1",
      "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"",
      "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy-1",
      "uid": "puid_13364150419245236225",
      "updateTime": "2024-05-07T00:05:48.295209Z"
    },
    {
      "createTime": "2024-02-29T23:25:01.606730Z",
      "details": [
        "enforcementVersion": 1,
        "rules": {
          [
            "description": "Make principals eligible to access resources in example-project",
            "effect": ALLOW,
            "resources": {
              "//cloudresourcemanager.googleapis.com/projects/example-project"
            }
          ]
        }
      ],
      "displayName": "Example policy 2",
      "etag": "d6BJBTsk2+oDCygmr5ANxA==",
      "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy-2",
      "uid": "puid_13064942519001808897",
      "updateTime": "2024-02-29T23:25:01.606730Z"
    }
  ]
}

REST

principalAccessBoundaryPolicies.list メソッドを使用すると、組織内のすべてのプリンシパル アクセス境界ポリシーを一覧表示できます。

リクエストのデータを使用する前に、次のように置き換えます。

  • ORG_ID: プリンシパル アクセス境界ポリシーを一覧表示する Trusted Cloud by S3NS 組織の ID。組織 ID は数値で指定します(例: 123456789012)。

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、指定された組織のプリンシパル アクセス境界ポリシーが含まれます。

{
  "principalAccessBoundaryPolicies": [
    {
      "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy-1",
      "uid": "puid_13364150419245236225",
      "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"",
      "displayName": "Example policy 1",
      "createTime": "2024-05-07T00:05:48.295209Z",
      "updateTime": "2024-05-07T00:05:48.295209Z",
      "details": [
        "rules": {
          [
            "description": "Make principals eligible to access resources in example.com",
            "resources": {
              "//cloudresourcemanager.googleapis.com/organizations/123456789012"
            },
            "effect": ALLOW
          ]
        },
        "enforcementVersion": 1,
      ]
    },
    {
      "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy-2",
      "uid": "puid_13064942519001808897",
      "etag": "d6BJBTsk2+oDCygmr5ANxA==",
      "displayName": "Example policy 2",
      "createTime": "2024-02-29T23:25:01.606730Z",
      "updateTime": "2024-02-29T23:25:01.606730Z",
      "details": [
        "rules": {
          [
            "description": "Make principals eligible to access resources in example-project",
            "resources": {
              "//cloudresourcemanager.googleapis.com/projects/example-project"
            },
            "effect": ALLOW
          ]
        },
        "enforcementVersion": 1
      ]
    }
  ]
}

単一のプリンシパル アクセス境界ポリシーを取得する

単一のプリンシパル アクセス境界ポリシーの詳細を確認するには、ポリシーの ID を使用してポリシーを取得します。

プリンシパル アクセス境界ポリシーは、 Trusted Cloud コンソール、gcloud CLI、または IAM REST API を使用して取得できます。

コンソール

  1. Trusted Cloud コンソールで、[プリンシパル アクセス境界ポリシー] ページに移動します。

    [プリンシパル アクセス境界ポリシー] に移動

  2. プリンシパル アクセス境界ポリシーを作成する組織を選択します。

  3. 確認するプリンシパル アクセス境界ポリシーのポリシー ID をクリックします。

Trusted Cloud コンソールに、選択したプリンシパル アクセス境界ポリシーの詳細が表示されます。

gcloud

gcloud iam principal-access-boundary-policies describe コマンドは、単一のプリンシパル アクセス境界ポリシーを取得します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • PAB_POLICY_ID: 取得するプリンシパル アクセス境界ポリシーの ID(例: example-policy)。
  • ORG_ID: プリンシパル アクセス境界ポリシーを所有する組織の ID。組織 ID は数値で指定します(例: 123456789012)。
  • FORMAT: レスポンスの形式。json または yaml を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud iam principal-access-boundary-policies describe PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --format=FORMAT

Windows(PowerShell)

gcloud iam principal-access-boundary-policies describe PAB_POLICY_ID `
    --organization=ORG_ID --location=global `
    --format=FORMAT

Windows(cmd.exe)

gcloud iam principal-access-boundary-policies describe PAB_POLICY_ID ^
    --organization=ORG_ID --location=global ^
    --format=FORMAT

レスポンスには、リクエストで指定されたプリンシパル アクセス境界ポリシーが含まれます。

{
  "createTime": "2024-05-07T00:05:48.295209Z",
  "details": [
    "enforcementVersion": "1",
    "rules": {
      [
        "description": "Make principals eligible to access example.com",
        "effect": ALLOW,
        "resources": {
          "//cloudresourcemanager.googleapis.com/organizations/123456789012"
        }
      ]
    },
  ],
  "displayName": "Example policy",
  "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"",
  "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
  "uid": "puid_13364150419245236225",
  "updateTime": "2024-05-07T00:05:48.295209Z"
}

REST

principalAccessBoundaryPolicies.get メソッドは、単一のプリンシパル アクセス境界ポリシーを取得します。

リクエストのデータを使用する前に、次のように置き換えます。

  • ORG_ID: プリンシパル アクセス境界ポリシーを所有する組織の ID。組織 ID は数値で指定します(例: 123456789012)。
  • PAB_POLICY_ID: 取得するプリンシパル アクセス境界ポリシーの ID(例: example-policy)。

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、リクエストで指定されたプリンシパル アクセス境界ポリシーが含まれます。

{
  "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
  "uid": "puid_13364150419245236225",
  "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"",
  "displayName": "Example policy",
  "createTime": "2024-05-07T00:05:48.295209Z",
  "updateTime": "2024-05-07T00:05:48.295209Z",
  "details": [
    "rules": {
      [
        "description": "Make principals eligible to access example.com"
        "resources": {
          "//cloudresourcemanager.googleapis.com/organizations/123456789012"
        },
        "effect": ALLOW
      ]
    },
    "enforcementVersion": "1"
  ]
}

複数のプリンシパル アクセス境界ポリシーのポリシー バインディングを一覧表示する

プリンシパル アクセス境界ポリシーのポリシー バインディングを一覧表示するには、次の方法があります。

1 つのプリンシパル アクセス境界ポリシーのポリシー バインディングを一覧表示する

特定のプリンシパル アクセス境界ポリシーを含むすべてのポリシー バインディングを確認するには、プリンシパル アクセス境界ポリシーのバインディングを検索します。

プリンシパル アクセス境界ポリシーのすべてのポリシー バインディングを確認するには、Trusted Cloud コンソール、gcloud CLI、または IAM REST API を使用します。

コンソール

  1. Trusted Cloud コンソールで、[プリンシパル アクセス境界ポリシー] ページに移動します。

    [プリンシパル アクセス境界ポリシー] に移動

  2. バインディングを表示するプリンシパル アクセス境界ポリシーを所有する組織を選択します。

  3. バインディングを表示するプリンシパル アクセス境界ポリシーのポリシー ID をクリックします。

  4. [バインディング] タブをクリックします。

[バインディング] タブには、プリンシパル アクセス境界ポリシーを含むすべてのプリンシパル アクセス境界ポリシー バインディングが表示されます。

gcloud

gcloud iam principal-access-boundary-policies search-policy-bindings コマンドは、指定されたプリンシパル アクセス境界ポリシーのすべてのポリシー バインディングを一覧表示します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • PAB_POLICY_ID: ポリシー バインディングを一覧表示するプリンシパル アクセス境界ポリシーの ID(例: example-policy)。
  • ORG_ID: プリンシパル アクセス境界ポリシーを所有する組織の ID。組織 ID は数値で指定します(例: 123456789012)。
  • FORMAT: レスポンスの形式。json または yaml を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud iam principal-access-boundary-policies search-policy-bindings PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --format=FORMAT

Windows(PowerShell)

gcloud iam principal-access-boundary-policies search-policy-bindings PAB_POLICY_ID `
    --organization=ORG_ID --location=global `
    --format=FORMAT

Windows(cmd.exe)

gcloud iam principal-access-boundary-policies search-policy-bindings PAB_POLICY_ID ^
    --organization=ORG_ID --location=global ^
    --format=FORMAT

レスポンスには、指定されたプリンシパル アクセス境界ポリシーのポリシー バインディングが含まれます。

{
  "policyBindings": [
    {
      "createTime": "2024-05-06T18:08:24.729843Z",
      "displayName": "Example binding 1",
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding1",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_9519202237377675265",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "uid": "buid_9904260005517852673", 
      "updateTime": "2024-05-06T18:08:24.729843Z"
    },
    {
      "createTime": "2024-05-07T07:05:06.203861Z",
      "displayName": "Example binding 2",
      "etag": "W/\"cRMdDXbT82aLuZlvoL9Gqg==\"",
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding2",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_9519202237377675265",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/projects/example-project"
      },
      "uid": "buid_4331055466646863873", 
      "updateTime": "2024-05-07T07:05:06.203861Z"
    }
  ]
}

REST

principalAccessBoundaryPolicies.searchPolicyBindings メソッドは、指定されたプリンシパル アクセス境界ポリシーのすべてのポリシー バインディングを一覧表示します。

リクエストのデータを使用する前に、次のように置き換えます。

  • ORG_ID: プリンシパル アクセス境界ポリシーを所有する組織の ID。組織 ID は数値で指定します(例: 123456789012)。
  • PAB_POLICY_ID: ポリシー バインディングを一覧表示するプリンシパル アクセス境界ポリシーの ID(例: example-policy)。

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID:searchPolicyBindings

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、指定されたプリンシパル アクセス境界ポリシーのポリシー バインディングが含まれます。

{
  "policyBindings": [
    {
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding1",
      "uid": "buid_9904260005517852673", 
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "displayName": "Example binding 1",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
      "policyUid": "puid_9519202237377675265",
      "createTime": "2024-05-06T18:08:24.729843Z",
      "updateTime": "2024-05-06T18:08:24.729843Z"
    },
    {
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding2",
      "uid": "buid_4331055466646863873", 
      "etag": "W/\"cRMdDXbT82aLuZlvoL9Gqg==\"",
      "displayName": "Example binding 2",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/projects/example-project"
      },
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
      "policyUid": "puid_9519202237377675265",
      "createTime": "2024-05-07T07:05:06.203861Z",
      "updateTime": "2024-05-07T07:05:06.203861Z"
    }
  ]
}

プリンシパル セットのポリシー バインディングを一覧表示する

特定のプリンシパル セットを含むすべてのポリシー バインディングを表示するには、プリンシパル セットのバインディングを検索します。

これらのバインディングには、プリンシパル セットにバインドされているプリンシパル アクセス境界ポリシーの ID が含まれています。これらのポリシーの詳細を確認するには、ポリシー ID を使用してプリンシパル アクセス境界ポリシーを取得します。

プリンシパル セットのすべてのポリシー バインディングを表示するには、gcloud CLI または IAM REST API を使用します。

gcloud

gcloud iam policy-bindings search-target-policy-bindings コマンドは、プリンシパル セットにバインドされているすべてのプリンシパル アクセス境界ポリシーを取得します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • RESOURCE_TYPE: ターゲット プリンシパル セットが子である Resource Manager リソースのタイプ(プロジェクト、フォルダ、組織)。値 projectfolder、または organization を使用します。

    リソースタイプは、ポリシー バインディングを一覧表示するプリンシパル セットのタイプによって異なります。使用するリソースタイプを確認するには、サポートされているプリンシパル タイプをご覧ください。

  • RESOURCE_ID: ターゲット プリンシパル セットが子であるプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • PRINCIPAL_SET: 表示するプリンシパル アクセス境界ポリシー バインディングのプリンシパル セット。有効なプリンシパル タイプの一覧については、サポートされているプリンシパル セットをご覧ください。
  • FORMAT: レスポンスの形式。json または yaml を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud iam policy-bindings search-target-policy-bindings \
    --RESOURCE_TYPE=RESOURCE_ID \
    --target=PRINCPAL_SET \
    --format=FORMAT

Windows(PowerShell)

gcloud iam policy-bindings search-target-policy-bindings `
    --RESOURCE_TYPE=RESOURCE_ID `
    --target=PRINCPAL_SET `
    --format=FORMAT

Windows(cmd.exe)

gcloud iam policy-bindings search-target-policy-bindings ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --target=PRINCPAL_SET ^
    --format=FORMAT

レスポンスには、ターゲット プリンシパル セットにバインドされているすべてのポリシー バインディングが含まれます。

{
  "policyBindings": [
    {
      "createTime": "2024-05-06T18:08:24.729843Z",
      "displayName": "Example binding 1",
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding1",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy1",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_9519202237377675265",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "uid": "buid_9904260005517852673", 
      "updateTime": "2024-05-06T18:11:16.798841Z"
    },
    {
      "createTime": "2024-05-06T18:08:24.729843Z",
      "displayName": "Example binding 2",
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding2",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy2",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_10358560617928851457",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "uid": "buid_4331055466646863873", 
      "updateTime": "2024-05-06T18:11:16.798841Z"
    }
  ]
}

REST

SearchTargetPolicyBindings.search メソッドは、プリンシパル セットにバインドされているすべてのプリンシパル アクセス境界ポリシーを取得します。

リクエストのデータを使用する前に、次のように置き換えます。

  • RESOURCE_TYPE: ターゲット プリンシパル セットが子である Resource Manager リソースのタイプ(プロジェクト、フォルダ、組織)。値 projectsfolders、または organizations を使用します。

    リソースタイプは、ポリシー バインディングを一覧表示するプリンシパル セットのタイプによって異なります。使用するリソースタイプを確認するには、サポートされているプリンシパル タイプをご覧ください。

  • RESOURCE_ID: ターゲット プリンシパル セットが子であるプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • PRINCIPAL_SET: 表示するプリンシパル アクセス境界ポリシー バインディングのプリンシパル セット。有効なプリンシパル タイプの一覧については、サポートされているプリンシパル セットをご覧ください。

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings:searchTargetPolicyBindings?target=PRINCPAL_SET

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、ターゲット プリンシパル セットにバインドされているすべてのポリシー バインディングが含まれます。

{
  "policyBindings": [
    {
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding1",
      "uid": "buid_9904260005517852673", 
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "displayName": "Example binding 1",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy1",
      "createTime": "2024-05-06T18:08:24.729843Z",
      "updateTime": "2024-05-06T18:11:16.798841Z",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_9519202237377675265"
    },
    {
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding2",
      "uid": "buid_4331055466646863873", 
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "displayName": "Example binding 2",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy2",
      "createTime": "2024-05-06T18:08:24.729843Z",
      "updateTime": "2024-05-06T18:11:16.798841Z",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_10358560617928851457"
    }
  ]
}

プロジェクト、フォルダ、組織のポリシー バインディングを一覧表示する

特定のプロジェクト、フォルダ、組織の子であるすべてのポリシー バインディングを表示するには、そのプロジェクト、フォルダ、組織のポリシー バインディングを一覧表示します。

ポリシー バインディングの親リソースは、ポリシー バインディングで設定されたプリンシパルによって異なります。詳細については、サポートされているプリンシパル タイプをご覧ください。

プロジェクト、フォルダ、組織のすべてのポリシー バインディングを表示するには、gcloud CLI または IAM REST API を使用します。

gcloud

gcloud iam policy-bindings list コマンドを実行すると、特定のリソースの子であるすべてのポリシー バインディングが一覧表示されます。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • RESOURCE_TYPE: ポリシー バインディングの子である Resource Manager リソースのタイプ(プロジェクト、フォルダ、組織)。値 projectfolder、または organization を使用します。

    リソースタイプは、ポリシー バインディングで設定されたプリンシパルによって異なります。使用するリソースタイプを確認するには、サポートされているプリンシパル タイプをご覧ください。

  • RESOURCE_ID: ポリシー バインディングが子であるプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • FORMAT: レスポンスの形式。json または yaml を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud iam policy-bindings list --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --format=FORMAT

Windows(PowerShell)

gcloud iam policy-bindings list --RESOURCE_TYPE=RESOURCE_ID `
    --location=global `
    --format=FORMAT

Windows(cmd.exe)

gcloud iam policy-bindings list --RESOURCE_TYPE=RESOURCE_ID ^
    --location=global ^
    --format=FORMAT

レスポンスには、コマンドのリソースの子であるポリシー バインディングが含まれます。

{
  "policyBindings": [
    {
      "createTime": "2024-05-06T18:08:24.729843Z",
      "displayName": "Example binding 1",
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding-1",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy-1",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_9519202237377675265",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "uid": "buid_9904260005517852673", 
      "updateTime": "2024-05-06T18:08:24.729843Z"
    },
    {
      "createTime": "2024-05-07T07:05:06.203861Z",
      "displayName": "Example binding 2",
      "etag": "W/\"cRMdDXbT82aLuZlvoL9Gqg==\"",
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding-2",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy-2",
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policyUid": "puid_1566408245394800641",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "uid": "buid_4331055466646863873", 
      "updateTime": "2024-05-07T07:05:06.203861Z"
    }
  ]
}

REST

policyBindings.list メソッドは、特定のリソースの子であるすべてのポリシー バインディングを一覧表示します。

リクエストのデータを使用する前に、次のように置き換えます。

  • RESOURCE_TYPE: ポリシー バインディングの子である Resource Manager リソースのタイプ(プロジェクト、フォルダ、組織)。値 projectsfolders、または organizations を使用します。

    リソースタイプは、ポリシー バインディングで設定されたプリンシパルによって異なります。使用するリソースタイプを確認するには、サポートされているプリンシパル タイプをご覧ください。

  • RESOURCE_ID: ポリシー バインディングが子であるプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、リクエスト内のリソースの子であるポリシー バインディングが含まれます。

{
  "policyBindings": [
    {
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding-1",
      "uid": "buid_9904260005517852673", 
      "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
      "displayName": "Example binding 1",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy-1",
      "policyUid": "puid_9519202237377675265",
      "createTime": "2024-05-06T18:08:24.729843Z",
      "updateTime": "2024-05-06T18:08:24.729843Z"
    },
    {
      "name": "organizations/123456789012/locations/global/policyBindings/example-binding-2",
      "uid": "buid_4331055466646863873", 
      "etag": "W/\"cRMdDXbT82aLuZlvoL9Gqg==\"",
      "displayName": "Example binding 2",
      "target": {
        "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
      },
      "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
      "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy-2",
      "policyUid": "puid_1566408245394800641",
      "createTime": "2024-05-07T07:05:06.203861Z",
      "updateTime": "2024-05-07T07:05:06.203861Z"
    }
  ]
}

プリンシパル アクセス境界ポリシーのポリシー バインディングを取得する

1 つのポリシー バインディングの詳細を表示するには、ポリシー バインディングの ID を使用してポリシー バインディングを取得します。

ポリシー バインディングは、gcloud CLI または IAM REST API を使用して取得できます。

gcloud

gcloud iam policy-bindings describe コマンドは、ポリシー バインディングを取得します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • BINDING_ID: 取得するポリシー バインディングの ID(例: example-binding)。
  • RESOURCE_TYPE: ポリシー バインディングの子である Resource Manager リソースのタイプ(プロジェクト、フォルダ、組織)。値 projectfolder、または organization を使用します。

    リソースタイプは、ポリシー バインディングで設定されたプリンシパルによって異なります。使用するリソースタイプを確認するには、サポートされているプリンシパル タイプをご覧ください。

  • RESOURCE_ID: ポリシー バインディングが子であるプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • FORMAT: レスポンスの形式。json または yaml を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud iam policy-bindings describe BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global \
    --format=FORMAT

Windows(PowerShell)

gcloud iam policy-bindings describe BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global `
    --format=FORMAT

Windows(cmd.exe)

gcloud iam policy-bindings describe BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global ^
    --format=FORMAT

レスポンスには、ポリシー バインディングが含まれます。

{
  "createTime": "2024-05-06T18:08:24.729843Z",
  "displayName": "Example binding",
  "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
  "name": "organizations/123456789012/locations/global/policyBindings/example-binding",
  "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
  "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
  "policyUid": "puid_9519202237377675265",
  "target": {
    "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
  },
  "uid": "buid_9904260005517852673", 
  "updateTime": "2024-05-06T18:08:24.729843Z"
}

REST

policyBindings.get メソッドはポリシー バインディングを取得します。

リクエストのデータを使用する前に、次のように置き換えます。

  • RESOURCE_TYPE: ポリシー バインディングの子である Resource Manager リソースのタイプ(プロジェクト、フォルダ、組織)。値 projectsfolders、または organizations を使用します。

    リソースタイプは、ポリシー バインディングで設定されたプリンシパルによって異なります。使用するリソースタイプを確認するには、サポートされているプリンシパル タイプをご覧ください。

  • RESOURCE_ID: ポリシー バインディングが子であるプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • BINDING_ID: 取得するポリシー バインディングの ID(例: example-binding)。

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings/BINDING_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、ポリシー バインディングが含まれます。

{
  "name": "organizations/123456789012/locations/global/policyBindings/example-binding",
  "uid": "buid_9904260005517852673", 
  "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
  "displayName": "Example binding",
  "target": {
    "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
  },
  "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
  "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
  "policyUid": "puid_9519202237377675265",
  "createTime": "2024-05-06T18:08:24.729843Z",
  "updateTime": "2024-05-06T18:08:24.729843Z"
}

次のステップ