このページでは、サービス境界のドライラン構成を管理する方法について説明します。サービス境界の管理については、サービス境界の管理をご覧ください。
始める前に
ドライラン モードを確認する
gcloud
コマンドライン ツールを使用するためのデフォルトのアクセス ポリシーを設定する。または
ポリシーの名前を入手する。ポリシー名は、
gcloud
コマンドライン ツールを使用して API 呼び出しを行うコマンドに必要です。デフォルトのアクセス ポリシーを設定する場合は、gcloud
コマンドライン ツールのポリシーを指定する必要はありません。
ドライラン構成の適用
サービス境界のドライラン構成が完成したら、その構成を適用できます。ドライラン構成が適用されると、境界の現在の構成(存在する場合)が置き換えられます。境界に適用済みのバージョンが存在しない場合は、その境界で最初に適用される構成としてドライラン構成が使用されます。
サービス境界の更新後、変更が反映されて有効になるまでに 30 分ほどかかる場合があります。 この間、境界がエラー メッセージ Error 403: Request is prohibited by organization's policy.
を含むリクエストをブロックする場合があります。
コンソール
Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。
[VPC Service Controls] ページの上部にある [ドライラン モード] をクリックします。
サービス境界のリストで、適用するサービス境界の名前をクリックします。
[VPC のサービス境界の詳細] ページの [ドライラン構成] セクションで、[適用] をクリックします。
既存の適用された構成を上書きするか確認するよう求められたら、[適用] をクリックします。
gcloud
gcloud
コマンドライン ツールを使用して、個々の境界およびすべての境界に同時にドライラン構成を適用できます。
1 つのドライラン構成を適用する
単一の境界に対してドライラン構成を適用するには、dry-run enforce
コマンドを使用します。
gcloud access-context-manager perimeters dry-run enforce PERIMETER_NAME \
[--policy=POLICY_NAME]
ここで
PERIMETER_NAME は、詳細を表示するサービス境界の名前です。
POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
すべてのドライラン構成を適用する
すべての境界のドライラン構成を適用するには、dry-run enforce-all
コマンドを使用します。
gcloud access-context-manager perimeters dry-run enforce-all \
[--etag=ETAG]
[--policy=POLICY_NAME]
ここで
PERIMETER_NAME は、詳細を表示するサービス境界の名前です。
ETAG は、組織のアクセス ポリシーのターゲット バージョンを表す文字列です。etag を含めない場合、
enforce-all
オペレーションは組織のアクセス ポリシーの最新バージョンを対象とします。アクセス ポリシーの最新の etag を取得するには、
list
アクセス ポリシーをご覧ください。POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
API
すべての境界にドライラン構成を適用するには、accessPolicies.servicePerimeters.commit
を呼び出します。
ドライランの構成の更新
ドライラン構成を更新するときは、サービスのリスト、プロジェクト、VPC のアクセス可能なサービスなど、境界の機能を変更できます。
サービス境界の更新後、変更が反映されて有効になるまでに 30 分ほどかかる場合があります。 この間、境界がエラー メッセージ Error 403: Request is prohibited by organization's policy.
を含むリクエストをブロックする場合があります。
コンソール
Google Cloud コンソールのナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。
[VPC Service Controls] ページの上部にある [ドライラン モード] をクリックします。
サービス境界のリストで、編集するサービス境界の名前をクリックします。
[VPC のサービス境界の詳細] ページの [ドライラン構成] セクションで、[編集] をクリックします。
[VPC サービス境界の編集] ページで、サービス境界のドライラン構成を変更します。
[保存] をクリックします。
gcloud
境界に新しいプロジェクトを追加するには、追加するリソースを指定して dry-run update
コマンドを実行します。
gcloud access-context-manager perimeters dry-run update PERIMETER_NAME \
--add-resources=RESOURCES \
[--policy=POLICY_NAME]
ここで
PERIMETER_NAME は、詳細を表示するサービス境界の名前です。
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_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
制限付きサービスのリストを更新するには、dry-run update
コマンドを使用して、追加するサービスをカンマ区切りリストとして指定します。
gcloud access-context-manager perimeters dry-run 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 は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。
ブロックされたリクエストの特定
ドライラン構成を作成したら、ログを確認して、サービスへのアクセスを強制された場合にドライラン構成によって拒否される場所を特定できます。
コンソール
Google Cloud コンソールのナビゲーション メニューで [ロギング] をクリックしてから、[ログ エクスプローラ] をクリックします。
[クエリ] フィールドに次のフィルタのようなクエリフィルタを入力し、[クエリを実行] をクリックします。
log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"
[クエリ結果] でログを確認します。
gcloud
gcloud CLI を使用してログを表示するには、次のようなコマンドを実行します。
gcloud logging read 'log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"'