このドキュメントでは、Google Cloud フォルダをサービス境界のメンバーとして構成する方法について説明します。
始める前に
サービス境界の作成について確認します。
サービス境界(
roles/accesscontextmanager.policyAdmin)の作成と管理に必要な権限があることを確認します。サービス境界に追加するフォルダの ID を特定します。
境界にフォルダを追加する
境界を構成して、境界を作成または更新するときにフォルダを保護されたリソースとして含めることができます。
コンソール
Google Cloud コンソールのナビゲーション メニューで、[セキュリティ>VPC Service Controls] をクリックします。
新しい境界を作成するには、[新しい境界] をクリックします。
既存の境界を変更するには、境界を選択して [編集] をクリックします。
[保護するリソース] を選択します。
[保護するリソース] ペインで、[フォルダを追加] をクリックします。
[フォルダを検索] ダイアログで、保護するフォルダを検索して選択します。
[選択] をクリックします。追加されたフォルダが [フォルダ] セクションに表示されます。
[続行] をクリックします。
[作成] または [保存] をクリックします。
他の境界構成については、サービス境界を作成するをご覧ください。
gcloud
自動適用モードで境界を作成し、フォルダを保護されたリソースとして含めるには、次の
perimeters createコマンドを実行します。gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=FOLDER_ID \ --restricted-services=RESTRICTED-SERVICES \ --policy=POLICY_NAME
ドライラン モードで境界を作成し、フォルダを保護されたリソースとして含めるには、
perimeters dry-run createコマンドを使用します。自動適用モードで既存の境界を更新し、フォルダを保護されたリソースとして含めるには、次の
perimeters updateコマンドを実行します。gcloud access-context-manager perimeters update \ PERIMETER_ID \ --add-resources=FOLDER_ID
ドライラン モードで既存の境界を更新し、フォルダを保護されたリソースとして含めるには、
perimeters dry-run updateコマンドを使用します。
FOLDER_ID は、1 つ以上のフォルダ ID のカンマ区切りのリストに置き換えます。例: folders/12345--resources 引数と --add-resources 引数は、プロジェクトと VPC ネットワークもサポートしています。
他の境界構成については、サービス境界を作成するをご覧ください。
境界からフォルダを削除する
既存の境界からフォルダを削除できます。
コンソール
Google Cloud コンソールのナビゲーション メニューで、[セキュリティ>VPC Service Controls] をクリックします。
既存の境界を変更するには、境界を選択して [編集] をクリックします。
[保護するリソース] を選択します。
[保護するリソース] ペインの [フォルダ] セクションで、削除するフォルダを選択します。
[選択した項目を削除] をクリックします。
[続行] をクリックします。
[保存] をクリックします。
詳細については、サービス境界を更新するをご覧ください。
gcloud
強制モードの既存の境界からフォルダを削除するには、次の perimeters update コマンドを実行します。
gcloud access-context-manager perimeters update \ PERIMETER_ID \ --remove-resources=FOLDER_ID
ドライラン モードで既存の境界からフォルダを削除するには、perimeters dry-run update コマンドを使用します。
FOLDER_ID は、1 つ以上のフォルダ ID のカンマ区切りのリストに置き換えます。例: folders/12345--remove-resources 引数は、プロジェクトと VPC ネットワークもサポートしています。
詳細については、サービス境界を更新するをご覧ください。
リソースに構成された境界を検索する
gcloud CLI または LookupConfiguredServicePerimeter API メソッドを使用して、プロジェクトまたはフォルダに適用される適用済みまたはドライランのサービス境界を確認します。
gcloud
プロジェクトまたはフォルダに構成された境界を検索するには、次の lookup-configured-perimeter コマンドを実行します。
gcloud access-context-manager lookup-configured-perimeter \ --resource=RESOURCE
RESOURCE は、projects/PROJECT_NUMBER または folders/FOLDER_NUMBER 形式のリソース名に置き換えます。
API
プロジェクトに構成された境界を検索するには、LookupConfiguredServicePerimeter メソッドを呼び出します。
GET https://accesscontextmanager.googleapis.com/v1/projects/PROJECT_NUMBER:lookupConfiguredServicePerimeter
フォルダに構成された境界を検索するには、LookupConfiguredServicePerimeter メソッドを呼び出します。
GET https://accesscontextmanager.googleapis.com/v1/folders/FOLDER_NUMBER:lookupConfiguredServicePerimeter
必要な権限
リソースの構成済み境界をクエリするには、関連するアクセス ポリシーに次の IAM 権限があることを確認します。
accesscontextmanager.policies.getaccesscontextmanager.servicePerimeters.list
レスポンスの例
{
"servicePerimeter": "accessPolicies/123456/servicePerimeters/my_enforced_perimeter",
"servicePerimeterDryRun": "accessPolicies/123456/servicePerimeters/my_dry_run_perimeter",
"restrictedResource": "folders/789012",
"restrictedResourceDryRun": "projects/345678"
}
この例では、プロジェクトは folders/789012 祖先フォルダから自動適用境界を継承します。一方、ドライラン境界は projects/345678 プロジェクトで直接構成されます。
フォルダを使用して境界内のプロジェクトを管理する
境界内で構成したフォルダにプロジェクトを移動するか、フォルダからプロジェクトを移動することで、境界からプロジェクトを間接的に追加または削除できます。詳細については、プロジェクトをフォルダに移動するをご覧ください。
境界からプロジェクトを明示的に追加または削除する方法については、サービス境界を更新するをご覧ください。
トラブルシューティング
フォルダ メンバーシップの構成中に問題や予期しない動作が発生した場合は、次の操作を行います。
- リソースに構成されている境界を検索して、リソースが祖先フォルダから境界を継承しているかどうかを確認します。
- 監査ログで境界違反の詳細を確認します。詳細については、監査ログからトラブルシューティング情報を取得するをご覧ください。
- フォルダベースの境界に移行されたプロジェクトで、明示的なプロジェクト バインディングを削除する前に、48 時間の階層伝播ウィンドウが完了していることを確認します。
次のステップ
- 詳しくは、ドライラン モードをご覧ください。
- 上り(内向き)ルールと下り(外向き)ルールの詳細を確認する。
- 詳しくは、一般的な問題のトラブルシューティングをご覧ください。