サービス境界の作成

このページでは、サービス境界の作成方法について説明します。

始める前に

サービス境界の作成

このセクションでは、プロジェクトを含める方法やサービスを保護する方法など、サービス境界を作成する方法について説明します。

サービス境界を作成する際、必要に応じて、境界外から保護されたサービスへのアクセスを許可することや、境界内の他のサービスやユーザーにアクセス可能なサービスを指定できます。境界を作成した後に、これらの設定を構成することもできます。

サービス境界の作成後、その変更が反映されて有効になるまで 30 分ほどかかる場合があります。

Console

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

    [VPC Service Controls] ページに移動

  2. プロンプトが表示されたら、組織を選択します。境界は、プロジェクト レベルには作成できません。

  3. [VPC Service Controls] ページの上部で、境界モードを選択します。デフォルトでは、[自動適用モード] が選択されています。ドライランの境界を作成する場合は、[ドライラン モード] をクリックします。

    自動適用の境界では、保護されたサービスへのアクセスが、実際に阻止されます。ドライランの境界では、サービスが保護されている場合と同様に、境界違反をログに記録しますが、それらのサービスへのアクセスは阻止されません。自動適用モードとドライラン モードの詳細については、サービス境界をご覧ください。

  4. [新しい境界] をクリックします。

  5. [新しい VPC サービス境界] ページの [境界名] ボックスに、境界の名前を入力します。

  6. 境界内で保護するプロジェクトを選択します。

    1. [保護するプロジェクト] で、[プロジェクトを追加] をクリックします。

    2. 境界にプロジェクトを追加するには、[プロジェクトの追加] ウィンドウで、プロジェクトのチェックボックスをオンにします。

    3. [n 個のプロジェクトを追加] をクリックします。ここで、n は、前のステップで選択したプロジェクトの数です。

  7. 境界内で保護するサービスを選択します。

    1. [保護するサービス] で、[サービスを追加] をクリックします。

    2. 境界内のサービスを保護するには、[制限するサービスを指定] ウィンドウで、そのサービスのチェックボックスをオンにします。

    3. [n 個のサービスを追加] をクリックします。ここで、n は、前のステップで選択したサービスの数です。

  8. (省略可)以前に選択したプロジェクトでホストされている VPC ネットワーク内の VM などから、境界内にアクセスできるサービスを定義する場合は、次のようにします。

    1. [VPC のアクセス可能なサービス] で [VPC 制限付きサービスを追加] をクリックします。境界を使用してサービスも保護している場合は、サービスをアクセス可能にすることのみ行えます。

      アクセス可能なサービスは、境界の作成後に追加することもできます。

    2. [制限するサービスの指定] ウィンドウで、境界内でアクセス可能にするサービスに対応する各行のチェックボックスをオンにします。

    3. [n 個のサービスを追加] をクリックします。ここで、n は、前のステップで選択したサービスの数です。

  9. (省略可)境界外から保護されたサービスへのリクエストを許可する場合は、次のようにします。

    1. [アクセスレベルを選択します] ボックスをクリックします。

      アクセスレベルは、境界が作成された後に追加することもできます。

    2. サービス境界に適用するアクセスレベルのチェックボックスを選択します。

  10. [保存] ボタンをクリックします。

gcloud

新しい境界を作成するには、create コマンドを使用します。

gcloud [beta] access-context-manager perimeters [dry-run] create NAME \
  --title=TITLE \
  --resources=PROJECTS \
  --restricted-services=RESTRICTED-SERVICES \
  [--levels=LEVELS] \
  [--enable-vpc-accessible-services] \
  [--add-vpc-allowed-services=ACCESSIBLE-SERVICES] \
  --policy=POLICY_NAME

ここで

  • betadry-run は、ドライラン モードで境界を作成する場合にのみ必要です。例: gcloud beta access-context-manager perimeters dry-run create ...

  • NAME は、境界の名前です。

  • TITLE は、人間が読める境界のタイトルです。

  • PROJECTS は、1 つ以上のプロジェクト番号を含むカンマ区切りのリストです。たとえば、projects/12345 や、projects/12345,projects/67890 です。プロジェクト番号だけがサポートされています。プロジェクト名やプロジェクト ID は、使用できません。

  • RESTRICTED-SERVICES は、1 つ以上のサービスを含むカンマ区切りのリストです。たとえば、storage.googleapis.com や、storage.googleapis.com,bigquery.googleapis.com です。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。例: 330193482019デフォルトのアクセス ポリシーを設定していない場合に限り、ポリシー名を含める必要があります。

その他のオプション

  • --levels は、境界を作成するときにアクセスレベルを追加する場合にのみ必要です。LEVELS は、サービス境界に適用する 1 つ以上のアクセスレベルのカンマ区切りリストです。

    アクセスレベルは、境界の作成後に追加することもできます。

  • --enable-vpc-accessible-services--add-vpc-allowed-services は、境界を作成するとき VPC のアクセス可能なサービスを追加する場合にのみ必要です。ACCESSIBLE-SERVICES は、境界内にある 1 つ以上のサービスのカンマ区切りのリストで、ネットワークにアクセスを許可します。このリストに含まれていないサービスにはアクセスできません。

    サービスにアクセスできるようにするには、境界の構成時にサービスを保護する必要があります。

    境界で保護されているすべてのサービスを簡単に含めるには、ACCESSIBLE-SERVICES のリストに RESTRICTED-SERVICES を指定します。例: --add-vpc-allowed-services=RESTRICTED-SERVICES

    VPC のアクセス可能なサービスは、境界を作成した後に定義することもできます。

たとえば、次のコマンドでは、プロジェクト example-projectexample-project2 を含む ProdPerimeter という名前の新しい境界を作成し、Cloud Storage API と BigQuery API を制限します。

gcloud access-context-manager perimeters \
  create ProdPerimeter --title="Production Perimeter" \
  --resources=projects/12345,projects/67890 \
  --restricted-services=storage.googleapis.com,bigquery.googleapis.com \
  --policy=330193482019

API

サービス境界を作成するには、accessPolicies.servicePerimeters.create を呼び出します。

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

ここで

  • POLICY_NAME は組織のアクセス ポリシーの名前です。例: 330193482019

リクエストの本文

リクエストの本文には、サービス境界を定義する ServicePerimeter リソースを含める必要があります。

ServicePerimeter リソースでは、perimeterTypePERIMETER_TYPE_REGULAR を指定します。

ドライラン モード

指定された境界は、specuseExplicitDryRunSpec を true に設定して含める必要があります。

レスポンスの本文

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

次のステップ