このページでは、組織に対して組織レベルのアクセス ポリシーを作成し、組織内のフォルダとプロジェクトに対してスコープ ポリシーを作成する方法について説明します。
始める前に
- 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によって割り当てられた一意のポリシー ID です)。
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 のインスタンスが含まれます。