このページでは、VPC Service Control のサービス境界を管理する方法について説明します。新しいサービス境界の作成方法については、サービス境界の作成をご覧ください。
このページは、以下のセクションで構成されています。
始める前に
サービス境界の構成を読む。
gcloud
コマンドライン ツールを使用するためのデフォルトのアクセス ポリシーを設定する。または
ポリシーの名前を入手する。ポリシー名は、
gcloud
コマンドライン ツールを使用して API 呼び出しを行うコマンドに必要です。デフォルトのアクセス ポリシーを設定する場合は、gcloud
コマンドライン ツールのポリシーを指定する必要はありません。
サービス境界の一覧または詳細を表示する
組織内のすべてのサービス境界を一覧表示するには、次の操作を行います。
Console
Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。
[VPC Service Controls] ページのテーブルで、表示するサービス境界の名前をクリックします。
gcloud
組織のサービス境界を一覧表示するには、list
コマンドを使用します。
gcloud access-context-manager perimeters list \
[--policy=POLICY_ID]
次のように置き換えます。
- POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
組織の境界の一覧が表示されます。例:
NAME TITLE ProdPerimeter Production Perimeter
サービス境界の詳細を表示するには、describe
コマンドを使用します。
gcloud access-context-manager perimeters \
describe PERIMETER_ID \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID は、詳細を表示するサービス境界の ID です。
POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
境界の詳細が表示されます。例:
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_ID]
次のように置き換えます。
FORMAT は次のいずれかの値です。
list
(YAML 形式)json
(JSON 形式)
POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
次の出力は、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" } ]
サービス境界を更新する
このセクションでは、個々のサービス境界を更新する方法について説明します。1 つのオペレーションで組織のすべてのサービス境界を更新するには、サービス境界の一括変更をご覧ください。
次のタスクを実行して、サービス境界を更新できます。
- 新しい Google Cloud プロジェクトを追加するか、サービス境界からプロジェクトを削除します。
- 制限付き Google Cloud サービスのリストを変更します。サービス境界のタイトルと説明を変更することもできます。
- VPC でアクセス可能なサービスを有効化、追加、削除、無効にします。
- 上り(内向き)ポリシーと下り(外向き)ポリシーを更新します。
サービス境界の更新後、変更が反映されて有効になるまでに 30 分ほどかかる場合があります。この間、境界がエラー メッセージ Error 403: Request is prohibited by organization's policy.
を含むリクエストをブロックする場合があります。
Console
Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。
[VPC Service Controls] ページのテーブルで、変更するサービス境界の名前をクリックします。
[VPC サービス境界の編集] ページで、サービス境界を更新します。
[保存] をクリックします。
gcloud
境界に新しいリソースを追加するには、追加するリソースを指定して update
コマンドを実行します。
gcloud access-context-manager perimeters update PERIMETER_ID \
--add-resources=RESOURCES \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID は、詳細を表示するサービス境界の ID です。
RESOURCES は、1 つ以上のプロジェクト番号または VPC ネットワーク名のカンマ区切りリストです。たとえば、
projects/12345
や//compute.googleapis.com/projects/my-project/global/networks/vpc1
です。プロジェクトと VPC ネットワークのみを使用できます。プロジェクトの形式はprojects/project_number
です。VPC の形式は://compute.googleapis.com/projects/project-id/global/networks/network_name
です。POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
制限付きサービスのリストを更新するには、update
コマンドを使用して、追加するサービスをカンマ区切りリストとして指定します。
gcloud access-context-manager perimeters update PERIMETER_ID \
--add-restricted-services=SERVICES \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID は、詳細を表示するサービス境界の ID です。
SERVICES は、1 つ以上のサービスを含むカンマ区切りのリストです。たとえば、
storage.googleapis.com
や、storage.googleapis.com,bigquery.googleapis.com
です。POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
既存の境界にアクセスレベルを追加する
アクセスレベルを作成したら、それをサービス境界に適用してアクセスを制御できます。
サービス境界の更新後、変更が反映されて有効になるまでに 30 分ほどかかる場合があります。この間、境界がエラー メッセージ Error 403: Request is prohibited by organization's policy.
を含むリクエストをブロックする場合があります。
Console
Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。
[VPC Service Controls] ページのテーブルで、変更するサービス境界の名前をクリックします。
[VPC サービス境界の編集] ページで、[アクセスレベルを選択します] ボックスをクリックします。
サービス境界に適用するアクセスレベルのチェックボックスを選択します。
[保存] をクリックします。
gcloud
アクセスレベルを既存のサービス境界に追加するには、update
コマンドを使用します。
gcloud access-context-manager perimeters update PERIMETER_ID \
--add-access-levels=LEVEL_NAME \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID はサービス境界の ID です。
LEVEL_NAME は、境界に追加するアクセスレベルの名前です。
POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
サービス境界を削除する
サービス境界を削除すると、その境界に関連付けられているセキュリティ制御が、関連する Google Cloud プロジェクトに適用されなくなります。メンバーの Google Cloud プロジェクトや関連リソースに対するその他の影響はありません。
Console
Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。
[VPC Service Controls] ページで、削除する境界に対応するテーブル行
をクリックします。
gcloud
サービスを削除するには、delete
コマンドを使用します。
gcloud access-context-manager perimeters delete PERIMETER_ID \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID はサービス境界の ID です。
POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
VPC のアクセス可能なサービスによって、境界内のサービスへのアクセスを制限する
このセクションでは、VPC のアクセス可能なサービスを有効化、追加、削除、無効化する方法について説明します。
VPC でアクセス可能なサービス機能を使用すると、サービス境界内のネットワーク エンドポイントからアクセス可能なサービスのセットを制限できます。サービス境界には VPC でアクセス可能なサービスを追加できますが、境界ブリッジには追加できません。
VPC のアクセス可能なサービス機能の詳細については、VPC のアクセス可能なサービスをご覧ください。
VPC のアクセス可能なサービスを有効にする
サービス境界で VPC のアクセス可能なサービスを有効にするには、次のコマンドを使用します。
gcloud access-context-manager perimeters update PERIMETER_ID \
--enable-vpc-accessible-services \
--add-vpc-allowed-services=SERVICES \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID はサービス境界の ID です。
SERVICES は、境界内にある 1 つ以上のサービスのカンマ区切りのリストで、ネットワークにアクセスを許可します。このリストにないサービスにはアクセスできません。
境界で保護されているサービスを簡単に含めるには、SERVICES のリストに
RESTRICTED-SERVICES
を追加します。RESTRICTED-SERVICES
以外にも他のサービスを追加できます。POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
たとえば、境界内の 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_ID \
--add-vpc-allowed-services=SERVICES \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID はサービス境界の ID です。
SERVICES は、境界内にある 1 つ以上のサービスのカンマ区切りのリストで、ネットワークにアクセスを許可します。
境界で保護されているサービスを簡単に含めるには、SERVICES のリストに
RESTRICTED-SERVICES
を追加します。RESTRICTED-SERVICES
以外にも他のサービスを追加できます。POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
たとえば、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_ID \
--remove-vpc-allowed-services=SERVICES \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID はサービス境界の ID です。
SERVICES は、サービス境界内のネットワークがアクセスを許可されているサービスのリストから削除する 1 つ以上のサービスのカンマ区切りリストです。
POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
たとえば、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_ID \
--no-enable-vpc-accessible-services \
--clear-vpc-allowed-services \
[--policy=POLICY_ID]
次のように置き換えます。
PERIMETER_ID はサービス境界の ID です。
POLICY_ID は、組織のアクセス ポリシーの ID です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
たとえば、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 でアクセス可能なサービスを構成します。