允许 VM Threat Detection 访问 VPC Service Controls 边界

本文档介绍了如何添加入站和出站规则,以允许虚拟机威胁检测功能扫描 VPC Service Controls 边界中的虚拟机。如果您的组织使用 VPC Service Controls 限制您希望虚拟机威胁检测扫描的项目中的服务,请执行此任务。如需详细了解 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

  1. In the Google Cloud console, go to the IAM page.

    Go to IAM
  2. Select the organization.
  3. 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.

  4. 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

  1. In the Google Cloud console, go to the IAM page.

    进入 IAM
  2. 选择组织。
  3. 点击 授予访问权限
  4. 新的主账号字段中,输入您的用户标识符。 这通常是 Google 账号的电子邮件地址。

  5. 选择角色列表中,选择一个角色。
  6. 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
  7. 点击 Save(保存)。
  8. 创建出站规则和入站规则

    如需允许 VM Threat Detection 扫描 VPC Service Controls 边界中的虚拟机,请在这些边界中添加所需的出站和入站规则。针对您要让 VM Threat Detection 扫描的每个边界执行这些步骤。

    如需了解详情,请参阅 VPC Service Controls 文档中的更新服务边界的入站和出站政策

    控制台

    1. 在 Google Cloud 控制台中,前往 VPC Service Controls 页面。

      转到 VPC Service Controls

    2. 选择您的组织或项目。

    3. 如果您选择了组织,请点击选择访问权限政策,然后选择与要更新的外围网关联的访问权限政策。

    4. 点击要更新的边界的标题。

    5. 点击修改边界

    6. 点击出站流量政策

    7. 点击添加规则

    8. API 客户端的“来自于”属性部分中,按如下方式设置字段:

      1. 身份部分,选择选择身份和群组
      2. 添加用户/服务账号中,输入安全中心服务人员的姓名。服务人员的姓名采用以下格式:
      service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com
      

      ORGANIZATION_ID 替换为您的组织 ID。

    9. GCP 服务/资源的“至”属性部分中,按如下方式设置字段:

      1. 对于项目,选择所有项目
      2. 服务部分,选择所选服务,然后选择 Compute Engine API 服务。
      3. 对于方法,选择所选方法,然后选择 DisksService.Insert 方法。
    10. 点击入站流量政策

    11. 点击添加规则

    12. API 客户端的“来自于”属性部分中,按如下方式设置字段:

      1. 身份部分,选择选择身份和群组
      2. 添加用户/服务账号中,再次输入 Security Center 服务代理的名称。
      3. 来源部分,选择所有来源
    13. GCP 服务/资源的“至”属性部分中,按如下方式设置字段:

      1. 对于项目,选择所有项目
      2. 服务部分,选择所选服务,然后选择 Compute Engine API 服务。
      3. 对于方法,选择所选方法,然后选择以下方法:

        • DisksService.Insert
        • InstancesService.AggregatedList
        • InstancesService.List
    14. 点击保存

    gcloud

    1. 如果尚未设置配额项目,请进行设置。选择已启用 Access Context Manager API 的项目。

      gcloud config set billing/quota_project QUOTA_PROJECT_ID
      

      QUOTA_PROJECT_ID 替换为您要用于结算和配额的项目的 ID。

    2. 创建名为 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。

    3. 创建名为 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:
          - '*'
      
    4. 将出站流量规则添加到边界:

      gcloud access-context-manager perimeters update PERIMETER_NAME --set-egress-policies=EGRESS_RULE_FILENAME
      

      替换以下内容:

      • PERIMETER_NAME:边界的名称,例如 accessPolicies/1234567890/servicePerimeters/example_perimeter
      • EGRESS_RULE_FILENAME:包含出站规则的文件的名称
    5. 将入站流量规则添加到边界中:

      gcloud access-context-manager perimeters update PERIMETER_NAME --set-ingress-policies=INGRESS_RULE_FILENAME
      

      替换以下内容:

      • PERIMETER_NAME:边界的名称,例如 accessPolicies/1234567890/servicePerimeters/example_perimeter
      • INGRESS_RULE_FILENAME:包含入站规则的文件的名称

    后续步骤