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

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

始める前に

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

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

この事前定義ロールには、プリンシパル アクセス境界ポリシーの編集に必要な iam.principalaccessboundarypolicies.update 権限が含まれています。

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

プリンシパル アクセス境界ポリシー バインディングの編集に必要なロール

プリンシパル アクセス境界ポリシーのポリシー バインディングを編集するために必要な権限は、ポリシーにバインドされているプリンシパル セットによって異なります。

プリンシパル アクセス境界ポリシーのポリシー バインディングを編集するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼します。

  • 組織に対するプリンシパル アクセス境界ユーザーroles/iam.principalAccessBoundaryUser
  • Workforce Identity プールにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: ターゲットの Workforce Identity プールに対する IAM Workforce プール管理者roles/iam.workforcePoolAdmin
  • Workload Identity プールにバインドされたプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: ターゲットの Workforce Identity プールを所有するプロジェクトに対する IAM Workload Identity プール管理者roles/iam.workloadIdentityPoolAdmin
  • Workload Identity プールを参照するバインディングを編集する長時間実行オペレーションのステータスを取得する: ターゲットの Workload Identity プールを所有するプロジェクトに対する IAM オペレーション閲覧者roles/iam.operationViewer
  • Google Workspace ドメインにバインドされたプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: 組織に対する Workspace プール IAM 管理者roles/iam.workspacePoolAdmin
  • プロジェクトのプリンシパル セットにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: プロジェクトに対するプロジェクト IAM 管理者roles/resourcemanager.projectIamAdmin
  • プロジェクトのプリンシパル セットを参照するバインディングの編集に関する長時間実行オペレーションのステータスを取得する: プロジェクトに対する IAM オペレーション閲覧者roles/iam.operationViewer
  • フォルダのプリンシパル セットにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: フォルダに対するフォルダ IAM 管理者roles/resourcemanager.folderIamAdmin
  • 組織のプリンシパル セットにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: 組織に対する組織管理者roles/resourcemanager.organizationAdmin

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

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

必要な権限

プリンシパル アクセス境界ポリシーのポリシー バインディングを編集するには、次の権限が必要です。

  • 組織に対する iam.principalaccessboundarypolicies.bind
  • Workforce Identity プールにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: Workforce Identity プールに対する iam.workforcePools.updatePolicyBinding
  • Workload Identity プールにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: ターゲットの Workload Identity プールを所有するプロジェクトに対する iam.workloadIdentityPools.updatePolicyBinding
  • Workload Identity プールを参照するバインディングの編集に関する長時間実行オペレーションのステータスを取得する: ターゲットの Workload Identity プールを所有するプロジェクトに対する iam.operations.get
  • Google Workspace ドメインにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: 組織に対する iam.workspacePools.updatePolicyBinding
  • プロジェクトのプリンシパル セットにバインドされたプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: プロジェクトに対する resourcemanager.projects.updatePolicyBinding
  • プロジェクトのプリンシパル セットを参照するバインディングの編集に関する長時間実行オペレーションのステータスを取得する: プロジェクトに対する iam.operations.get
  • フォルダのプリンシパル セットにバインドされたプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: フォルダに対する resourcemanager.folders.updatePolicyBinding
  • 組織のプリンシパル セットにバインドされているプリンシパル アクセス境界ポリシーのポリシー バインディングを編集する: 組織に対する resourcemanager.organizations.updatePolicyBinding

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

既存のプリンシパル アクセス境界ポリシーを編集する

プリンシパル アクセス境界ポリシーにルールを追加する場合、プリンシパル アクセス境界ポリシーからルールを削除する場合、またはプリンシパル アクセス境界ポリシーのメタデータを変更する場合は、プリンシパル アクセス境界ポリシーを編集します。

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

コンソール

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

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

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

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

  4. [ポリシーの編集] をクリックします。

  5. ポリシーのルールを編集する手順は次のとおりです。

    1. 編集するルールをクリックします。
    2. ルールの説明またはルールに含まれるリソースを編集します。
    3. [完了] をクリックします。
  6. ポリシーからルールを削除するには、そのルールの行にある [ 削除] をクリックします。

  7. ポリシーの表示名を編集するには、[表示名] フィールドを編集します。

  8. ポリシーの適用バージョンを編集するには、[適用バージョン] リストをクリックして新しい値を選択します。

  9. [保存] をクリックします。

gcloud

gcloud iam principal-access-boundary-policies update コマンドは、既存のプリンシパル アクセス境界ポリシーを更新します。

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

  • PAB_POLICY_ID: 更新するプリンシパル アクセス境界ポリシーの ID(例: example-policy)。
  • ORG_ID: プリンシパル アクセス境界ポリシーを所有する組織の ID。組織 ID は数値で指定します(例: 123456789012)。
  • FIELD_TO_UPDATE=UPDATED_VALUE: 更新するフィールドと、それに対応する更新後の値。

    ポリシーのフィールドを更新するために使用できるフラグの例を次に示します。

    • --display-name=DISPLAY_NAME: ポリシーの表示名を DISPLAY_NAME に置き換えます。
    • --details-enforcement-version=ENFORCEMENT_VERSION: ポリシーの適用バージョンENFORCEMENT_VERSION に更新します。
    • --details-rules=RULES_FILE.json: プリンシパル アクセス境界ポリシーのルールを RULES_FILE.json のルールに置き換えます。ルールファイルの形式については、プリンシパル アクセス境界ポリシーを作成するをご覧ください。

      このフラグを使用すると、--add-details-rules フラグは使用できません。

    • --add-details-rules=RULES_FILE: RULES_FILE.json のルールをポリシーの既存のルールに追加します。ルールファイルの形式については、プリンシパル アクセス境界ポリシーを作成するをご覧ください。

      このフラグを使用する場合、--details-rules フラグは使用できません。

    • --remove-details-rules=RULES_FILE: ポリシーの既存のルールから RULES_FILE.json のルールを削除します。ルールファイルの形式については、プリンシパル アクセス境界ポリシーを作成するをご覧ください。RULES_FILE.json のルールのいずれかに完全に一致するルールのみが削除されます。

      このフラグを使用する場合、--clear-rule-details フラグは使用できません。

    • --clear-details-rules: プリンシパル アクセス境界ポリシーからすべてのルールを消去します。

      このフラグを使用する場合、--remove-rule-details フラグは使用できません。

    プリンシパル アクセス境界ポリシーの更新に使用できるフラグの完全なリストについては、gcloud iam principal-access-boundary-policies update コマンド リファレンスをご覧ください。

  • FORMAT: レスポンスの形式。json または yaml を使用します。

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

Linux、macOS、Cloud Shell

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

Windows(PowerShell)

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

Windows(cmd.exe)

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

レスポンスには、リクエストを表す長時間実行オペレーションが含まれます。オペレーションが完了すると、更新されたプリンシパル アクセス境界ポリシーがレスポンスに出力されます。

Request issued for: [example-policy]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374208720-6181fae5e2034-2d8a712b-5c92e5b9] to complete...done.
Updated principalAccessBoundaryPolicy [example-policy].
{
  "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
  "uid": "puid_13364150419245236225",
  "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"",
  "displayName": "Updated display name",
  "createTime": "2024-05-07T00:05:48.295209Z",
  "updateTime": "2024-05-10T20:50:09.200421Z",
  "details": [
    "rules": {
      [
        "description": "Make principals eligible to access example.com"
        "resources": {
          "//cloudresourcemanager.googleapis.com/organizations/123456789012"
        },
        "effect": ALLOW
      ]
    },
    "enforcementVersion": "1"
  ]
}

REST

principalAccessBoundaryPolicies.patch メソッドは、既存のプリンシパル アクセス境界ポリシーを更新します。

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

  • ORG_ID: プリンシパル アクセス境界ポリシーを所有する組織の ID。組織 ID は数値で指定します(例: 123456789012)。
  • PAB_POLICY_ID: 更新するプリンシパル アクセス境界ポリシーの ID(例: example-policy)。
  • FIELDS_TO_UPDATE: 更新するフィールドのカンマ区切りリスト。更新するフィールドを指定しない場合、IAM は既存のポリシーをリクエスト本文のコンテンツで置き換えます。

    指定できる値は displayNamedetailsdetails.rulesdetails.rules.descriptiondetails.rules.resourcesdetails.rules.effectdetails.enforcementVersion です。

  • DISPLAY_NAME: 省略可。人が読める形式のプリンシパル アクセス境界ポリシーの説明(例: Example policy)。表示名は 63 文字以内にしてください。
  • PAB_RULES: プリンシパル アクセス境界ルールのリスト。影響を受けるプリンシパルがアクセスできるリソースを定義します。1 つのプリンシパル アクセス境界ポリシーには、最大 500 個のルールを含めることができます。各ルールの形式は次のとおりです。

    {
    "description": "DESCRIPTION",
    "resources": [
      RESOURCES
    ],
    "effect": ALLOW
    }

    次の値を置き換えます。

    • DESCRIPTION: 省略可。プリンシパル アクセス境界ポリシールールの説明。説明は 256 文字以内で指定できます。
    • RESOURCES: プリンシパルがアクセスできるようにする Resource Manager リソース(プロジェクト、フォルダ、組織)のリスト。このポリシーの対象となるプリンシパルは、これらのリソースにアクセスできます。

      各プリンシパル アクセス境界ポリシーは、ポリシー内のすべてのルールで最大 500 個のリソースを参照できます。

  • ENFORCEMENT_VERSION: ポリシーの適用時に IAM が使用するプリンシパル アクセス境界ポリシーのバージョン。適用バージョンにより、IAM がプリンシパル アクセス境界ポリシーを適用する権限が決まります。

    指定できる値は 123latest です。

    適用バージョンの詳細については、プリンシパル アクセス境界の適用バージョンをご覧ください。

HTTP メソッドと URL:

PATCH https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID?updateMask=FIELDS_TO_UPDATE

リクエストの本文(JSON):

{
  "displayName": DISPLAY_NAME,
  "details": {
    "rules": [
      PAB_RULES
    ],
    "enforcementVersion": "ENFORCEMENT_VERSION",
  }
}

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

レスポンスには、リクエストを表す長時間実行オペレーションが含まれます。長時間実行オペレーションのステータスを取得する方法については、このページの長時間実行オペレーションのステータスを確認するをご覧ください。

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715626721931-6185a7953ef76-76f80ee4-19cd1bf7",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-13T18:58:43.721277235Z",
    "target": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": false
}

プリンシパル アクセス境界ポリシーの適用対象を変更する

プリンシパル アクセス境界ポリシーのポリシー バインディングを作成した後、バインディングで設定したポリシー ID やプリンシパルは変更できません。そのため、プリンシパル アクセス境界ポリシーの適用対象を変更する場合は、次のいずれかを行う必要があります。

  • プリンシパル アクセス境界ポリシーが適用されるプリンシパルのセットを絞り込むには、ポリシー バインディングの条件を変更します。バインディングの条件を変更するには、ポリシー バインディングを編集します。
  • 追加のプリンシパル セットにプリンシパル アクセス境界ポリシーを適用するには、そのプリンシパル セットにポリシーをバインドする新しいポリシー バインディングを作成します。
  • プリンシパル セットからプリンシパル アクセス境界ポリシーを削除するには、ポリシーをプリンシパル セットにバインドするポリシー バインディングを削除します。

プリンシパル アクセス境界ポリシーの既存のポリシー バインディングを編集する

ポリシー バインディングを作成したら、バインディングを編集して、バインディングの条件やバインディングの表示名を変更できます。

ポリシー バインディングは、 Trusted Cloud コンソール、gcloud CLI、または IAM REST API を使用して編集できます。

コンソール

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

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

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

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

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

  5. 編集するバインディングの ID を見つけます。そのバインディングの行で、アクション)をクリックし、[バインディングを編集] をクリックします。

  6. バインディングの表示名を更新するには、[表示名] フィールドを編集します。

  7. バインディングに条件を追加する手順は次のとおりです。

    1. [ 条件を追加] をクリックします。
    2. [タイトル] フィールドに、条件の目的の概要を入力します。
    3. 省略可: [説明] フィールドに、条件の詳細な説明を入力します。
    4. [] フィールドに、Common Expression Language(CEL)構文を使用する条件式を入力します。式は principal.type 属性または principal.subject 属性を参照する必要があります。他の属性はサポートされていません。
    5. [保存] をクリックします。
  8. 既存の条件を更新するには、次の操作を行います。

    1. 条件の名前の横にある [ 条件を編集] をクリックします。
    2. 条件のタイトル、説明、式を更新します。
    3. [保存] をクリックします。
  9. 変更を保存するには、[保存] をクリックします。

gcloud

gcloud iam policy-bindings update コマンドは、既存のポリシー バインディングを更新します。

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

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

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

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

    ポリシー バインディングのフィールドを更新するために使用できるフラグの例を次に示します。

    • --display-name=DISPLAY_NAME: バインディングの表示名を DISPLAY_NAME に置き換えます。
    • --condition-description=CONDITION_DESCRIPTION: バインディングに条件がある場合は、条件の説明を CONDITION_DESCRIPTION に置き換えます。それ以外の場合は、指定された説明を使用して、バインディングに新しい条件を追加します。このフラグを使用して条件のないバインディングを更新する場合は、--condition-expression フラグも設定する必要があります。
    • --condition-expression=CONDITION_EXPRESSION: バインディングに条件がある場合は、条件の式を CONDITION_EXPRESSION に置き換えます。それ以外の場合は、指定された式を使用して、バインディングに新しい条件を追加します。
    • --condition-title=CONDITION_TITLE: バインディングに条件がある場合は、条件のタイトルを CONDITION_TITLE に置き換えます。そうでない場合は、指定したタイトルの新しい条件をバインディングに追加します。このフラグを使用して条件のないバインディングを更新する場合は、--condition-expression フラグも設定する必要があります。

    更新可能なフィールドの一覧については、gcloud iam policy-bindings update コマンド リファレンスをご覧ください。

  • FORMAT: レスポンスの形式。json または yaml を使用します。

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

Linux、macOS、Cloud Shell

gcloud iam policy-bindings update BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global \
    --FIELD_TO_UPDATE=UPDATED_VALUE \
    --format=FORMAT

Windows(PowerShell)

gcloud iam policy-bindings update BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global `
    --FIELD_TO_UPDATE=UPDATED_VALUE `
    --format=FORMAT

Windows(cmd.exe)

gcloud iam policy-bindings update BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global ^
    --FIELD_TO_UPDATE=UPDATED_VALUE ^
    --format=FORMAT

レスポンスには、リクエストを表す長時間実行オペレーションが含まれます。長時間実行オペレーションのステータスを取得する方法については、このページの長時間実行オペレーションのステータスを確認するをご覧ください。

Update request issued for: [my-binding]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done.
Updated policyBinding [my-binding].
{
  "createTime": "2024-05-06T18:08:24.729843Z",
  "displayName": "Updated display name",
  "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:11:16.798841Z"
}

REST

policyBindings.patch メソッドは、既存のポリシー バインディングを更新します。

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

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

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

  • RESOURCE_ID: ポリシー バインディングが子であるプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • BINDING_ID: 更新するポリシー バインディングの ID(例: example-binding)。
  • FIELDS_TO_UPDATE: 更新するフィールドのカンマ区切りリスト。更新するフィールドを指定しない場合、IAM は既存のバインディングをリクエスト本文のコンテンツに置き換えます。

    指定できる値は displayNameconditioncondition.expressioncondition.titlecondition.description です。

  • DISPLAY_NAME: 省略可。人が読める形式のバインディングの説明(例: Example binding)。表示名は 63 文字以内にしてください。
  • CONDITION_DETAILS: 省略可。プリンシパル アクセス境界ポリシーが適用されるプリンシパル セット内のプリンシパルを指定する条件式。次のフィールドを含めます。

    • expression: Common Expression Language(CEL)構文を使用する条件式。式は principal.type 属性または principal.subject 属性を参照する必要があります。他の属性はサポートされていません。

      式には最大 10 個の論理演算子(&&||!)を含めることができ、最大 250 文字の長さにすることができます。

    • title: 省略可。条件の目的の概要。
    • description: 省略可。条件の詳しい説明。

HTTP メソッドと URL:

POST https://iam.googleapis.com/v3/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings/BINDING_ID?updateMask=FIELDS_TO_UPDATE

リクエストの本文(JSON):

{
  "displayName": DISPLAY_NAME,
  "condition": {
    CONDITION_DETAILS
  }
}

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

レスポンスには、リクエストを表す長時間実行オペレーションが含まれます。長時間実行オペレーションのステータスを取得する方法については、このページの長時間実行オペレーションのステータスを確認するをご覧ください。

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715373159010-6181f6fcccfa7-dcd0055c-00c22cad",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-10T20:32:39.254910121Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-binding",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": false
}

長時間実行オペレーションのステータスを確認する

REST API またはクライアント ライブラリを使用する場合、プリンシパル アクセス境界ポリシーまたはバインディングを変更するメソッドで長時間実行オペレーション(LRO)が返されます。長時間実行オペレーションは、リクエストのステータスを追跡し、ポリシーまたはバインディングの変更が完了したかどうかを示します。

REST

operations.get メソッドは、長時間実行オペレーションのステータスを返します。

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

  • OPERATION_NAME: オペレーションの完全な名前。この名前は、元のリクエストに対するレスポンスで受け取ります。

    オペレーション名の形式は次のとおりです。

          RESOURCE_TYPE/RESOURCE_ID/locations/global/operations/OPERATION_ID
        

HTTP メソッドと URL:

GET https://iam.googleapis.com/v3/OPERATION_NAME

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

次のような JSON レスポンスが返されます。

{
  "name": "organizations/314340013352/locations/global/operations/operation-1732752311821-627edd607a3df-9a62cdea-2a7d9f07",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-11-28T00:05:12.006289686Z",
    "endTime": "2024-11-28T00:05:12.192141801Z",
    "target": "organizations/314340013352/locations/global/principalAccessBoundaryPolicies/example-policy",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": true,
  "response": {
    PAB_POLICY
  }
}

オペレーションの done フィールドが存在しない場合は、オペレーションを繰り返し取得して、ステータスのモニタリングを続行します。各リクエストの間には、切り捨て型指数バックオフを使用して遅延時間を設けてください。done フィールドが true に設定されている場合、オペレーションは完了しており、オペレーションの取得を停止できます。

次のステップ