允许 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(保存)。

创建出站规则和入站规则

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

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

控制台

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

    前往 VPC Service Controls

  2. 选择您的组织或项目。
  3. 如果您选择了组织,请点击选择访问权限政策,然后选择与要更新的外围网关联的访问权限政策。
  4. 点击要更新的边界的名称。

    如需查找您需要修改的服务边界,您可以查看日志中是否存在显示 RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER 违规行为的条目。在这些条目中,检查 servicePerimeterName 字段:

    accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
  5. 点击 修改边界
  6. 点击出站流量政策
  7. 点击添加出站流量规则
  8. FROM 部分,设置以下详细信息:

    1. 身份部分,选择选择身份和群组
    2. 点击添加身份
    3. 输入 Security Center 服务代理的电子邮件地址。 服务代理的地址采用以下格式:

      service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

      ORGANIZATION_ID 替换为您的组织 ID。

    4. 选择相应服务人员或按 ENTER 键,然后点击添加身份
  9. TO 部分,设置以下详细信息:

    1. 对于项目,选择所有项目
    2. 对于操作或 IAM 角色,选择选择操作
    3. 点击添加操作,然后添加以下操作:

      • 添加 compute.googleapis.com 服务。
        1. 点击选择付款方式
        2. 选择 DisksService.Insert 方法。

        3. 点击添加所选方法
  10. 点击入站流量政策
  11. 点击添加入站流量规则
  12. FROM 部分,设置以下详细信息:

    1. 身份部分,选择选择身份和群组
    2. 点击添加身份
    3. 输入 Security Center 服务代理的电子邮件地址。 服务代理的地址采用以下格式:

      service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

      ORGANIZATION_ID 替换为您的组织 ID。

    4. 选择相应服务人员或按 ENTER 键,然后点击添加身份
    5. 对于来源,请选择所有来源
  13. TO 部分,设置以下详细信息:

    1. 对于项目,选择所有项目
    2. 对于操作或 IAM 角色,选择选择操作
    3. 点击添加操作,然后添加以下操作:

      • 添加 compute.googleapis.com 服务。
        1. 点击选择付款方式
        2. 选择以下方法:

          • DisksService.Insert
          • InstancesService.AggregatedList
          • InstancesService.List
        3. 点击添加所选方法
  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:
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: DisksService.Insert
        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:
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: DisksService.Insert
          - method: InstancesService.AggregatedList
          - method: InstancesService.List
        resources:
        - '*'

    ORGANIZATION_ID 替换为您的组织 ID。

  4. 将出站流量规则添加到边界:

    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
  5. 将入站流量规则添加到边界中:

    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

如需了解详情,请参阅入站和出站规则

后续步骤