このページでは、誤って変更したり、誤って削除したりした後に、IAM 許可ポリシーの以前のバージョンを復元する方法について説明します。
以前の IAM ポリシーを復元するには、変更または削除前の最後の成功した setIamPolicy を見つけて、それを使用してポリシーを復元します。
必要なロール
以前の許可ポリシーを復元するために必要な権限を取得するには、プロジェクト、フォルダ、または組織に対する次の IAM ロールを付与するよう管理者に依頼します。
-
setIamPolicyを使用して許可ポリシーを復元します。 -
Cloud Asset Inventory を使用して許可ポリシーを復元する:
Cloud Asset オーナー (
roles/cloudasset.owner)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
setIamPolicy を使用して許可ポリシーを復元する場合、組織レベルとフォルダレベルの許可ポリシーには組織管理者ロールが必要で、プロジェクト レベルの許可ポリシーにはオーナーロールが必要です。カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
最後に成功した setIamPolicy インスタンスを使用して許可ポリシーを復元する
許可ポリシーを以前のバージョンに復元するには、変更または削除前の setIamPolicy の最後の成功インスタンスの監査ログを確認し、そのインスタンスの情報を使用してポリシーを復元します。このプロセスには、次のステップが含まれます。
- 許可ポリシーの最後の成功した
setIamPolicyインスタンスを特定し、insertIdを取得します。 setIamPolicyリクエストのinsertIdを使用して、許可ポリシーを YAML 形式または JSON 形式でエクスポートします。- 出力ファイルを変更して、以前の動作中の許可ポリシーと一致させ、現在の許可ポリシーをオーバーライドします。
setIamPolicy の最後の成功したインスタンスを特定し、insertId を取得します。
setIamPolicy の最後の成功したインスタンスを特定して isertId を取得するには、 Google Cloud コンソールまたは gcloud CLI を使用して監査ログを確認します。
コンソール
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
クエリエディタで、次のいずれかのクエリを入力します。次のクエリは、監査ログで
protoPayloadのmethodNameフィールドにSetIamPolicyを含むエントリを検索します。リソースで行われたすべての許可ポリシーの変更のログを取得するには、次のクエリを使用します。
logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName:SetIamPolicy
特定のユーザーまたはサービス アカウントに関連する許可ポリシーの変更のログを取得するには、次のクエリを使用します。
logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName:SetIamPolicy protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
次のように置き換えます。
RESOURCE_TYPE: 監査ログを一覧表示するリソースタイプ。有効な値はprojects、folders、organizationsです。RESOURCE_ID: Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。EMAIL_ADDRESS: ユーザーまたはサービス アカウントのメールアドレス(例:example-service-account@example-project.iam.gserviceaccount.com)。
[クエリを実行] をクリックして、このクエリを実行します。
タイムライン セレクタを使用して、クエリに適した期間を指定します。また、クエリエディタにタイムスタンプ式を直接追加することもできます。詳細については、期間を指定してログを表示するをご覧ください。
変更または削除前の
setIamPolicyの最後の成功したインスタンスからinsertIdをコピーします。
gcloud
gcloud logging read コマンドは、ログエントリを読み取ります。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE: 監査ログを一覧表示するリソースタイプ。値projects、folders、またはorganizationsを使用します。 -
RESOURCE_ID: Google Cloudプロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。 -
TIME_PERIOD: 監査ログを一覧表示する期間。この値より古くないエントリが返されます。指定しない場合、デフォルト値は1dです。時刻形式については、gcloud topic datetimes をご覧ください。 -
RESOURCE_TYPE_SINGULAR: 監査ログを一覧表示するリソースタイプ。値project、folder、またはorganizationを使用します。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud logging read \ 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' \ --freshness=TIME_PERIOD \ --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Windows(PowerShell)
gcloud logging read ` 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' ` --freshness=TIME_PERIOD ` --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Windows(cmd.exe)
gcloud logging read ^ 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' ^ --freshness=TIME_PERIOD ^ --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
変更または削除前の setIamPolicy の最後の成功したインスタンスから insertId をコピーします。
insertId を使用して許可ポリシーをエクスポートする
setIamPolicy の最後に成功したインスタンスから取得した insertId を使用して、gcloud CLI で次のコマンドを実行し、JSON または YAML 形式で許可ポリシーをエクスポートします。組織とプロジェクトの許可ポリシーをエクスポートできます。
組織レベル
gcloud logging read コマンドは、ログエントリを読み取ります。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
ORGANIZATION_ID: 許可ポリシーを表示してエクスポートする組織。 -
INSERT_ID:setIamPolicyリクエストのinsertId。 -
FORMAT: レスポンスの形式。jsonまたはyamlを使用します。 -
TIME_PERIOD: 監査ログを一覧表示する期間。この値より古くないエントリが返されます。指定しない場合、デフォルト値は1dです。時刻形式については、gcloud topic datetimes をご覧ください。 -
OUTPUT_FILE: 出力のファイル名と拡張子。たとえば、previous_policy.jsonやprevious_policy.yamlです。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Windows(PowerShell)
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Windows(cmd.exe)
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
プロジェクト レベル
gcloud logging read コマンドは、ログエントリを読み取ります。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
INSERT_ID:setIamPolicyリクエストのinsertId。 -
TIME_PERIOD: 監査ログを一覧表示する期間。この値より古くないエントリが返されます。指定しない場合、デフォルト値は1dです。時刻形式については、gcloud topic datetimes をご覧ください。 -
FORMAT: レスポンスの形式。jsonまたはyamlを使用します。 -
OUTPUT_FILE: 出力を保存するファイルの名前(例:previous_policy.json、previous_policy.yaml)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud logging read \ 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' \ --freshness=TIME_PERIOD \ --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Windows(PowerShell)
gcloud logging read ` 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' ` --freshness=TIME_PERIOD ` --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Windows(cmd.exe)
gcloud logging read ^ 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' ^ --freshness=TIME_PERIOD ^ --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
出力ファイルを変更して現在の許可ポリシーをオーバーライドする
出力ファイルを次の方法で変更し、現在の許可ポリシーをオーバーライドします。
プログラムまたはテキスト エディタを使用して、次の行を削除して出力ファイルを変更します。
--- protoPayload: request: policy:生成されるファイルは
auditConfigs:で始まります。現在の許可ポリシーを取得します。
gcloud
gcloud get-iam-policyコマンドは、プロジェクト、フォルダ、または組織の許可ポリシーを取得します。後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE: 許可ポリシーを取得するリソースのタイプ。有効な値はprojects、resource-manager folders、organizationsです。 -
RESOURCE_ID: Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。 -
FORMAT: 許可ポリシーの形式。jsonまたはyamlを使用します。 -
PATH: 許可ポリシーの新しい出力ファイルのパス。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Windows(PowerShell)
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Windows(cmd.exe)
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
たとえば、次のコマンドはプロジェクト
my-projectの許可ポリシーを取得し、JSON 形式でホーム ディレクトリに保存します。gcloud projects get-iam-policy my-project --format json > ~/policy.json
C#
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。
次の例は、プロジェクトの許可ポリシーを取得する方法を示しています。フォルダまたは組織の許可ポリシーを取得する方法については、ご使用のプログラミング言語の Resource Manager クライアント ライブラリのドキュメントをご覧ください。
Java
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。
次の例は、プロジェクトの許可ポリシーを取得する方法を示しています。フォルダまたは組織の許可ポリシーを取得する方法については、ご使用のプログラミング言語の Resource Manager クライアント ライブラリのドキュメントをご覧ください。
Python
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。
次の例は、プロジェクトの許可ポリシーを取得する方法を示しています。フォルダまたは組織の許可ポリシーを取得する方法については、ご使用のプログラミング言語の Resource Manager クライアント ライブラリのドキュメントをご覧ください。
REST
Resource Manager API の
get-iam-policyメソッドは、プロジェクト、フォルダ、または組織の許可ポリシーを取得します。リクエストのデータを使用する前に、次のように置き換えます。
API_VERSION: 使用する API のバージョン。プロジェクトと組織の場合は、v1を使用します。フォルダの場合は、v2を使用します。RESOURCE_TYPE: ポリシーを管理するリソースタイプ。値projects、folders、またはorganizationsを使用します。RESOURCE_ID: Google Cloudプロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。POLICY_VERSION: 返されるポリシー バージョン。リクエストでは、最新のポリシー バージョン(ポリシー バージョン 3)を指定する必要があります。詳細については、ポリシーの取得時にポリシー バージョンを指定するをご覧ください。
HTTP メソッドと URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:getIamPolicy
リクエストの本文(JSON):
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスには、リソースの許可ポリシーが含まれます。次に例を示します。
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/owner", "members": [ "user:my-user@example.com" ] } ] }レスポンスを適切なタイプ(
jsonまたはyaml)のファイルに保存します。-
現在の許可ポリシーから
etagの値をコピーします。出力ファイルの
etag値を、現在の許可ポリシーからコピーしたetag値に置き換えます。出力ファイルのetagは、新しいsetIamPolicyリクエストを開始するために現在のetagと一致している必要があります。出力ファイルで etag の間隔が変更されていないことを確認します。ファイルを確認して、以前の動作中の許可ポリシーと一致していることを確認します。新しいプロジェクトを作成してポリシーを適用し、意図したとおりに動作することを確認することをおすすめします。
許可ポリシーを設定して、作成した出力ファイルのポリシーで現在の許可ポリシーをオーバーライドします。
gcloud
gcloud set-iam-policyコマンドは、リクエストのポリシーをプロジェクト、フォルダ、組織の新しい許可ポリシーとして設定します。後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE: 許可ポリシーを設定するリソースのタイプ。有効な値はprojects、resource-manager folders、organizationsです。 -
RESOURCE_ID: Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。 -
PATH: 新しい許可ポリシーを含むファイルのパス。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows(PowerShell)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows(cmd.exe)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
レスポンスには、更新された許可ポリシーが含まれます。
たとえば、次のコマンドは、
policy.jsonに保存されている許可ポリシーをプロジェクトmy-projectの許可ポリシーとして設定します。gcloud projects set-iam-policy my-project ~/policy.json
C#
Java
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。
次の例は、プロジェクトの許可ポリシーを設定する方法を示しています。フォルダまたは組織の許可ポリシーを設定する方法については、ご使用のプログラミング言語の Resource Manager クライアント ライブラリのドキュメントをご覧ください。
Python
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。
次の例は、プロジェクトの許可ポリシーを設定する方法を示しています。フォルダまたは組織の許可ポリシーを設定する方法については、ご使用のプログラミング言語の Resource Manager クライアント ライブラリのドキュメントをご覧ください。
REST
Resource Manager API の
set-iam-policyメソッドを使用して、プロジェクト、フォルダまたは組織の新しい許可ポリシーとしてリクエストのポリシーを設定します。リクエストのデータを使用する前に、次のように置き換えます。
API_VERSION: 使用する API のバージョン。プロジェクトと組織の場合は、v1を使用します。フォルダの場合は、v2を使用します。RESOURCE_TYPE: ポリシーを管理するリソースタイプ。値projects、folders、またはorganizationsを使用します。RESOURCE_ID: Google Cloudプロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。-
POLICY: 設定するポリシーの JSON 表現。ポリシーの形式については、ポリシー リファレンスをご覧ください。
HTTP メソッドと URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
リクエストの本文(JSON):
{ "policy": POLICY }リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスには、更新された許可ポリシーが含まれます。
-
Cloud Asset Inventory で許可ポリシーを復元する
許可ポリシーを以前のバージョンに復元するには、Cloud Asset Inventory を使用してリソースの許可ポリシーの変更履歴を表示し、その情報を使用してポリシーを復元します。このプロセスには、次のステップが含まれます。
- Cloud Asset Inventory を使用して、許可ポリシーの変更履歴を確認し、復元する許可ポリシーを特定します。
- 許可ポリシーをコピーし、JSON 形式で新しいファイルを作成します。
- 現在の許可ポリシーを新しいファイルのポリシーでオーバーライドします。
Cloud Asset Inventory で許可ポリシーの変更履歴を確認する
コンソール
Google Cloud コンソールで、[アセット インベントリ] ページに移動します。
[IAM ポリシー] タブをクリックします。
[フィルタ] フィールドで、次のクエリを実行します。
Resource :
RESOURCE_IDRESOURCE_IDは、 Google Cloudプロジェクト、フォルダ、または組織 ID に置き換えます。プロジェクト ID は英数字です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。リソースの許可ポリシーの変更履歴を表示するには、リソースの名前をクリックし、[変更履歴] タブを選択します。
リソースの許可ポリシーの変更を比較するには、[比較するレコードを選択] メニューから 2 つの異なるタイムスタンプ レコードを選択します。
gcloud
gcloud asset get-history コマンドは、時間枠が重複するアセットの許可ポリシーの更新履歴を取得します。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE: 監査ログを一覧表示するリソースタイプ。値project、folder、またはorganizationを使用します。 -
RESOURCE_ID: Google Cloudプロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。 -
ASSET_NAME: 許可ポリシーの履歴を表示するリソースのフォーマット済みリソース名のカンマ区切りリスト。例://cloudresourcemanager.googleapis.com/projects/my-project。これらのリソースは、許可ポリシーを受け入れるリソースタイプにすることができます。 -
START_TIME: 期間の開始時点。最長期間は 7 日です。この値は、現在の時刻または過去 35 日以内の時刻にする必要があります。時刻形式については、gcloud topic datetimes をご覧ください。 -
END_TIME: 省略可。期間の終了時点。最長期間は 7 日です。この値は、現在の時刻または過去 35 日以内の時刻にする必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud asset get-history \ --RESOURCE_TYPE=RESOURCE_ID \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --content-type=iam-policy \ --start-time=START_TIME \ --end-time=END_TIME
Windows(PowerShell)
gcloud asset get-history ` --RESOURCE_TYPE=RESOURCE_ID ` --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ` --content-type=iam-policy ` --start-time=START_TIME ` --end-time=END_TIME
Windows(cmd.exe)
gcloud asset get-history ^ --RESOURCE_TYPE=RESOURCE_ID ^ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^ --content-type=iam-policy ^ --start-time=START_TIME ^ --end-time=END_TIME
レスポンスには、更新された許可ポリシーの履歴が含まれます。
新しい許可ポリシー ファイルを作成する
許可ポリシーの履歴を確認し、復元する許可ポリシーを特定したら、次の手順を行います。
"bindings"行から"etag"行まで、復元する許可ポリシーをコピーします。コピーした許可ポリシーを新しいファイルに貼り付け、中かっこ(
{})でポリシーを囲みます。たとえば、許可ポリシーは次のようになります。{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", }ファイルを JSON 形式で保存します。たとえば、新しいファイルに
previous_iam_policy.jsonという名前を付けます。
新しい許可ポリシーを設定する
許可ポリシーを設定して、作成した出力ファイルのポリシーで現在の許可ポリシーをオーバーライドします。
gcloud
gcloud set-iam-policy コマンドは、リクエストのポリシーをプロジェクト、フォルダ、組織の新しい許可ポリシーとして設定します。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE: 許可ポリシーを設定するリソースのタイプ。有効な値はprojects、resource-manager folders、organizationsです。 -
RESOURCE_ID: Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。 -
PATH: 新しい許可ポリシーを含むファイルのパス。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows(PowerShell)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows(cmd.exe)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
レスポンスには、更新された許可ポリシーが含まれます。
たとえば、次のコマンドは、policy.json に保存されている許可ポリシーをプロジェクト my-project の許可ポリシーとして設定します。
gcloud projects set-iam-policy my-project ~/policy.json
C#
Java
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。
次の例は、プロジェクトの許可ポリシーを設定する方法を示しています。フォルダまたは組織の許可ポリシーを設定する方法については、ご使用のプログラミング言語の Resource Manager クライアント ライブラリのドキュメントをご覧ください。
Python
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。
次の例は、プロジェクトの許可ポリシーを設定する方法を示しています。フォルダまたは組織の許可ポリシーを設定する方法については、ご使用のプログラミング言語の Resource Manager クライアント ライブラリのドキュメントをご覧ください。
REST
Resource Manager API の set-iam-policy メソッドを使用して、プロジェクト、フォルダまたは組織の新しい許可ポリシーとしてリクエストのポリシーを設定します。
リクエストのデータを使用する前に、次のように置き換えます。
API_VERSION: 使用する API のバージョン。プロジェクトと組織の場合は、v1を使用します。フォルダの場合は、v2を使用します。RESOURCE_TYPE: ポリシーを管理するリソースタイプ。値projects、folders、またはorganizationsを使用します。RESOURCE_ID: Google Cloudプロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。-
POLICY: 設定するポリシーの JSON 表現。ポリシーの形式については、ポリシー リファレンスをご覧ください。
HTTP メソッドと URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
リクエストの本文(JSON):
{
"policy": POLICY
}
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスには、更新された許可ポリシーが含まれます。