このドキュメントでは、上り(内向き)ルールと下り(外向き)ルールを追加して、Virtual Machine Threat Detection が VPC Service Controls 境界内の VM をスキャンできるようにする方法について説明します。組織で VPC Service Controls を使用して、VM 脅威検出でスキャンするプロジェクトのサービスが制限されている場合は、このタスクを実行します。VM Threat Detection の詳細については、VM Threat Detection の概要をご覧ください。
始める前に
Make sure that you have the following role or roles on the organization:
Access Context Manager Editor
(roles/accesscontextmanager.policyEditor
).
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
[IAM] に移動 - 組織を選択します。
- [ アクセスを許可] をクリックします。
-
[新しいプリンシパル] フィールドに、ユーザー ID を入力します。 これは通常、Google アカウントのメールアドレスです。
- [ロールを選択] リストでロールを選択します。
- 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
- [保存] をクリックします。
Google Cloud コンソールで、[VPC Service Controls] ページに移動します。
組織またはプロジェクトを選択します。
組織を選択した場合は、[アクセス ポリシーを選択] をクリックして、更新する境界に関連付けられているアクセス ポリシーを選択します。
更新する境界のタイトルをクリックします。
[境界を編集] をクリックします。
[下り(外向き)ポリシー] をクリックします。
[ルールを追加] をクリックします。
[API クライアントの FROM 属性] セクションで、フィールドを次のように設定します。
- [ID] で、[ID とグループを選択] を選択します。
- [ユーザー アカウント/サービス アカウントの追加] に、Security Center サービス エージェントの名前を入力します。サービス エージェントの名前の形式は次のとおりです。
service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com
ORGANIZATION_ID は、実際の組織 ID に置き換えます。
[GCP サービス/リソースの TO 属性] セクションで、フィールドを次のように設定します。
- [プロジェクト] で、[すべてのプロジェクト] を選択します。
- [サービス] で [選択したサービス] を選択し、[Compute Engine API] サービスを選択します。
- [メソッド] で [Selected method] を選択し、[DisksService.Insert] メソッドを選択します。
[上り(内向き)ポリシー] をクリックします。
[ルールを追加] をクリックします。
[API クライアントの FROM 属性] セクションで、フィールドを次のように設定します。
- [ID] で、[ID とグループを選択] を選択します。
- [ユーザー アカウント/サービス アカウントの追加] に、セキュリティ センター サービス エージェントの名前をもう一度入力します。
- [ソース] で [すべてのソース] を選択します。
[GCP サービス/リソースの TO 属性] セクションで、フィールドを次のように設定します。
- [プロジェクト] で、[すべてのプロジェクト] を選択します。
- [サービス] で [選択したサービス] を選択し、[Compute Engine API] サービスを選択します。
[方法] で [Selected method] を選択し、次のメソッドを選択します。
- DisksService.Insert
- InstancesService.AggregatedList
- InstancesService.List
[保存] をクリックします。
割り当てプロジェクトがまだ設定されていない場合は、設定します。Access Context Manager API が有効になっているプロジェクトを選択します。
gcloud config set billing/quota_project QUOTA_PROJECT_ID
QUOTA_PROJECT_ID は、課金と割り当てに使用するプロジェクトの ID に置き換えます。
次の内容のファイルを
egress-rule.yaml
という名前で作成します。- egressFrom: identities: - serviceAccount:service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com egressTo: operations: - methodSelectors: - method: DisksService.Insert serviceName: compute.googleapis.com resources: - '*'
ORGANIZATION_ID は、実際の組織 ID に置き換えます。
次の内容のファイルを
ingress-rule.yaml
という名前で作成します。- ingressFrom: identities: - serviceAccount:service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com sources: - accessLevel: '*' ingressTo: operations: - methodSelectors: - method: DisksService.Insert - method: InstancesService.AggregatedList - method: InstancesService.List serviceName: compute.googleapis.com resources: - '*'
下り(外向き)ルールを境界に追加します。
gcloud access-context-manager perimeters update PERIMETER_NAME --set-egress-policies=EGRESS_RULE_FILENAME
次のように置き換えます。
- PERIMETER_NAME: 境界の名称(例:
accessPolicies/1234567890/servicePerimeters/example_perimeter
) - EGRESS_RULE_FILENAME: 下り(外向き)ルールを含むファイルの名前
- PERIMETER_NAME: 境界の名称(例:
上り(内向き)ルールを境界に追加します。
gcloud access-context-manager perimeters update PERIMETER_NAME --set-ingress-policies=INGRESS_RULE_FILENAME
次のように置き換えます。
- PERIMETER_NAME: 境界の名称(例:
accessPolicies/1234567890/servicePerimeters/example_perimeter
) - INGRESS_RULE_FILENAME: Ingress ルールを含むファイルの名前
- PERIMETER_NAME: 境界の名称(例:
- VM Threat Detection の使用方法を学習する。
下り(外向き)ルールと上り(内向き)ルールを作成する
VM Threat Detection が VPC Service Controls 境界内の VM をスキャンできるようにするには、これらの境界に必要な下り(外向き)ルールと上り(内向き)ルールを追加します。VM Threat Detection でスキャンする境界ごとに、これらの手順を実施します。
詳細については、VPC Service Controls のドキュメントでサービス境界の上り(内向き)ポリシーと下り(外向き)ポリシーの更新をご覧ください。