このドキュメントでは、VPC Service Controls の境界内の VM を Virtual Machine Threat Detection でスキャンできるように、上り(内向き)ルールと下り(外向き)ルールを追加する方法について説明します。組織で VPC Service Controls を使用して、VM Threat Detection でスキャンするプロジェクトのサービスを制限している場合は、このタスクを実行します。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] ページに移動します。
- 組織またはプロジェクトを選択します。
- 組織を選択した場合は、[アクセス ポリシーを選択] をクリックし、更新する境界に関連付けられているアクセス ポリシーを選択します。
-
更新する境界の名前をクリックします。
変更する必要があるサービス境界を確認するには、ログで
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
違反を示すエントリを確認します。これらのエントリで、servicePerimeterName
フィールドを確認します。accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
- [境界を編集] をクリックします。
- [下り(外向き)ポリシー] をクリックします。
- [下り(外向き)ルールを追加] をクリックします。
-
[送信元] セクションで、次の詳細を設定します。
- [ID] で、[選択されている ID とグループ] を選択します。
- [ID の追加] をクリックします。
-
セキュリティ センター サービス エージェントのメールアドレスを入力します。サービス エージェントのアドレスは次の形式です。
service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com
ORGANIZATION_ID
は、実際の組織 ID に置き換えます。 - サービス エージェントを選択するか、Enter キーを押して、[ID を追加] をクリックします。
-
[宛先] セクションで、次の詳細を設定します。
- [プロジェクト] で、[すべてのプロジェクト] を選択します。
- [オペレーションまたは IAM ロール] で、[オペレーションを選択] を選択します。
-
[オペレーションを追加] をクリックして、次のオペレーションを追加します。
- compute.googleapis.com サービスを追加します。
- [メソッドを選択] をクリックします。
-
DisksService.Insert メソッドを選択します。
- [選択したメソッドを追加] をクリックします。
- compute.googleapis.com サービスを追加します。
- [上り(内向き)ポリシー] をクリックします。
- [上り(内向き)ルールを追加] をクリックします。
-
[送信元] セクションで、次の詳細を設定します。
- [ID] で、[選択されている ID とグループ] を選択します。
- [ID の追加] をクリックします。
-
セキュリティ センター サービス エージェントのメールアドレスを入力します。サービス エージェントのアドレスは次の形式です。
service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com
ORGANIZATION_ID
は、実際の組織 ID に置き換えます。 - サービス エージェントを選択するか、Enter キーを押して、[ID を追加] をクリックします。
- [ソース] で [すべてのソース] を選択します。
-
[宛先] セクションで、次の詳細を設定します。
- [プロジェクト] で、[すべてのプロジェクト] を選択します。
- [オペレーションまたは IAM ロール] で、[オペレーションを選択] を選択します。
-
[オペレーションを追加] をクリックして、次のオペレーションを追加します。
- compute.googleapis.com サービスを追加します。
- [メソッドを選択] をクリックします。
-
次のメソッドを選択します。
- DisksService.Insert
- InstancesService.AggregatedList
- InstancesService.List
- [選択したメソッドを追加] をクリックします。
- compute.googleapis.com サービスを追加します。
- [保存] をクリックします。
-
割り当てプロジェクトがまだ設定されていない場合は、設定します。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: - serviceName: compute.googleapis.com methodSelectors: - method: DisksService.Insert resources: - '*'
ORGANIZATION_ID
は、実際の組織 ID に置き換えます。 -
次の内容のファイルを
ingress-rule.yaml
という名前で作成します。- ingressFrom: identities: - serviceAccount:service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com sources: - accessLevel: '*' ingressTo: operations: - serviceName: compute.googleapis.com methodSelectors: - method: DisksService.Insert - method: InstancesService.AggregatedList - method: InstancesService.List resources: - '*'
ORGANIZATION_ID
は、実際の組織 ID に置き換えます。 -
境界に下り(外向き)ルールを追加します。
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-egress-policies=egress-rule.yaml
次のように置き換えます。
-
PERIMETER_NAME
: 境界の名前。例:accessPolicies/1234567890/servicePerimeters/example_perimeter
。変更する必要があるサービス境界を確認するには、ログで
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
違反を示すエントリを確認します。これらのエントリで、servicePerimeterName
フィールドを確認します。accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
-
上り(内向き)ルールを境界に追加します。
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-ingress-policies=ingress-rule.yaml
次のように置き換えます。
-
PERIMETER_NAME
: 境界の名前。例:accessPolicies/1234567890/servicePerimeters/example_perimeter
。変更する必要があるサービス境界を確認するには、ログで
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
違反を示すエントリを確認します。これらのエントリで、servicePerimeterName
フィールドを確認します。accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
- VM Threat Detection の使用方法を学習する。
下り(外向き)ルールと上り(内向き)ルールを作成する
VM Threat Detection が VPC Service Controls の境界内の VM をスキャンできるようにするには、これらの境界に必要な下り(外向き)ルールと上り(内向き)ルールを追加します。VM Threat Detection でスキャンする各境界に対して、次の操作を行います。
詳細については、VPC Service Controls ドキュメントのサービス境界の上り(内向き)ポリシーと下り(外向き)ポリシーの更新をご覧ください。
コンソール
gcloud
詳細については、上り(内向き)ルールと下り(外向き)ルールをご覧ください。