1. はじめに
このラボでは、Cloud Storage から BigQuery データセットにデータを転送するときに、VPC Service Controls を使用して BigQuery Data Transfer Service を保護する方法について学習します。次に、Cloud Storage を保護し、このプロセスを繰り返して Cloud Storage から BigQuery にデータを転送します。Cloud Storage の保護により VPC Service Controls 違反が発生します。転送を正常に完了するには、この違反を修正する必要があります。最後に、BigQuery も保護し、プロジェクト間でデータセットのコピーを試みます。これも、修正が必要な違反を引き起こします。
このラボでは、上り(内向き)ルールと下り(外向き)ルールを使用して、上り(内向き)違反と下り(外向き)違反の両方を修正する方法について説明します。また、アクセスレベルを使用して、BigQuery Data Transfer 上り(内向き)違反を修正します。この Codelab の目標は次のとおりです。
- さまざまなサービス(Cloud Storage、BigQuery、BigQuery Data Transfer Service など)で上り(内向き)ルールと下り(外向き)ルールを使用して、上り(内向き)違反と下り(外向き)違反を修正する方法について学びます。
- 特定の違反が発生した理由を把握する。
2. リソースの設定と要件
始める前に
この Codelab では、次の知識があることを前提としています。
- フォルダを作成する方法
- フォルダにプロジェクトを作成する方法、または既存のプロジェクトをフォルダに移動する方法
- スコープ アクセス ポリシーを作成する方法
- Google Cloud コンソールからサービス境界を作成して構成する方法
- 監査ログから違反ログを探す方法
セットアップ
初期設定は次のように設計されています。
- Google Cloud 組織。
- 組織の下のフォルダ。この Codelab では、
codelab-folder
と呼びます。 - フォルダ
codelab-folder
にある 2 つの Google Cloud プロジェクト。この Codelab では、プロジェクトをproject-1
とproject-2
と呼びます。- フォルダとプロジェクトがまだ作成されていない場合は、Google Cloud コンソールで組織の下にフォルダを作成し、2 つの新しいプロジェクトを作成します。
- 必要な権限: フォルダの管理に必要な IAM ロール、プロジェクトの管理に必要な IAM ロール、VPC Service Controls の構成に必要な IAM ロール、BigQuery の管理に必要な IAM ロール、Cloud Storage の管理に必要な IAM ロール。
- プロジェクト
project-1
とproject-2
の両方の請求先アカウント。
スコープ ポリシーと通常のサービス境界を作成する
この Codelab では、project-2
を保護する通常のサービス境界を使用します。
- フォルダ
codelab-folder
レベルでスコープを設定したスコープ アクセス ポリシーを作成します。この Codelab では、作成されたアクセス ポリシーの ID が987654321
であると想定しています。 - 標準境界を作成し、
perimeter-2
という名前を付けて、プロジェクトproject-2
を追加します。
境界 perimeter-2
で BigQuery Data Transfer API
を制限します。
Cloud Storage バケットと BigQuery データセットの作成
この Codelab では、コンテンツに関係なく、任意の CSV ファイルで十分です。主な制限は、共同配置要件に関連しています。この要件では、次のことが義務付けられています。
- BigQuery データセットがマルチリージョンにある場合、転送するデータが含まれている Cloud Storage バケットは、同じマルチリージョンまたはマルチリージョンに含まれるロケーションに存在する必要があります。
- データセットが特定のリージョンにある場合、Cloud Storage バケットは同じリージョンに存在する必要があります。
以降、この Codelab では、Cloud Storage バケットと BigQuery データセットの両方が同じリージョンまたはマルチリージョンに配置されていることを確認します。
プロジェクト project-1
に新しい Cloud Storage バケットを作成する
新しい Cloud Storage バケットを作成するには、新しいバケットを作成する手順に沿って操作します。
- バケットの名前に、バケット名の要件を満たす名前を入力します。この Codelab では、バケットを
codelab-bqtransfer-bucket
と呼びます。 - データの保存場所(バケットのロケーション)で、バケットデータを永続的に保存するロケーション タイプとロケーションを選択します。この Codelab では、us(米国の複数のリージョン)を使用します。
CSV ファイルを作成する
ローカルマシンまたは Cloud Shell で、次のコマンドを使用して echo
コマンドでサンプル CSV ファイル codelab-test-file.csv
を作成できます。
echo "name,age" > codelab-test-file.csv; \
echo "Alice,10" >> codelab-test-file.csv; \
echo "Bob,20" >> codelab-test-file.csv; \
echo "Carol,30" >> codelab-test-file.csv; \
echo "Dan,40" >> codelab-test-file.csv; \
echo "Eve,50" >> codelab-test-file.csv; \
echo "Frank,60" >> codelab-test-file.csv; \
echo "Grace,70" >> codelab-test-file.csv; \
echo "Heidi,80" >> codelab-test-file.csv;
CSV ファイルを Cloud Storage バケットにアップロードする
CSV ファイルが作成されたら、次のコマンドを実行して作成したバケットにファイル オブジェクトをアップロードします。
gcloud storage cp codelab-test-file.csv gs://codelab-bqtransfer-bucket
バケット内のオブジェクトを一覧表示するか、次のコマンドを実行して、ファイルが作成されたバケットにアップロードされたことを確認できます。
gcloud storage ls --recursive gs://codelab-bqtransfer-bucket/**
project-2
に BigQuery データセットとテーブルを作成する
- こちらの手順に沿って、プロジェクト
project-2
に BigQuery データセットを作成します。- [データセット ID] に、一意のデータセット名を入力します。この Codelab では、
codelab_bqtransfer_dataset
を使用します。 - [ロケーション タイプ] で、データセットの地理的なロケーションを選択します。この Codelab では、Cloud Storage バケットと同じロケーション(US(米国の複数のリージョン))を使用します。
- [データセット ID] に、一意のデータセット名を入力します。この Codelab では、
- 作成したデータセット
codelab_bqtransfer_dataset
の下に BigQuery テーブルを作成します。手順はこちらをご覧ください。- [ソース] セクションの [テーブルの作成元] リストで [空のテーブル] を選択します。
- [テーブル] フィールドに、作成するテーブルの名前を入力します。この Codelab では、
codelab-bqtransfer-table
という名前を使用します。 - [テーブルタイプ] フィールドが [ネイティブ テーブル] に設定されていることを確認します。
- [スキーマ] セクションでスキーマ定義を入力します。スキーマ情報を入力するには、[テキストとして編集] をクリックし、作成した CSV ファイルの形式に準拠した次のスキーマを入力します。
[{ "name": "name", "type": "STRING", "mode": "NULLABLE", "description": "The name" }, { "name": "age", "type": "INTEGER", "mode": "NULLABLE", "description": "The age" }]
費用
Cloud のリソースや API を使用するには、プロジェクト project-2
と project-1
で課金を有効にする必要があります。この Codelab の終了後に課金が発生しないように、使用したリソースをシャットダウンすることをおすすめします。
費用が発生するリソースは BigQuery と Cloud Storage です。費用の見積もりは、BigQuery 料金計算ツールと Cloud Storage 計算ツールで確認できます。
3. Cloud Storage オブジェクトから BigQuery テーブルへのデータ転送を構成する
次に、project-2
の VPC Service Controls で BigQuery Data Transfer Service を保護しながら、Cloud Storage(project-1
にある)から BigQuery(project-2
にある)に転送する Data Transfer Service(project-2
にある)を作成します。BigQuery Data Transfer Service のみを保護し(BigQuery と Cloud Storage を保護しない)、プリンシパルがデータ転送の作成と管理のみ(データ転送を手動で開始するなど)を行えるように制限します。
Cloud Storage からのデータ転送を設定する
データ転送を作成する手順は次のとおりです。
project-2
の Google Cloud コンソールの BigQuery ページに移動します。- [データ転送] をクリックします。
[データ転送] ページにアクセスしたときに違反を調査する
Google Cloud コンソールで、VPC Service Controls の一意の識別子を確認できます。同じ ID を使用してログをフィルタし、違反の詳細を特定します(OBSERVED_VPCSC_DENIAL_UNIQUE_ID
は、検出された拒否 ID に置き換えます)。
protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
protoPayload.metadata.vpcServiceControlsUniqueId="OBSERVED_VPCSC_DENIAL_UNIQUE_ID"
検出された違反は NO_MATCHING_ACCESS_LEVEL
です。これは上り(内向き)違反で、次のような詳細があります。
ingressViolations: [
0: {
servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
targetResource: "projects/[PROJECT2_NUMBER]"
}]
violationReason: "NO_MATCHING_ACCESS_LEVEL"
callerIp: "USER_PUBLIC_IP_ADDRESS"
resource: {
labels: {
method: "google.cloud.bigquery.datatransfer.v1.DataTransferService.ListTransferConfigs"
project_id: "project-2"
service: "bigquerydatatransfer.googleapis.com"
}
type: "audited_resource"
}
[データ転送] ページにアクセスすると、構成されたデータ転送が一覧表示されます。そのため、ListTransferConfigs
メソッドに違反します。
bigquerydatatransfer.googleapis.com
サービスの違反を修正
上り(内向き)違反を修正するには、アクセスレベルまたは上り(内向き)ルールを使用します。この Codelab では、拒否されたユーザー ID で構成された上り(内向き)ルールを使用して、bigquerydatatransfer.googleapis.com
サービスとすべてのメソッドへのアクセスを許可します。
上り(内向き)ルールが設定されると、[データ転送] ページに問題なくアクセスできるようになります。
Cloud Storage からのデータ転送の設定を再開する
前の手順で [データ転送] ページに移動したら([データ転送] をクリックした後)、次の手順に進みます。
- [+ 転送を作成] をクリックします。
- [ソースタイプ] セクションで、[ソース] として [Google Cloud Storage] を選択します。
- [転送構成名] セクションの [表示名] に、転送名(例:
Codelab Transfer
)を入力します。 - [スケジュール オプション] セクションで:
- 15 分などの繰り返しの頻度を選択します。
- [すぐに開始可能] を選択してください。選択しなかった場合、データ転送は、設定した [繰り返しの頻度] の後にのみ開始されます。
- [転送先の設定] セクションの [宛先データセット] で、データを保存するために作成したデータセットを選択します。
codelab_bqtransfer_dataset
- [データソースの詳細] セクションで、次の操作を行います。
- [Destination table] に宛先テーブルの名前を入力します。宛先テーブルは、テーブルの命名規則に従う必要があります。この Codelab では、先ほど作成したテーブル
codelab-bqtransfer-table
を使用します。 - [Cloud Storage URI] に Cloud Storage URI を入力します。この Codelab では、作成したバケットとファイル(
codelab-bqtransfer-bucket/codelab-test-file.csv
)を使用します。 - [書き込み設定] で
APPEND
のままにするか、MIRROR
を選択します。 - 転送後にファイルを削除するオプションは選択しないでください。同じファイルを複数回使用するためです。ただし、複数のファイルを使用して、転送後にソースファイルを削除できます)。
- [ファイル形式] で CSV を選択します。
- [Transfer Options] の [CSV] で、[フィールド区切り文字] にカンマ(",")を入力します。
- [Destination table] に宛先テーブルの名前を入力します。宛先テーブルは、テーブルの命名規則に従う必要があります。この Codelab では、先ほど作成したテーブル
- [サービス アカウント] メニューで、Google Cloud プロジェクトに関連付けられたサービス アカウントからサービス アカウントを選択します。
- 選択したサービス アカウントには、ストレージ バケットをホストするプロジェクトの Cloud Storage の両方(この Codelab では
project-1
)に対する必要な権限が付与されている必要があります。 - この Codelab では、
project-2
で作成したサービス アカウントをcodelab-sa@project-2.iam.gserviceaccount.com
として使用します。
- 選択したサービス アカウントには、ストレージ バケットをホストするプロジェクトの Cloud Storage の両方(この Codelab では
- [保存] をクリックします。
スケジュール オプションとして [今すぐ開始] を選択したので、[保存] を選択するとすぐに最初の転送が開始されます。
データ転送サービスのステータスを確認する
構成されたデータ転送のステータスを確認するには:
- Google Cloud コンソールの [BigQuery] ページに移動します。
- [データ転送] をクリックします。
- 構成された転送のリストが表示されます。
[表示名] の下の Codelab Transfer
をクリックすると、これまでに実行されたすべての実行のリストが表示されます。
データ転送の実行は正常に完了し、手動でトリガーされたデータ転送とスケジュールされたデータ転送の両方で VPC Service Controls 違反が発生しないはずです。手動でトリガーされた転送でのみ、転送を手動で開始するプリンシパルへのアクセスを許可する上り(内向き)ルールが必要です。
4. 手動でトリガーされたデータ転送の IP アドレスの制限
現在構成されている上り(内向き)ルールでは、構成された ID が任意の IP アドレスから手動でデータ転送をトリガーできます。
アクセスレベルを使用すると、VPC Service Controls で特定の API リクエストの属性(特に次の属性)によって許可されるアクセスを制限できます。
- IP サブネットワーク: リクエストが特定の IP アドレスから送信されたかどうかを確認します。
- リージョン: リクエストが特定のリージョンから送信されたかどうかを確認します。リージョンは IP アドレスの位置情報によって決まります。
- プリンシパル: リクエストが特定のアカウントから送信されたかどうかを確認します。
- デバイス ポリシー: リクエストが特定の要件を満たすデバイスから送信されたものかどうかを確認します。
すでに構成されている上り(内向き)ルールとともにこれらの属性の検証を適用するには、目的の属性を許可するアクセスレベルを作成し、作成したアクセスレベルを上り(内向き)ルールの送信元として追加する必要があります。
この図は、3 つのシナリオで 2 つのプリンシパル(
user@example.com
と user2@example.com
)によって開始されたアクセスを示しています。VPC Service Controls がソース(上り(内向き)アクセスレベル)と ID 属性を AND 条件として評価し、両方が一致する必要があることを示しています。
- ユーザー user@example.com は、アクセスレベルで許可されている IP アドレスからアクセスしようとしたときに、アクセスが許可されます。これは、その IP アドレスとユーザー アカウントが上り(内向き)ルールの構成と一致しているためです。
- アカウントが Ingress ルールで構成されているにもかかわらず、ユーザー user@example.com の IP アドレスが許可された IP アドレスと一致しない場合、アクセスがブロックされます。
- ユーザー user2@example.com は、許可された IP アドレスからアクセスしようとしたにもかかわらず、そのアカウントが上り(内向き)ルールで許可されていないため、アクセスがブロックされます。
アクセスレベルを作成
IP アドレスでアクセスを制限するアクセスレベルを作成するには:
- Google Cloud コンソールで [Access Context Manager] ページを開きます。
- プロンプトが表示されたら、フォルダ
codelab-folder
を選択します。
- プロンプトが表示されたら、フォルダ
- [Access Context Manager] ページの上部にある [CREATE ACCESS LEVEL] をクリックします。
- [新しいアクセスレベル] ペインで、新しいアクセスレベルにタイトルを入力します。この Codelab では、
project_2_al
と呼びます。 - [条件] セクションで、[IP サブネットワーク] の横にある [+] をクリックします。
- [IP サブネットワーク] ボックスで、[パブリック IP] を選択します。
- 代わりに、プライベート IP を使用してアクセスレベルで内部 IP アドレスを使用することもできます。この Codelab では、パブリック IP を使用します。
- CIDR ブロックとしてフォーマットされた 1 つ以上の IPv4 または IPv6 の範囲を入力します。
上り(内向き)ルールにアクセスレベルを追加する
Ingress ルール内で、アクセスレベルは sources
フィールドで参照されます。これは、Ingress ルールのリファレンスに記載されている必須フィールドです。リソースへの上り(内向き)を許可するために、VPC Service Controls は sources
属性と identityType
属性を AND 条件として評価します。上り(内向き)ルールでは、データ転送の構成で指定されたサービス アカウントではなく、データ転送を手動でトリガーするプリンシパルの ID が使用されます。
IP アドレスによるアクセスを制限する構成で転送を再実行する
適用された構成の効果を評価するには、次のシナリオを使用して転送を再度トリガーします。
- Ingress ルールで参照されるアクセスレベルで許可されている範囲内の IP アドレスを使用します。
- 構成で許可されていない IP アドレスを使用している
許可された IP アドレスからのアクセスは成功し、許可されていない IP アドレスからのアクセスは失敗し、VPC Service Controls 違反が発生します。
別の IP アドレスを使用してテストする簡単な方法の 1 つは、Google Cloud コンソールを使用しているときに IP アドレスの割り当てを許可し、Cloud Shell を使用してテストすることです。
Cloud Shell で次のコマンドを実行して、転送を手動でトリガーします。RUN_TIME と RESOURCE_NAME の両方を置き換えます。
bq mk \
--transfer_run \
--run_time='RUN_TIME' \
RESOURCE_NAME
たとえば、次のサンプル コマンドは、プロジェクト 1234567890
の転送 12345678-90ab-cdef-ghij-klmnopqrstuv
構成に対してすぐに実行されます。
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ");
bq mk \
--transfer_run \
--run_time=$NOW \
projects/1234567890/locations/us/transferConfigs/12345678-90ab-cdef-ghij-klmnopqrstuv
出力には、IP アドレスが許可されていないため、VPC Service Controls 違反が表示されます。
検出された違反は DataTransferService.StartManualTransferRuns
メソッドにあります。
ingressViolations: [
0: {
servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
targetResource: "projects/[PROJECT2_NUMBER]"
targetResourcePermissions: [0: "vpcsc.permissions.unavailable"]
}]
violationReason: "RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER"
resource: {
labels: {
method: "google.cloud.bigquery.datatransfer.v1.DataTransferService.StartManualTransferRuns"
project_id: "project-2"
service: "bigquerydatatransfer.googleapis.com"
}
type: "audited_resource"
}
severity: "ERROR"
5. Cloud Storage Service を保護しながらデータ転送を開始する
Cloud Storage から BigQuery への転送を行うため、VPC Service Controls で保護されているサービスに Cloud Storage を追加し、転送が成功するかどうかを確認します。
perimeter-2
構成で、BigQuery Data Transfer API とともに、制限付きサービスの 1 つとして Cloud Storage API を追加します。
Cloud Storage API を保護したら、次にスケジュールされたデータ転送を待つか、次の手順で転送を手動でトリガーします。
- Google Cloud Console の [BigQuery] ページに移動します。
- [データ転送] をクリックします。
- リストから転送を選択します。この Codelab では、Codelab Transfer 転送を使用します。
- [今すぐ転送を実行] をクリックします。
- [OK] をクリックします。
別の移行が開始されます。表示されない場合は、ページを更新してください。この場合、転送は VPC Service Controls 違反で失敗します。
Cloud Storage VPC Service Controls の違反を調査する
転送の概要に表示されている vpcServiceControlsUniqueIdentifier
を使用して、監査ログをフィルタします。
検出された違反は RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
下り(外向き)違反で、詳細は次のとおりです。
- プリンシパルは、Data Transfer Service で構成されたサービス アカウントです(手動でトリガーされたデータ転送でも、スケジュールされたデータ転送を実行する場合でも、拒否されたプリンシパルは同じです)。
- 影響を受けるサービスは Cloud Storage
- リクエストの送信元は、Data Transfer Service が構成されているプロジェクト(
project-2
)です。 - ターゲット プロジェクトは、Cloud Storage オブジェクトが配置されているプロジェクト(
project-1
)です。
principalEmail: "codelab-sa@project-2.iam.gserviceaccount.com"
egressViolations: [
0: {
servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
source: "projects/[PROJECT2_NUMBER]"
sourceType: "Resource"
targetResource: "projects/[PROJECT1_NUMBER]"
targetResourcePermissions: [0: "storage.objects.get"]
}]
labels: {
method: "google.storage.objects.get"
project_id: "project-2"
service: "storage.googleapis.com"
}
Cloud Storage 下り(外向き)違反を修正する
下り(外向き)違反を修正するには、拒否されたサービス アカウントから Cloud Storage オブジェクトを含むプロジェクトへのトラフィックを許可する下り(外向き)ルールを使用する必要があります。
サービス境界 perimeter-2
を変更したら、このプロセスを繰り返して転送を再度トリガーします。転送にエラーは表示されません。
6. BigQuery データセットを project-2 から project-1 にコピーします。
project-1
の Cloud Storage バケットから project-2
の BigQuery データセットにデータを転送できることを確認したら、BigQuery API が VPC Service Controls によって保護されている間に、project-2
から project-1
に BigQuery データセットをコピーします。
データセットを作成してコピーするには、bq ツールを使用する bq mk
コマンドを使用します。
project-1
に宛先データセットを作成する
データセットをコピーする前に、コピー先データセットを作成する必要があります。宛先データセットを作成するには、次のコマンドを実行します。このコマンドは、プロジェクト project-1
に copied_dataset
という名前のデータセットを作成し、場所として us
を使用します。
bq mk \
--dataset \
--location=us \
project-1:copied_dataset
VPC Service Controls を使用して project-2
の BigQuery サービスを保護する
境界 perimeter-2
の構成を変更し、BigQuery Data Transfer サービスと Cloud Storage サービスとともに、BigQuery API を保護されたサービスとして追加します。
データセットのコピーを開始する
データセットをコピーするには、次の bq mk
コマンドを実行します。これにより、プロジェクト project-2
のデータセット codelab_bqtransfer_dataset
が project-1
のデータセット copied_dataset
にコピーされ、データセットの内容が上書きされます(存在する場合)。
bq mk \
--transfer_config \
--project_id=project-1 \
--target_dataset=copied_dataset \
--data_source=cross_region_copy \
--display_name='Dataset from project-2 to project-1' \
--params='{
"source_dataset_id":"codelab_bqtransfer_dataset",
"source_project_id":"project-2",
"overwrite_destination_table":"true"
}'
コマンドは正常に実行され、転送構成が正常に作成され、データセットのコピー オペレーションが開始されます。データセット自体のコピーは失敗し、VPC Service Controls 違反が発生します。
対応する VPC Service Controls 違反の詳細を確認するには、次のログクエリを使用して project-2
(ソース データセット プロジェクト)のログを確認します。ログクエリは、コピーされるデータセットの BigQuery サービスとリソース名(codelab_bqtransfer_dataset
)でログをフィルタします。
resource.labels.service="bigquery.googleapis.com"
protoPayload.metadata.resourceNames:"datasets/codelab_bqtransfer_dataset"
検出された VPC Service Controls 違反は、project-2
から project-1
への下り(外向き)違反です。
egressViolations: [
0: {
servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
source: "projects/[PROJECT-2-NUMBER]"
sourceType: "Resource"
targetResource: "projects/[PROJECT-1-NUMBER]"
targetResourcePermissions: [
0: "bigquery.transfers.update"
1: "bigquery.transfers.get"
2: "bigquery.jobs.create"
]
}
]
method: "bigquery.tables.getData"
service: "bigquery.googleapis.com"
BigQuery の違反をすべて修正して、データセットのコピーを再開する
下り(外向き)違反を修正するには、拒否されたプリンシパルを許可する下り(外向き)ルールを作成する必要があります。拒否されたプリンシパルは、mk
コマンドを実行しているプリンシパルです。
下り(外向き)ルールが設定されたら、境界 perimeter-2
で同じコマンドを実行してデータセットをコピーします。今度は、VPC Service Controls 違反なしでデータセットが正常にコピーされるはずです。
7. クリーンアップ
サービスが使用されていない場合の VPC Service Controls の使用には追加料金は発生しませんが、このラボで使用した設定をクリーンアップすることをおすすめします。VM インスタンスや Cloud プロジェクトを削除して、料金が発生しないようにすることもできます。Cloud プロジェクトを削除すると、そのプロジェクト内で使用されているすべてのリソースに対する課金が停止します。
- Cloud Storage バケットを削除するには、次の操作を行います。
- Google Cloud コンソールで、[Cloud Storage バケット] ページに移動します。
- 削除するバケットのチェックボックスをオンにして、[削除] をクリックします。
- 上に重なったウィンドウで、バケットとそのコンテンツを削除することを確認します。
- BigQuery データセットを削除するには、次の操作を行います。
- Google Cloud コンソールで [BigQuery] ページに移動します。
- [エクスプローラ] ペインでプロジェクトを開いて、データセットを選択します。
- その他メニューを開き、[削除] をクリックします。
- [データセットを削除する] ダイアログで、フィールドに「
delete
」と入力してから、[削除] をクリックします。
- サービス境界を削除するには、次の操作を行います。
- Google Cloud コンソールで、[セキュリティ] を選択し、アクセス ポリシーのスコープが設定されているレベル(この場合はフォルダレベル)で [VPC Service Controls] を選択します。
- [VPC Service Controls] ページで、削除する境界に対応するテーブル行で、[
Delete Icon
] を選択します。
- アクセスレベルを削除するには、次の操作を行います。
- Google Cloud コンソールで、フォルダ スコープで [Access Context Manager] ページを開きます。
- グリッドで、削除するアクセスレベルの行を特定し、その他メニューを選択して [削除] を選択します。
- プロジェクトをシャットダウンするには、次の手順を完了します。
- Google Cloud コンソールで、削除するプロジェクトの [IAM と管理の設定] ページに移動します。
- [IAM と管理の設定] ページで、[シャットダウン] を選択します。
- プロジェクト ID を入力し、[このままシャットダウン] を選択します。
8. 完了
この Codelab では、VPC Service Controls の境界を作成して適用し、トラブルシューティングを行いました。
その他の情報
次のシナリオも確認できます。
- BigQuery、BigQuery Data Transfer Service、Cloud Storage も保護する別の境界に
project-1
を追加します。 - 他のサポートされているソースから BigQuery データ転送を実行します。
- 位置情報やデバイス ポリシーなどの他の属性でユーザー アクセスを制限する。
ライセンス
この作業はクリエイティブ・コモンズの表示 2.0 汎用ライセンスにより使用許諾されています。