配置 VPC Service Controls

支持的平台:

本指南介绍了如何为 Google Security Operations 配置 VPC Service Controls。

借助 VPC Service Controls,您可以设置服务边界以防范数据渗漏。使用 VPC Service Controls 配置 Google Security Operations,以便 Google SecOps 可以访问其服务边界之外的资源和服务。

如需详细了解 VPC Service Controls,请参阅 VPC Service Controls 概览。您还可以查看 VPC Service Controls 支持的产品表格中的 Google Security Operations 条目

准备工作

  • 确保您拥有在组织级配置 VPC Service Controls 所需的角色
  • 如需将 Google SecOps 与 VPC Service Controls 搭配使用,您只能使用符合 VPC Service Controls 要求的功能。以下列出了符合 VPC Service Controls 要求的功能:

    • Google SecOps with VPC Service Controls 仅支持 Google Cloud 身份验证、第三方身份提供商和员工身份联合。
    • 必须启用 Google SecOps RBAC 功能,才能将 VPC Service Controls 与 Google SecOps 搭配使用。
    • Google SecOps with VPC Service Controls 仅支持以下面向公众的 API:

      • chronicle.googleapis.com
      • chronicleservicemanager.googleapis.com

      如需加入 VPC Service Controls,您必须将所有相应端点迁移到 chronicle.googleapis.com API。

    • 使用 VPC Service Controls 的 Google SecOps 仅支持将 Google SecOps 统一数据模型 (UDM) 数据导出到自行管理的 BigQuery 项目或使用Advanced BigQuery Export

    • VPC Service Controls 仅支持 Google SecOps 信息中心

    • 您只能使用 v2 连接器创建来源类型为 GOOGLE_CLOUD_STORAGE_V2 的 Cloud Storage Feed。

    • 当 Google SecOps 在 VPC Service Controls 边界内受到限制时,如果您创建新的 Pub/Sub 订阅,Google SecOps 会要求您将日志写入 Cloud Storage,并使用 GOOGLE_CLOUD_STORAGE_V2GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN,而不是 CLOUD_PUB_SUB Feed。

  • 对于使用客户管理的加密密钥 (CMEK) 的 Google SecOps 实例,Google 强烈建议您将 Cloud Key Management Service 项目与关联了 Google SecOps 的 Google Cloud 项目保持在同一边界内,或者将密钥保留在关联了 Google SecOps 的 Google Cloud 项目本身内。

限制

  • Google SecOps Chronicle API 端点 ImportPushLogs 不支持 VPC Service Controls。不过,此限制不会造成数据渗漏风险,因为 ImportPushLogs 端点仅用于将数据推送到 Google SecOps 实例,而不是用于访问数据。

  • 使用 VPC Service Controls 的 Google SecOps 不支持 Looker 信息中心。

  • Google Cloud Pub/Sub 不支持创建使用 Chronicle API 端点来注入日志的新 Pub/Sub 订阅(VPC Service Controls 支持的产品表中的 Pub/Sub 条目)。不过,任何现有的 Pub/Sub 订阅(在将 Google Cloud 项目移至 VPC Service Controls 边界内之前创建)将继续按预期接收日志。

  • Google SecOps with VPC Service Controls 不支持旧版云存储桶和第三方 API Feed 连接器。

配置入站和出站规则

根据服务边界配置,配置入站和出站规则。如需了解详情,请参阅服务边界概览

如果您遇到 VPC Service Controls 问题,请使用 VPC Service Controls 违规分析器来调试和分析问题。如需了解详情,请参阅在违规分析器中诊断访问遭拒问题

为 SOAR 配置入站规则

本部分介绍如何为平台的 SOAR 端配置 VPC Service Controls。

为您在设置 Google SecOps 时指定的 Google Cloud 用户账号配置以下入站规则:

  - ingressFrom:
      identityType: ANY_SERVICE_ACCOUNT
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: secretmanager.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/PROJECT_NUMBER

PROJECT_NUMBER 替换为与 Google SecOps 关联的 Google Cloud 项目编号。

为 SIEM 配置规则

本部分介绍如何为平台的 SIEM 端配置 VPC Service Controls。

高级 BigQuery Export 的入站规则

如果您使用的是高级 BigQuery Export 功能,请为设置 Google SecOps 时指定的 Google Cloud 用户账号配置以下规则:

    - ingressFrom:
      identities:
      - serviceAccount:malachite-bq-export-entity-graph-batch-adv-bq@system.gserviceaccount.com
      - serviceAccount:malachite-customer-monitoring-exporter@system.gserviceaccount.com
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: bigquery.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/PROJECT_NUMBER

PROJECT_NUMBER 替换为与 Google SecOps 关联的 Google Cloud 项目编号。

数据表的入站规则

如果您使用的是数据表,请为设置 Google SecOps 时指定的 Google Cloud 用户账号配置以下规则:

  - ingressFrom:
      identities:
      - user:malachite-data-plane-api@prod.google.com
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: storage.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/PROJECT_NUMBER

PROJECT_NUMBER 替换为与 Google SecOps 关联的 Google Cloud 项目编号。

使用 Security Command Center 为 Google SecOps 配置规则

本部分介绍如何为 Google SecOps 配置 VPC Service Controls 和 Security Command Center。

以下规则中的服务账号仅在 Google SecOps 配置期间创建,因此您应在配置后但在开始使用 Security Command Center 之前配置 Security Command Center 规则。

针对您在设置 Google SecOps 时指定的 Google Cloud 用户账号完成以下任务:

  1. 配置以下入站规则:

    - ingressFrom:
        identities:
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.iam.gserviceaccount.com
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.iam.gserviceaccount.com
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-csc-hpsa.iam.gserviceaccount.com
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-asm-hpsa.iam.gserviceaccount.com
        sources:
        - accessLevel: "*"
      ingressTo:
        operations:
        - serviceName: chronicle.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: securitycenter.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: cloudasset.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: monitoring.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: iam.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: orgpolicy.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: serviceusage.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: dns.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - projects/PROJECT_NUMBER
    

    替换以下内容:

    • GOOGLE_ORGANIZATION_NUMBER:您的 Google Cloud 组织编号
    • PROJECT_NUMBER:您的 Google SecOps 关联 Google Cloud 项目编号
  2. 配置以下出站规则:

    - egressTo:
        operations:
        - serviceName: pubsub.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: securitycenter.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: cloudasset.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: iam.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - "*"
      egressFrom:
        identities:
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.iam.gserviceaccount.com
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.iam.gserviceaccount.com
        sources:
        - resource: projects/PROJECT_NUMBER
    

    替换以下内容:

    • GOOGLE_ORGANIZATION_NUMBER:您的 Google Cloud 组织编号
    • PROJECT_NUMBER:您的 Google SecOps 关联 Google Cloud 项目编号

为客户管理的加密密钥 (CMEK) 配置入站规则

本部分介绍了如何为 Google SecOps 配置 VPC Service Controls,并使用客户管理的加密密钥 (CMEK)。CMEK 是您拥有、管理和存储在 Cloud Key Management Service 中的加密密钥。

配置以下入站规则:

  - ingressFrom:
    identities:
    - serviceAccount: service-SECRET_MANAGER_PROJECT_NUMBER@gcp-sa-secretmanager.iam.gserviceaccount.com
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: secretmanager.googleapis.com
        methodSelectors:
        - method: "*"
      - serviceName: cloudkms.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/CMEK_PROJECT_NUMBER 

替换以下内容:

  • SECRET_MANAGER_PROJECT_NUMBER:Google 用于存储某些数据注入功能的密文的项目,您可以从 Google SecOps 代表处获取此项目
  • CMEK_PROJECT_NUMBER:存储 CMEK 的项目编号