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

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

始める前に

  • 認証を設定します。

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

  • プリンシパル アクセス境界ポリシーの概要を確認します。

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

プリンシパル アクセス境界ポリシーの表示に必要な権限を取得するには、組織に対するプリンシパル アクセス境界閲覧者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

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

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

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

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

コンソール

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

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

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

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

gcloud

gcloud beta iam principal-access-boundary-policies list コマンドは、組織内のすべてのプリンシパル アクセス境界ポリシーを一覧表示します。

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

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

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

Linux、macOS、Cloud Shell

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

Windows(PowerShell)

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

Windows(cmd.exe)

gcloud beta 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: プリンシパル アクセス境界ポリシーを一覧表示する Google Cloud 組織の ID。組織 ID は数値で指定します(例: 123456789012)。

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3beta/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 を使用してポリシーを取得します。

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

コンソール

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

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

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

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

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

gcloud

gcloud beta 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 beta iam principal-access-boundary-policies describe PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --format=FORMAT

Windows(PowerShell)

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

Windows(cmd.exe)

gcloud beta 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/v3beta/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 つのプリンシパル アクセス境界ポリシーのポリシー バインディングを一覧表示する

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

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

コンソール

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

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

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

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

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

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

gcloud

gcloud beta 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 beta iam principal-access-boundary-policies search-policy-bindings PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --format=FORMAT

Windows(PowerShell)

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

Windows(cmd.exe)

gcloud beta 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/v3beta/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 beta 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 beta iam policy-bindings search-target-policy-bindings \
    --RESOURCE_TYPE=RESOURCE_ID \
    --target=PRINCPAL_SET \
    --format=FORMAT

Windows(PowerShell)

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

Windows(cmd.exe)

gcloud beta 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/v3beta/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 beta 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 beta iam policy-bindings list --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --format=FORMAT

Windows(PowerShell)

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

Windows(cmd.exe)

gcloud beta 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/v3beta/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 beta 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 beta iam policy-bindings describe BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global \
    --format=FORMAT

Windows(PowerShell)

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

Windows(cmd.exe)

gcloud beta 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/v3beta/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"
}

次のステップ