このページでは、組織に対して組織レベルのアクセス ポリシーを作成し、組織内のフォルダとプロジェクトに対してスコープ ポリシーを作成する方法について説明します。
始める前に
- Access Context Manager を使用するための適切な権限があることを確認してください。
組織レベルのアクセス ポリシーを作成する
組織に組織レベルのアクセス ポリシーが存在する場合、その組織に組織レベルのアクセス ポリシーを作成することはできません。
コンソール
アクセスレベルを作成すると、デフォルトのアクセス ポリシーが自動的に作成されます。手動でその他の操作を行う必要ありません。
gcloud
組織レベルのアクセス ポリシーを作成するには、create
コマンドを使用します。
gcloud access-context-manager policies create \ --organization ORGANIZATION_ID --title POLICY_TITLE
ここで
ORGANIZATION_ID は組織の数値 ID です。
POLICY_TITLE は、人が読める形式のポリシー タイトルです。
次のような出力が表示されます(POLICY_NAME は、Google Cloud によって割り当てられた一意のポリシーの数値識別子です)。
Create request issued Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done. Created.
API
組織レベルのアクセス ポリシーを作成するには:
リクエストの本文を作成します。
{ "parent": "ORGANIZATION_ID", "title": "POLICY_TITLE" }
ここで
ORGANIZATION_ID は組織の数値 ID です。
POLICY_TITLE は、人が読める形式のポリシー タイトルです。
accessPolicies.create
を呼び出してアクセス ポリシーを作成します。POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
レスポンスの本文
成功した場合は、呼び出しのレスポンス本文に Operation
リソースが含まれ、これにより POST
オペレーションの詳細がわかります。
スコープ指定されたアクセス ポリシーを作成し、ポリシーを委任する
スコープ指定されたアクセス ポリシーの作成をサポートしているのは VPC Service Controls のみです。Identity-Aware Proxy(IAP)などの Google Cloud サービスには、引き続き組織レベルのポリシーを使用する必要があります。
コンソール
Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。
プロンプトが表示されたら、組織、フォルダ、またはプロジェクトを選択します。
[VPC Service Controls] ページで、スコープ ポリシーの親となるアクセス ポリシーを選択します。たとえば、
default policy
組織のポリシーを選択します。[ポリシーを管理する] をクリックします。
[Manage VPC Service Controls] ページで、[作成] をクリックします。
[アクセス ポリシーの作成] ページの [アクセス ポリシー名] ボックスに、スコープ アクセス ポリシーの名前を入力します。
スコープ アクセス ポリシー名は 50 文字以下で、先頭は英字にする必要があります。ASCII ラテン文字(a~z、A~Z)、数字(0~9)、アンダースコア(
_
)のみを使用できます。スコープ アクセス ポリシー名では大文字と小文字が区別され、組織のアクセス ポリシー内で一意である必要があります。アクセス ポリシーのスコープを指定するには、[スコープ] をクリックします。
アクセス ポリシーのスコープとしてプロジェクトまたはフォルダを指定します。
アクセス ポリシーのスコープに追加するプロジェクトを選択するには、次の操作を行います。
[スコープ] ペインで [プロジェクトを追加] をクリックします。
[プロジェクトの追加] ダイアログで、そのプロジェクトのチェックボックスをオンにします。
[完了] をクリックします。追加されたプロジェクトが [スコープ] セクションに表示されます。
アクセス ポリシーのスコープに追加するフォルダを選択するには、次の操作を行います。
[スコープ] ペインで [フォルダを追加] をクリックします。
[フォルダの追加] ダイアログで、フォルダのチェックボックスをオンにします。
[完了] をクリックします。追加されたフォルダが [スコープ] セクションに表示されます。
スコープ アクセス ポリシーの管理を委任するには、[プリンシパル] をクリックします。
アクセス ポリシーにバインドするプリンシパルとロールを指定するには、次の手順を行います。
[プリンシパル] ペインで [プリンシパルを追加] をクリックします。
[プリンシパルの追加] ダイアログで、ユーザー名やサービス アカウントなどのプリンシパルを選択します。
プリンシパルに関連付けるロール(編集者や読み取りなど)を選択します。
[保存] をクリックします。追加したプリンシパルとロールが [プリンシパル] に表示されます。
[アクセス ポリシーの作成] ページで、[アクセス ポリシーを作成] をクリックします。
gcloud
スコープ アクセス ポリシーを作成するには、gcloud access-context-manager policies create
コマンドを使用します。
gcloud access-context-manager policies create \ --organization ORGANIZATION_ID [--scopes=SCOPE] --title POLICY_TITLE
ここで
ORGANIZATION_ID は組織の数値 ID です。
POLICY_TITLE は、人が読める形式のポリシー タイトルです。ポリシー タイトルは 50 文字以下で、先頭は英字にする必要があります。ASCII ラテン文字(a~z、A~Z)、数字(0~9)、アンダースコア(
_
)のみを使用できます。ポリシー タイトルでは大文字と小文字が区別され、組織のアクセス ポリシー内で一意である必要があります。SCOPE は、このポリシーが適用されるフォルダまたはプロジェクトです。スコープとして指定できるフォルダまたはプロジェクトは 1 つだけです。スコープは、指定した組織内に存在する必要があります。スコープを指定しない場合、ポリシーは組織全体に適用されます。
次の出力が表示されます(POLICY_NAME は、Google Cloud によって割り当てられた一意のポリシーの数値識別子です)。
Create request issued Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done. Created.
プリンシパルとロールをスコープ アクセス ポリシーにバインドして管理を委任するには、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.policyReader
など)またはカスタムロールのロール ID(organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyReader
など)です。
API
スコープ アクセス ポリシーを作成するには、次の操作を行います。
リクエストの本文を作成します。
{ "parent": "ORGANIZATION_ID", "scope": "SCOPE" "title": "POLICY_TITLE" }
ここで
ORGANIZATION_ID は組織の数値 ID です。
SCOPE は、このポリシーが適用されるフォルダまたはプロジェクトです。
POLICY_TITLE は、人が読める形式のポリシー タイトルです。ポリシー タイトルは 50 文字以下で、先頭は英字にする必要があります。ASCII ラテン文字(a~z、A~Z)、数字(0~9)、アンダースコア(
_
)のみを使用できます。ポリシー タイトルでは大文字と小文字が区別され、組織のアクセス ポリシー内で一意である必要があります。
accessPolicies.create
を呼び出してアクセス ポリシーを作成します。POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
レスポンスの本文
成功した場合は、呼び出しのレスポンス本文に Operation
リソースが含まれ、これにより POST
オペレーションの詳細がわかります。
スコープ アクセス ポリシーの管理を委任するには、次の操作を行います。
リクエストの本文を作成します。
{ "policy": "IAM_POLICY", }
ここで
- IAM_POLICY はバインディングのコレクションです。バインディングは、1 つ以上のメンバー(またはプリンシパル)を 1 つのロールにバインドします。プリンシパルは、ユーザー アカウント、サービス アカウント、Google グループ、ドメインです。ロールは権限の名前付きリストです。各ロールは、IAM 事前定義ロールまたはユーザー作成のカスタムロールです。
accessPolicies.setIamPolicy
を呼び出してアクセス ポリシーを作成します。POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
レスポンスの本文
成功した場合、レスポンスの本文には policy
のインスタンスが含まれます。