スコープ アクセス ポリシーを作成する

このページでは、スコープ アクセス ポリシーを作成して委任する方法について説明します。

始める前に

  • スコープ ポリシーについて確認します。

  • VPC Service Controls へのアクセスの許可について確認します。

  • スコープが指定されたアクセス ポリシーが委任されている委任管理者に、スコープが指定されたポリシーがバインドされているフォルダまたはプロジェクトに対する cloudasset.assets.searchAllResources 権限が付与されていることを確認してください。すべての Google Cloud リソースを検索するには、委任管理者にこの権限が必要です。

  • サービス境界の構成について確認します。

スコープ アクセス ポリシーを作成する

スコープ アクセス ポリシーを作成し、組織内のフォルダとプロジェクトに管理を委任します。スコープ アクセス ポリシーを作成した後に、ポリシーのスコープを変更することはできません。既存のポリシーのスコープを変更するには、ポリシーを削除して、新しいスコープでポリシーを再作成します。

コンソール

  1. Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。

    [VPC Service Controls] に移動

  2. プロンプトが表示されたら、組織、フォルダ、またはプロジェクトを選択します。

  3. [VPC Service Controls] ページで、スコープ ポリシーの親となるアクセス ポリシーを選択します。たとえば、default policy 組織のポリシーを選択します。

  4. [ポリシーを管理する] をクリックします。

  5. [Manage VPC Service Controls] ページで、[作成] をクリックします。

  6. [アクセス ポリシーの作成] ページの [アクセス ポリシー名] ボックスに、スコープ アクセス ポリシーの名前を入力します。

    スコープ アクセス ポリシー名は 50 文字以下で、先頭は英字にする必要があります。ASCII ラテン文字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを使用できます。スコープ アクセス ポリシー名では大文字と小文字が区別され、組織のアクセス ポリシー内で一意である必要があります。

  7. アクセス ポリシーのスコープを指定するには、[スコープ] をクリックします。

  8. アクセス ポリシーのスコープとしてプロジェクトまたはフォルダを指定します。

    • アクセス ポリシーのスコープに追加するプロジェクトを選択するには、次の操作を行います。

      1. [スコープ] ペインで [プロジェクトを追加] をクリックします。

      2. [プロジェクトの追加] ダイアログで、そのプロジェクトのチェックボックスをオンにします。

      3. [完了] をクリックします。追加されたプロジェクトが [スコープ] セクションに表示されます。

    • アクセス ポリシーのスコープに追加するフォルダを選択するには、次の操作を行います。

      1. [スコープ] ペインで [フォルダを追加] をクリックします。

      2. [フォルダを追加] ダイアログで、フォルダのチェックボックスをオンにします。

      3. [完了] をクリックします。追加されたフォルダが [スコープ] セクションに表示されます。

  9. スコープ アクセス ポリシーの管理を委任するには、[プリンシパル] をクリックします。

  10. アクセス ポリシーにバインドするプリンシパルとロールを指定するには、次の手順を行います。

    1. [プリンシパル] ペインで [プリンシパルを追加] をクリックします。

    2. [プリンシパルの追加] ダイアログで、ユーザー名やサービス アカウントなどのプリンシパルを選択します。

    3. プリンシパルに関連付けるロール(編集者や読み取りなど)を選択します。

    4. [保存] をクリックします。追加したプリンシパルとロールが [プリンシパル] に表示されます。

  11. [アクセス ポリシーの作成] ページで、[アクセス ポリシーを作成] をクリックします。

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.policyEditor など)またはカスタムロールのロール ID(organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor など)です。

API

スコープ アクセス ポリシーを作成するには、次の操作を行います。

  1. リクエストの本文を作成します。

    {
     "parent": "ORGANIZATION_ID",
     "scope": "SCOPE"
     "title": "POLICY_TITLE"
    }
    

    ここで

    • ORGANIZATION_ID は組織の数値 ID です。

    • SCOPE は、このポリシーが適用されるフォルダまたはプロジェクトです。

    • POLICY_TITLE は、人が読める形式のポリシー タイトルです。ポリシー タイトルは 50 文字以下で、先頭は英字にする必要があります。ASCII ラテン文字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを使用できます。ポリシー タイトルでは大文字と小文字が区別され、組織のアクセス ポリシー内で一意である必要があります。

  2. accessPolicies.create を呼び出してアクセス ポリシーを作成します。

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

レスポンスの本文

成功した場合は、呼び出しのレスポンス本文に Operation リソースが含まれ、これにより POST オペレーションの詳細がわかります。

スコープ アクセス ポリシーの管理を委任するには、次の操作を行います。

  1. リクエストの本文を作成します。

    {
     "policy": "IAM_POLICY",
    }
    

    ここで

    • IAM_POLICY はバインディングのコレクションです。バインディングは、1 つ以上のメンバー(またはプリンシパル)を 1 つのロールにバインドします。プリンシパルは、ユーザー アカウント、サービス アカウント、Google グループ、ドメインです。ロールは権限の名前付きリストです。各ロールは、IAM 事前定義ロールまたはユーザー作成のカスタムロールです。
  2. accessPolicies.setIamPolicy を呼び出して、アクセス ポリシーを委任します。

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

レスポンスの本文

成功した場合、レスポンスの本文には policy のインスタンスが含まれます。

次のステップ