このページでは、既存のアクセス ポリシーを管理する方法を説明します。以下の操作を行います。
アクセス ポリシーの名前と etag を取得する
コンソール
Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud
コマンドライン ツールまたは API を使用する必要があります。
gcloud
アクセス ポリシーの名前を取得するには、list
コマンドを使用します。アクセス ポリシー名は、gcloud
コマンドライン ツールのすべてのアクセスレベル コマンドに必要です。
gcloud access-context-manager policies list \ --organization ORGANIZATION_ID
ここで
- ORGANIZATION_ID は組織の数値 ID です。
次のような出力が表示されます。
NAME ORGANIZATION TITLE ETAG 1034095178592 511928527926 Corp Policy 10bc3c76ca809ab2
API
アクセス ポリシーの名前を取得するには、accessPolicies.list
を呼び出します。
GET https://accesscontextmanager.googleapis.com/v1/accessPolicies
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文は次のようになります。
{ "accessPolicies": [ { object(AccessPolicy) } ], "nextPageToken": string }
ここで
accessPolicies
はAccessPolicy
オブジェクト のリストです。
gcloud
コマンドライン ツールのデフォルトのアクセス ポリシーを設定する
gcloud
コマンドライン ツールを使用する場合は、デフォルトのアクセス ポリシーを設定できます。デフォルト ポリシーを設定すると、Access Context Manager コマンドを使用するたびにポリシーを指定する必要がなくなります。
デフォルト アクセス ポリシーを設定するには、config
コマンドを使用します。
gcloud config set access_context_manager/policy POLICY_NAME
ここで
- POLICY_NAME は、アクセス ポリシーの数値名です。
アクセス ポリシーを委任する
コンソール
Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud
コマンドライン ツールまたは API を使用する必要があります。
gcloud
プリンシパルとロールをスコープ アクセス ポリシーにバインドして管理を委任するには、add-iam-policy-binding
コマンドを使用します。
gcloud access-context-manager policies add-iam-policy-binding \ [POLICY] --member=PRINCIPAL --role=ROLE
ここで
POLICY は、ポリシーの ID または完全修飾 ID です。
PRINCIPAL は、バインディングを追加するプリンシパルです。
user|group|serviceAccount:email
またはdomain:domain
の形式で指定します。ROLE は、プリンシパルに割り当てるロール名です。ロール名は、事前定義ロールの完全なパス(
roles/accesscontextmanager.policyEditor
など)またはカスタムロールのロール ID(organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor
など)です。
API
スコープ アクセス ポリシーの管理を委任するには、次の操作を行います。
リクエストの本文を作成します。
{ "policy": "IAM_POLICY", }
ここで
- IAM_POLICY はバインディングのコレクションです。バインディングは、1 つ以上のメンバー(またはプリンシパル)を 1 つのロールにバインドします。プリンシパルは、ユーザー アカウント、サービス アカウント、Google グループ、ドメインです。ロールは権限の名前付きリストです。各ロールは、IAM 事前定義ロールまたはユーザー作成のカスタムロールです。
accessPolicies.setIamPolicy
を呼び出して、アクセス ポリシーを委任します。POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
レスポンスの本文
成功した場合、レスポンスの本文には policy
のインスタンスが含まれます。
アクセス ポリシーについて説明する
コンソール
Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud
コマンドライン ツールまたは API を使用する必要があります。
gcloud
アクセス ポリシーを説明するには、describe
コマンドを使用します。
gcloud access-context-manager policies describe POLICY_NAME
ここで
- POLICY_NAME はポリシーの数値名です。
次の出力が表示されます。
name: accessPolicies/1034095178592 parent: organizations/511928527926 title: Corp Policy
API
アクセス ポリシーを説明するには、accessPolicies.get
を呼び出します
GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME
ここで
- POLICY_NAME はポリシーの数値名です。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には AccessPolicy
オブジェクトが含まれます。
アクセス ポリシーを更新する
コンソール
Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud
コマンドライン ツールまたは API を使用する必要があります。
gcloud
アクセス ポリシーを更新するには、update
コマンドを使用します。現在、ポリシーのタイトルのみを変更できます。
gcloud access-context-manager policies update POLICY_NAME \ --title=POLICY_TITLE
ここで
POLICY_NAME はポリシーの数値名です。
POLICY_TITLE は、人が読める形式のポリシー タイトルです。
次の出力が表示されます。
Waiting for PATCH operation [accessPolicies/POLICY_NAME/update/1542234231134882]...done.
API
現在、アクセス ポリシーのタイトルのみを変更できます。
ポリシーを更新するには:
リクエストの本文を作成します。
{ "parent": "ORGANIZATION_ID", "title": "POLICY_TITLE" }
ここで
ORGANIZATION_ID は組織の数値 ID です。
POLICY_TITLE は、人が読める形式のポリシー タイトルです。
accessPolicies.patch
を呼び出します。PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/UPDATE_MASK
ここで
POLICY_NAME はポリシーの数値名です。
UPDATE_MASK は、更新対象である値を表す文字列です。例:
title
レスポンスの本文
成功した場合は、呼び出しのレスポンス本文に
Operation
リソースが含まれ、これによりPATCH
オペレーションの詳細がわかります。
アクセス ポリシーを削除する
コンソール
現在、Google Cloud コンソールはアクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud
コマンドライン ツールまたは API を使用する必要があります。
gcloud
アクセス ポリシーを削除するには:
delete
コマンドを使用します。gcloud access-context-manager policies delete POLICY_NAME
ここで
- POLICY_NAME はポリシーの数値名です。
アクセス ポリシーを削除することを確認します。
例:
You are about to delete policy [POLICY_NAME] Do you want to continue (Y/n)?
次の出力が表示されます。
Deleted policy [1034095178592].
API
アクセス ポリシーを削除するには、accessPolicies.delete
を呼び出します。
DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME
ここで
- POLICY_NAME はポリシーの数値名です。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合は、呼び出しのレスポンス本文に Operation
リソースが含まれ、これにより DELETE
オペレーションの詳細がわかります。