サービス境界の管理

このページでは、VPC Service Control のサービス境界を管理する方法について説明します。新しいサービス境界の作成方法については、サービス境界の作成をご覧ください。

このページは、以下のセクションで構成されています。

始める前に

サービス境界の一覧または詳細を表示する

組織内のすべてのサービス境界を一覧表示するには次の手順に従ってください。

Console

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

    [VPC Service Controls] ページに移動

  2. [VPC Service Controls] ページのテーブルで、表示するサービス境界の名前をクリックします。

gcloud

組織のサービス境界を一覧表示するには、list コマンドを使用します。

gcloud access-context-manager perimeters list \
  [--policy=POLICY_NAME]

ここで

組織の境界の一覧が表示されます。例:

NAME           TITLE
ProdPerimeter  Production Perimeter

サービス境界の詳細を表示するには、describe コマンドを使用します。

gcloud access-context-manager perimeters \
  describe PERIMETER_NAME \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME は、詳細を表示するサービス境界の名前です。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

境界の詳細が表示されます。例:

accessLevels:
- accessPolicies/626111171578/accessLevels/corpAccess
resources:
- projects/111584792408
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
title: Production Perimeter

サービス境界の一覧表示(フォーマット済み)

gcloud コマンドライン ツールを使用すると、サービス境界のリストを YAML または JSON 形式で取得できます。

境界のフォーマット済みリストを取得するには、list コマンドを使用します。

gcloud access-context-manager perimeters list \
  --format=FORMAT \
  [--policy=POLICY_NAME]

ここで

  • FORMAT は次のいずれかの値です。

    • list(YAML 形式)

    • json(JSON 形式)

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

YAML 出力は、以下のようになります。

- name: accessPolicies/165717541651/servicePerimeters/On_Prem
  status: {'resources': ['projects/167410821371'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com']}
  title: On Prem
- name: accessPolicies/165717541651/servicePerimeters/Private
  spec: {'resources': ['projects/136109111311'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com', 'logging.googleapis.com']}
  status: {'resources': ['projects/136109111311', 'projects/401921913171'], 'restrictedServices': ['bigquery.googleapis.com']}
  title: Private
  useExplicitDryRunSpec: True
- name: accessPolicies/165717541651/servicePerimeters/OnpremBridge
  perimeterType: PERIMETER_TYPE_BRIDGE
  status: {'resources': ['projects/167410821371']}
  title: OnpremBridge

JSON 出力は、以下のようになります。

[
  {
    "name": "accessPolicies/165717541651/servicePerimeters/On_Prem",
    "status": {
      "resources": [
        "projects/167410821371"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com"
      ]
    },
    "title": "On Prem"
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/Private",
    "spec": {
      "resources": [
        "projects/136109111311"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com",
        "logging.googleapis.com"
      ]
    },
    "status": {
      "resources": [
        "projects/136109111311",
        "projects/401921913171"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com"
      ]
    },
    "title": "Private",
    "useExplicitDryRunSpec": true
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/OnpremBridge",
    "perimeterType": "PERIMETER_TYPE_BRIDGE",
    "status": {
      "resources": [
        "projects/167410821371"
      ]
    },
    "title": "OnpremBridge"
  }
]

サービス境界を更新する

サービス境界への新しい Google Cloud プロジェクトの追加や削除を行うことができます。制限付き Google Cloud サービスのリストを変更できます。サービス境界のタイトルと説明を変更することもできます。このような操作を行うには、リソースの完全なリストが必要です。

このセクションでは、個々のサービス境界を更新する方法について説明します。1 つのオペレーションで組織のすべてのサービス境界を更新するには、サービス境界の一括変更をご覧ください。

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

Console

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

    [VPC Service Controls] ページに移動

  2. [VPC Service Controls] ページのテーブルで、変更するサービス境界の名前をクリックします。

  3. [VPC サービス境界の編集] ページで、サービス境界を更新します。

  4. [保存] をクリックします。

gcloud

境界に新しいプロジェクトを追加するには、追加するリソースを指定して update コマンドを実行します。

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-resources=PROJECTS \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME は、詳細を表示するサービス境界の名前です。

  • PROJECTS は、1 つ以上のプロジェクト ID を含むカンマ区切りのリストです。たとえば、projects/100712 や、projects/100712,projects/233130 です。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

制限付きサービスのリストを更新するには、update コマンドを使用して、追加するサービスをカンマ区切りリストとして指定します。

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-restricted-services=SERVICES \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME は、詳細を表示するサービス境界の名前です。

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

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

既存の境界にアクセスレベルを追加する

アクセスレベルを作成したら、それをサービス境界に適用してアクセスを制御できます。

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

Console

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

    [VPC Service Controls] ページに移動

  2. [VPC Service Controls] ページのテーブルで、変更するサービス境界の名前をクリックします。

  3. [VPC サービス境界の編集] ページで、[アクセスレベルを選択します] ボックスをクリックします。

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

  5. [保存] をクリックします。

gcloud

アクセスレベルを既存のサービス境界に追加するには、update コマンドを使用します。

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-access-levels=LEVEL_NAME \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME はサービス境界の名前です。

  • LEVEL_NAME は、境界に追加するアクセスレベルの名前です。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

サービス境界を削除する

サービス境界を削除すると、その境界に関連付けられているセキュリティ制御が、関連する Google Cloud プロジェクトに適用されなくなります。メンバーの Google Cloud プロジェクトや関連リソースに対するその他の影響はありません。

Console

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

    [VPC Service Controls] ページに移動

  2. [VPC Service Controls] ページのテーブルで、削除するサービス境界の行にある をクリックします。

gcloud

サービスを削除するには、delete コマンドを使用します。

gcloud access-context-manager perimeters delete PERIMETER_NAME \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME はサービス境界の名前です。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

VPC のアクセス可能なサービスによって、境界内のサービスへのアクセスを制限する

このセクションでは、VPC のアクセス可能なサービスを有効化、追加、削除、無効化する方法について説明します。

VPC のアクセス可能なサービスの機能は、サービス境界内のネットワーク エンドポイントからアクセス可能なサービスのセットを制限するために使用されます。VPC のアクセス可能なサービスは、境界ブリッジではなくサービス境界にのみ追加できます。

VPC のアクセス可能なサービス機能の詳細については、VPC のアクセス可能なサービスをご覧ください。

VPC のアクセス可能なサービスを有効にする

サービス境界で VPC のアクセス可能なサービスを有効にするには、次のコマンドを使用します。

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME はサービス境界の名前です。

  • SERVICES は、境界内にある 1 つ以上のサービスのカンマ区切りのリストで、ネットワークにアクセスを許可します。このリストに含まれていないサービスにはアクセスできません。

    境界で保護されているサービスを簡単に含めるには、SERVICES のリストに RESTRICTED-SERVICES を追加します。RESTRICTED-SERVICES 以外にも他のサービスを追加できます。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

たとえば、境界内の VPC ネットワークに Logging サービスと Cloud Storage サービスのみへのアクセスを許可する場合は、次のコマンドを使用します。

gcloud access-context-manager perimeters update example_perimeter \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,logging.googleapis.com,storage.googleapis.com \
  --policy=11271009391

VPC のアクセス可能なサービスにサービスを追加する

境界の VPC のアクセス可能なサービスにサービスを追加するには、次のコマンドを使用します。

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME はサービス境界の名前です。

  • SERVICES は、境界内にある 1 つ以上のサービスのカンマ区切りのリストで、ネットワークにアクセスを許可します。

    境界で保護されているサービスを簡単に含めるには、SERVICES のリストに RESTRICTED-SERVICES を追加します。RESTRICTED-SERVICES 以外にも他のサービスを追加できます。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

たとえば、すでに VPC のアクセス可能なサービスを有効にしていて、境界内の VPC ネットワークから Pub/Sub サービスにもアクセスできるようにするには、次のコマンドを使用します。

gcloud access-context-manager perimeters update example_perimeter \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,pubsub.googleapis.com \
  --policy=11271009391

VPC のアクセス可能なサービスからサービスを削除する

サービス境界の VPC のアクセス可能なサービスからサービスを削除するには、次のコマンドを使用します。

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --remove-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME はサービス境界の名前です。

  • SERVICES は、サービス境界内のネットワークがアクセスを許可されているサービスのリストから削除する 1 つ以上のサービスのカンマ区切りリストです。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

たとえば、VPC のアクセス可能なサービスをすでに有効にしており、境界内の VPC ネットワークが Cloud Storage サービスにアクセスできないようにするには、次のコマンドを使用します。

gcloud access-context-manager perimeters update example_perimeter \
  --remove-vpc-allowed-services=storage.googleapis.com \
  --policy=11271009391

VPC のアクセス可能なサービスを無効にする

サービス境界の VPC サービスの制限を無効にするには、次のコマンドを使用します。

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  [--policy=POLICY_NAME]

ここで

  • PERIMETER_NAME はサービス境界の名前です。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

たとえば、example_perimeter の VPC サービス制限を無効にするには、次のコマンドを使用します。

gcloud access-context-manager perimeters update example_perimeter \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  --policy=11271009391

VPC のアクセス可能なサービスと Access Context Manager API

Access Context Manager API は、VPC のアクセス可能なサービスの管理にも使用できます。サービス境界を作成または変更するときは、レスポンスの本文で ServicePerimeterConfig オブジェクトを使用して、VPC のアクセス可能なサービスを構成します。