管理安全状况

本页面介绍了如何配置和使用 Security Posture 服务 启动 Security Command Center。首先,您必须创建一个安全状况 包含您的政策,整理成政策集,然后使用 安全状况部署。部署安全状况后,您可以监控偏移 并随着时间的推移进一步优化你的姿势

准备工作

请先完成这些任务,然后再完成此页面上的其余任务。

激活 Security Command Center 高级或企业层级

验证 Security Command Center 高级层级还是 Enterprise 层级在 组织级别。

如果要将 Security Health Analytics 检测器用作政策,请选择 Security Health Analytics 服务。

设置权限

如需获取使用安全状况所需的权限, 请让管理员向您授予 Security Posture Admin (roles/securityposture.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

详细了解安全状况角色和安全状况 请参阅适用于组织级层的 IAM 激活

设置 Google Cloud CLI

您必须使用 Google Cloud CLI 461.0.0 或更高版本

在 Google Cloud 控制台中,激活 Cloud Shell。

激活 Cloud Shell

Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

如需设置 gcloud CLI 以使用服务账号模拟(而不是您的用户凭据)向 Google API 进行身份验证,请运行以下命令:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

如需了解详情,请参阅服务账号模拟

启用 API

启用组织政策服务和安全状况服务 API:

gcloud services enable orgpolicy.googleapis.com  securityposture.googleapis.com

配置与 AWS 的连接

如需使用 AWS 专用的内置 Security Health Analytics 检测器,您必须 激活 Security Command Center 企业版连接 以修复漏洞 检测

创建和部署状况

如需开始使用安全状况,您必须完成以下步骤:

  • 创建一个安全状况 YAML 文件,该文件定义适用于您的 安全状况。

  • 在 Google Cloud 中基于安全状况 YAML 文件创建安全状况。

  • 部署安全状况。

以下部分提供了详细说明。

创建安全状况 YAML 文件

安全状况由您一起部署的一个或多个政策集组成。这些 政策集包含您要检查的所有预防性和检测性政策 。

如需创建安全状况,请执行以下操作之一:

安全状况是 YAML 文件。如需详细了解 posture.yaml 文件以及 请参阅安全状况 YAML 文件

根据预定义的安全状况模板创建安全状况文件

您可以使用预定义的状况模板创建状况文件。

控制台

  1. 在 Google Cloud 控制台中,前往安全状况管理页面。

    前往“安全状况管理”

  2. 请确认您查看的是已激活 启用 Security Command Center 高级或企业层级。

  3. 模板标签页中,点击您要使用的模板。

  4. 模板详细信息页面中,点击 Create Posture

  5. 为该状况提供一个唯一的名称,然后点击创建态势 详细信息页面。

  6. 完成以下任一操作:

    • 如果您可以在不进行任何更改的情况下使用安全状况(例如, 使用了某个 _essentials 模板之一),则可以将 安全状况。有关说明,请参阅将 安全状况

    • 如果您需要修改任何政策集或政策(例如, 您使用了某个 _Enhance 模板),请完成修改状况 YAML 文件,并将状态状态设置为 ACTIVE

gcloud

  1. 查看预定义安全状况 模板 以确定哪些属性适用于您的环境。您可以应用其中的部分建议 而不进行任何更改,但其他政策则需要您自定义 与您的环境相匹配。

  2. 使用以下方法之一将 YAML 文件复制到您自己的文本中 编辑器:

    gcloud scc posture-templates describe \
    organizations/ORGANIZATION_ID/locations/LOCATION/postureTemplates/POSTURE_TEMPLATE \
    --revision-id=REVISION_ID

    替换以下值:

    • ORGANIZATION_ID 是您 已启用 Security Command Center 高级或企业层级。

    • LOCATION 是存储该位置的位置 部署和存储安全状况。唯一支持的位置是 global

    • POSTURE_TEMPLATE 是预定义的 安全状况,如预定义安全状况中所述 模板

    • REVISION_ID 是 预定义的安全状况。如果您不添加修订版本 ID,系统会使用最新的 预定义状况的版本。

    例如,要查看安全的 AI,“Essentials”的预定义状况 在 3589215982 组织下,运行 以下:

    gcloud scc posture-templates describe
    organizations/3589215982/locations/global/postureTemplates/secure_ai_essential
    --revision-id=v.1.0

  3. 完成以下任一操作:

    • 如果您可以在不进行任何更改的情况下使用安全状况(例如, 使用某个 _essentials 模板之一),则可以创建安全状况。 有关说明,请参阅创建安全状况

    • 如果您需要修改任何政策集或政策,请填写 修改状况 YAML 文件

通过从现有环境中提取政策来创建安全状况文件

您可以提取政策(组织政策,包括自定义政策) 以及您配置的所有 Security Health Analytics 检测器,包括自定义检测器) 创建安全状况文件。您 无法从已拥有访问权限的组织、文件夹或项目中提取政策 应用了安全状况。

此命令只会提取您之前为 组织、文件夹或项目,并且不会从父级提取政策 文件夹或组织。

如果您已将 Security Command Center Enterprise 连接到 AWS,则此命令也会 提取 AWS 专用检测器(预览版)。

  1. 运行 gcloud scc postures extract 命令以提取现有 组织政策和 Security Health Analytics 检测器。

    gcloud scc postures extract \
    POSTURE_NAME --workload=WORKLOAD

    替换以下值:

    • POSTURE_NAME 是 安全状况。例如 organizations/ORGANIZATION_ID/locations/LOCATION/postures/POSTURE_ID

      • LOCATIONglobal

      • POSTURE_ID是 安全状况 是贵组织独有的“POSTURE_ID”现为 不能超过 63 个字符。

    • WORKLOAD 是项目、文件夹或组织 您要从中提取政策的对象工作负载为以下工作负载之一:

      • projects/PROJECT_NUMBER

      • folder/FOLDER_ID

      • organizations/ORGANIZATION_ID

    例如,要从 3589215982 文件夹(位于 6589215984 组织,请运行以下命令:

    gcloud scc postures extract organizations/6589215984/locations/global/postures/myStagingPosture workload=folder/3589215982 > posture.yaml

  2. 打开生成的 posture.yaml 文件进行修改。

  3. 完成以下任一操作:

    • 如果您可以在不进行任何更改的情况下使用安全状况(例如, 使用了某个 _essentials 模板之一),则可以创建 安全状况。有关说明,请参阅创建安全状况

    • 如果您需要修改任何政策集或政策,请完成修改 安全状况 YAML 文件

创建具有政策定义的 Terraform 资源

您可以通过创建 Terraform 配置来创建安全状况资源。

例如,您可以创建包含内置和自定义 组织政策限制条件以及内置和自定义 Security Health Analytics 检测器。 内置安全状况管理支持 AWS 专用的 Security Health Analytics 检测器目前为预览版

resource "google_securityposture_posture" "posture_example" {
  posture_id  = "<POSTURE_ID>"
  parent      = "organizations/<ORGANIZATION_ID>"
  location    = "global"
  state       = "ACTIVE"
  description = "a new posture"
  policy_sets {
    policy_set_id = "org_policy_set"
    description   = "set of org policies"
    policies {
      policy_id = "canned_org_policy"
      constraint {
        org_policy_constraint {
          canned_constraint_id = "storage.uniformBucketLevelAccess"
          policy_rules {
            enforce = true
          }
        }
      }
    }
  }
  policy_sets {
    policy_set_id = "sha_policy_set"
    description   = "set of sha policies"
    policies {
      policy_id = "sha_builtin_module"
      constraint {
        security_health_analytics_module {
          module_name             = "BIGQUERY_TABLE_CMEK_DISABLED"
          module_enablement_state = "ENABLED"
        }
      }
      description = "enable BIGQUERY_TABLE_CMEK_DISABLED"
    }
    policies {
      policy_id = "aws_sha_builtin_module"
      constraint {
        security_health_analytics_module {
          module_name             = "S3_BUCKET_LOGGING_ENABLED"
          module_enablement_state = "ENABLED"
        }
      }
      description = "enable S3_BUCKET_LOGGING_ENABLED"
    }
    policies {
      policy_id = "sha_custom_module"
      constraint {
        security_health_analytics_custom_module {
          display_name = "custom_SHA_policy"
          config {
            predicate {
              expression = "resource.rotationPeriod > duration('2592000s')"
            }
            custom_output {
              properties {
                name = "duration"
                value_expression {
                  expression = "resource.rotationPeriod"
                }
              }
            }
            resource_selector {
              resource_types = ["cloudkms.googleapis.com/CryptoKey"]
            }
            severity       = "LOW"
            description    = "Custom Module"
            recommendation = "Testing custom modules"
          }
          module_enablement_state = "ENABLED"
        }
      }
    }
  }
}

如需了解详情,请参阅 google_securityposture_posture

修改状况 YAML 文件

如需修改安全状况 YAML 文件,请完成以下步骤:

  1. 在文本编辑器中打开安全状况 YAML 文件。

  2. 在开头验证 namedescriptionstate 文件副本。

    name: organizations/ORGANIZATION_ID/locations/LOCATION/posture/POSTURE_ID
    description: DESCRIPTION
    state: STATE
    

    请参阅安全状况 YAML 文件,用于提供 这些键值对

    例如:

    name: organizations/3589215982/locations/global/posture/stagingAIPosture
    description: This posture applies to staging environments for Vertex AI.
    state: ACTIVE
    
  3. 自定义文件中的政策以满足您的要求:

    1. 查看现有政策及其价值。对于需要满足 环境专用信息,请将值 。以 ainotebooks.accessMode 政策为例, 安全 AI、扩展预定义状况、添加允许的访问模式 低于 policy_rules

        - policy_id: Define access mode for Vertex AI Workbench notebooks and instances
          compliance_standards:
          - standard: NIST SP 800-53
            control: AC-3(3)
          - standard: NIST SP 800-53
            control: AC-6(1)
          constraint:
            org_policy_constraint:
              canned_constraint_id: ainotebooks.accessMode
              policy_rules:
              - values:
                  allowed_values: service-account
          description: This list constraint defines the modes of access allowed to Vertex AI Workbench notebooks and instances where enforced. The allow or deny list can specify multiple users with the service-account mode or single-user access with the single-user mode. The access mode to be allowed or denied must be listed explicitly.
      
    2. 添加其他组织政策限制条件,如 组织政策限制条件。 如果您要定义自定义组织政策,请确保 YAML 文件 文件中包含自定义限制条件定义。您不能使用自定义 (例如使用 Google Cloud 控制台中)。 例如,您可以将 用于定义项目的 compute.trustedImageProjects 限制条件可以是 用于映像存储和磁盘实例化。如果您复制此示例, 请务必将 allowed_values 替换为适当的项目列表:

        - policy_id: Define projects with trusted images.
          compliance_standards:
          - standard:
            control:
          constraint:
            org_policy_constraint:
              canned_constraint_id: compute.trustedImageProjects
              policy_rules:
              - values:
                  allowed_values:
                  - project1
                  - project2
                  - projectN
          description: This is a complete list of projects from which images can be used.
      
    3. 添加其他 Security Health Analytics 检测器,例如 Security Health Analytics 发现结果中记录的检测器。 例如,添加 Security Health Analytics 检测器,以便在出现以下情况时创建发现结果: 项目未使用 API 密钥进行身份验证:

        - policy_id: API Key Exists
          constraint:
            securityHealthAnalyticsModule:
              moduleEnablementState: ENABLED
              moduleName: API_KEY_EXISTS
      

      再例如,添加一个 Security Health Analytics 自定义模块,用于检测 Vertex AI 数据集已加密:

        - policy_id: CMEK key is use for Vertex AI DataSet
          compliance_standards:
          - standard: NIST SP 800-53
            control: SC-12
          - standard: NIST SP 800-53
            control: SC-13
          constraint:
            security_health_analytics_custom_module:
              display_name: "vertexAIDatasetCMEKDisabled"
              config:
                customOutput: {}
                predicate:
                  expression: "!has(resource.encryptionSpec)"
                resource_selector:
                  resource_types:
                  - aiplatform.googleapis.com/Dataset
                severity: CRITICAL
                description: "When enforced, this detector finds whether a dataset is not encrypted using CMEK."
                recommendation: "Restore the SHA module. See https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview."
              module_enablement_state: ENABLED
      

      再举一个例子,对于 Security Command Center Enterprise, AWS 专用检测器(预览版):

      - policy_set_id: AWS policy set
        description:  Policy set containing AWS built-in SHA modules for securing S3 buckets.
        policies:
        - policy_id: S3 bucket replication enabled
          compliance_standards:
          - standard: NIST 800-53 R5
            control: SI-13(5)
          constraint:
            securityHealthAnalyticsModule:
              moduleEnablementState: ENABLED
              moduleName: S3_BUCKET_REPLICATION_ENABLED
          description: This control checks whether an Amazon S3 bucket has Cross-Region Replication enabled. The control fails if the bucket does not have Cross-Region Replication enabled or if Same-Region Replication is also enabled.
      
        - policy_id: S3 bucket logging enabled
          compliance_standards:
          - standard: NIST 800-53 R5
            control: SI-7(8)
          - standard: PCI DSS 3.2.1
            control: 10.3.1
          constraint:
            securityHealthAnalyticsModule:
              moduleEnablementState: ENABLED
              moduleName: S3_BUCKET_LOGGING_ENABLED
          description: AWS S3 Server Access Logging feature records access requests to storage buckets which is useful for security audits. By default, server access logging is not enabled for S3 buckets.
      

      如果您添加 AWS 专用的检测器,则必须部署安全状况 组织级别的权限。

  4. 将安全状况文件上传到含版本控制的源代码库, 您可以跟踪一段时间内对其所做的更改

创建状况

完成此任务,即可在 Security Command Center 中创建由 部署。如果您根据预定义的安全状况模板创建了安全状况, Google Cloud 控制台,系统会自动为 Google Cloud 控制台创建安全状况资源, 。

gcloud

  1. 运行 gcloud scc postures create 命令以使用 posture.yaml 文件。

    gcloud scc postures create \
    POSTURE_NAME --posture-from-file=POSTURE_FROM_FILE

    替换以下值:

    • POSTURE_NAME 是 安全状况。例如 organizations/ORGANIZATION_ID/locations/LOCATION/postures/POSTURE_ID

      • LOCATIONglobal

      • POSTURE_ID是 组织状况。“POSTURE_ID”现为 不能超过 63 个字符。

    • POSTURE_FROM_FILE 是指向以下各项的相对或绝对路径: posture.yaml 文件。

    例如,如需创建 ID 为 posture-example-1 的安全状况,请执行以下操作: 在组织下 organizations/3589215982,请运行 以下:

    gcloud scc postures create organizations/3589215982/locations/global/postures/posture-example-1 --posture-from-file=posture.yaml

    如果安全状况创建过程失败,请删除该安全状况。 请排查问题,然后重试。

  2. 如需验证是否已成功创建安全状况,请参阅查看 安全状况

如需将此安全状况应用于您的环境,您必须将 安全状况

Terraform

如果您针对以下项目创建了 Terraform 配置: 安全状况资源,您必须使用 基础设施即代码流水线

如需了解详情,请参阅 Google Cloud 上的 Terraform

部署安全状况

创建安全状况后,将其部署到项目、文件夹或组织 以便将政策及其定义应用于特定资源 并监控偏移情况。一个安全状况只能部署到 项目、文件夹或组织。

验证您的安全状况状态为 ACTIVE

部署安全状况时,会执行以下操作:

  • 组织政策和 Security Health Analytics 检测器的定义如下: 。

  • 自定义组织政策的自定义限制条件是使用 限制条件 ID,用于将状况修订版本 ID 作为限制条件的后缀包含在内 您在安全状况中定义的 ID。

  • 自定义模块的默认状态设为 Enabled

控制台

  1. 在 Google Cloud 控制台中,前往安全状况管理页面。

    前往“安全状况管理”

  2. 请确认您查看的是已激活 启用 Security Command Center 高级或企业层级。

  3. 安全状况标签页中,点击您要部署的安全状况。

  4. 安全状况详情页面中,选择您要查看的安全状况的修订版本 所需的资源

  5. 点击部署到节点

  6. 选择您要部署 状态。如果您的安全状况包含 AWS 专用的检测器, 则必须在组织级别部署安全状况(预览版)。

  7. 点击选择

  8. 对您创建的每个组织、文件夹或项目重复第 5 步到第 7 步 应用该安全状况的目标。

gcloud

运行 gcloud scc posture-deployments create 命令,将安全状况部署到 项目、文件夹或组织。

gcloud scc posture-deployments create \
POSTURE_DEPLOYMENT_NAME  --posture-name=POSTURE_NAME \
--posture-revision-id=POSTURE_REVISION_ID \
--target-resource=TARGET_RESOURCE

替换以下值:

  • POSTURE_DEPLOYMENT_NAME 是 安全状况部署格式为 organizations/ORGANIZATION_ID/locations/LOCATION/postureDeployments/POSTURE_DEPLOYMENT_ID.

    • LOCATIONglobal

    • POSTURE_DEPLOYMENT_ID 是该状况的唯一名称 部署。“POSTURE_DEPLOYMENT_ID”现为 不能超过 63 个字符。

  • --posture-name=POSTURE_NAME 是 部署状态。格式为 organizations/ORGANIZATION_ID/locations/LOCATION/postures/POSTURE_ID.

    • LOCATIONglobal

    • POSTURE_ID是 组织状况。

  • --posture-revision-id=POSTURE_REVISION_ID 是 您要部署的安全状况修订版本。您可以从响应中获取 创建安全状况查看安全状况时收到的消息。

  • --target-resource=TARGET_RESOURCE 是 您要在其中部署安全状况的组织、文件夹或项目。您可以 使用以下格式之一:

    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
    • projects/PROJECT_NUMBER

    如果您的安全状况包含 AWS 专用的检测器, 则必须在组织级别部署安全状况(预览版)。

例如,如需部署安全状况,请运行以下命令:

gcloud scc posture-deployments create
organizations/3589215982/locations/global/postureDeployments/postureDeployment123
--posture-name=organizations/3589215982/locations/global/postures/StagingAIPosture
--posture-revision-id=version1 --target-resource=projects/4589215982

您可以在命令运行完毕后查看状态信息。如果安全状况 部署创建过程失败,请删除部署, 请排查问题,然后重试。

Terraform

您可以创建一项 Terraform 资源来部署安全状况。

  resource "google_securityposture_posture_deployment" "posture_deployment_example" {
    posture_deployment_id          = "<POSTURE_DEPLOYMENT_ID>"
    parent = "organizations/<ORGANIZATION_ID>"
    location = "global"
    description = "a new posture deployment"
    target_resource = "<TARGET_RESOURCE>"
    posture_id = "<POSTURE_NAME>"
    posture_revision_id = "<POSTURE_REVISION_ID>"
  }

如需了解详情,请参阅 google_securityposture_posture_deployment

创建 Terraform 资源后,请使用您的 基础设施即代码流水线

查看安全状况和状况部署信息

您可以查看安全状况和状况部署信息,了解以下信息:

  • 要部署哪些安全状况以及在资源层次结构中的什么位置(组织、 项目和文件夹)

  • 安全状况的修订和状态

  • 安全状况部署的操作详细信息

查看状况

您可以查看安全状况的相关信息(例如状态和政策) 定义)。

控制台

  1. 在 Google Cloud 控制台中,前往安全状况管理页面。

    前往“安全状况管理”

  2. 选择您已激活 启用 Security Command Center 高级或企业层级。

  3. 安全状况标签页中,点击您要查看的安全状况。通过 状况详情。

gcloud

运行 gcloud scc postures describe 命令以查看您 创建。

gcloud scc postures describe POSTURE_NAME \
--revision-id=REVISION_ID

替换以下值:

  • POSTURE_NAME 是 安全状况。例如 organizations/ORGANIZATION_ID/locations/LOCATION/postures/POSTURE_ID

    • LOCATIONglobal

    • POSTURE_ID 是您的安全状况的字母数字名称 是贵组织独有的

  • revision-id=REVISION_ID 是一个可选标志, 指定要查看的安全状况的版本。如果没有添加此标记 返回最新版本。

例如,要查看名为 organizations/3589215982/locations/global/postures/posture-example-1 和修订版本 ID abcdefgh,请运行以下命令:

gcloud scc postures describe \
organizations/3589215982/locations/global/postures/posture-example-1
--revision-id=abcdefgh

查看有关安全状况部署操作的信息

运行 gcloud scc posture-operations describe 命令以查看 安全状况部署操作的操作详细信息。

gcloud scc posture-operations describe OPERATION_NAME

其中,OPERATION_NAME 是该资源的相对资源名称 操作。格式为 organizations/ORGANIZATION_ID/LOCATION/global/operations/OPERATION_ID. LOCATION 是您要在其中执行操作的位置 部署了安全状况部署您可以使用 通过使用 --async 参数实现 OPERATION_ID

例如,要查看名为 organizations/3589215982/locations/global/operations/operation-1694515698847-605272e4bcd7c-f93dade6-067467ae, 运行以下命令:

gcloud scc posture-operations describe
organizations/3589215982/locations/global/operations/operation-1694515698847-605272e4bcd7c-f93dade6-067467ae

查看有关安全状况部署的信息

您可以查看安全状况的部署位置以及部署状态。

控制台

  1. 在 Google Cloud 控制台中,前往安全状况管理页面。

    前往“安全状况管理”

  2. 请确认您查看的是已激活 启用 Security Command Center 高级或企业层级。

  3. 安全状况标签页中,点击您部署的安全状况。

  4. 点击部署标签页。您可以查看项目、文件夹和 部署安全状况的目标组织,以及 state.

gcloud

运行 gcloud scc posture-deployments describe 命令即可查看 有关已部署状况的信息

gcloud scc posture-deployments describe
POSTURE_DEPLOYMENT_NAME

其中,POSTURE_DEPLOYMENT_NAME 是 安全状况部署格式为 organizations/ORGANIZATION_ID/locations/LOCATION/postureDeployments/POSTURE_DEPLOYMENT_ID.

  • LOCATIONglobal

  • POSTURE_DEPLOYMENT_ID 是该状况的唯一名称 部署。

例如,要查看名为 organizations/3589215982/locations/global/postureDeployments/Posture-deployment-example-1, 运行以下命令:

gcloud scc posture-deployments describe \
organizations/3589215982/locations/global/postureDeployments/Posture-deployment-example-1

更新安全状况和状况部署

您可以更新以下内容:

  • 安全状况的状态。

  • 安全状况中的政策定义。

  • 要在其中部署安全状况的组织、文件夹或项目。

更新安全状况的政策定义

启用更多 Google Cloud 服务时,您可能需要更新安全状况, 部署其他资源,或需要额外的政策来满足新或 不断变化的法规遵从要求如果您要更新已部署的安全状况修订版本 此任务会创建一个新的安全状况修订版本。否则, 对您在运行 update 命令时指定的更新 ID 进行更新。

  1. 在文本编辑器中打开 YAML 文件。添加要更新的字段以及 及其价值观。如果您要更新政策集,请确保 文件包含您要包含在安全状况中的所有政策集, 包括已存在的政策集。如需查看相关说明,请参阅修改状况 YAML 文件

  2. 运行 gcloud scc postures update 命令以更新安全状况。

    gcloud scc postures update POSTURE_NAME \
    --posture-from-file=POSTURE_FROM_FILE \
    --revision-id=POSTURE_REVISION_ID --update-mask=UPDATE_MASK

    替换以下值:

    • POSTURE_NAME 是 安全状况。例如 organizations/ORGANIZATION_ID/locations/LOCATION/postures/POSTURE_ID

      • LOCATIONglobal

      • POSTURE_ID 是您的安全状况的字母数字名称 是贵组织独有的

    • POSTURE_FROM_FILE 是指向以下各项的相对或绝对路径: 包含您所做的更改的 posture.yaml 文件。

    • --revision-id=REVISION_ID 是 您要部署的安全状况修订版本。如果安全状况当前 部署后, Security Posture 服务会自动为 具有不同的修订版本 ID,并且修订版本 ID 包含在 输出。

    • --update-mask=UPDATE_MASK 是 您要更新的用户。此参数为可选参数。 您可以将 UPDATE_MASK 设置为以下其中一项 值:

      • * 或未指定:应用您对政策集所做的更改 以及安全状况说明
      • policy_sets:仅应用您对政策集所做的更改。
      • description:仅应用您对状况说明所做的更改。
      • policy_sets, description:应用您对 政策集和安全状况说明
      • state:仅应用状态更改。

    例如,如需更新具有名称 posture-example-1 且位于 组织organizations/3589215982/locations/global和 修订版本 ID 设置为 abcd1234,请运行以下命令:

    gcloud scc postures update organizations/3589215982/locations/global/posture-example-1 --posture-from-file=posture.yaml --revision-id=abcd1234 --update-mask=policy_sets

    如果状况更新过程失败,请排查错误,然后重试。

  3. 如需验证状况是否已成功更新,请参阅查看 安全状况

更改安全状况的状态

安全状况的状态决定了它是否可以部署到 项目、文件夹或组织。

安全状况可能具有以下状态:

  • DRAFT:安全状况修订版本尚未准备好进行部署。您不能将 处于 DRAFT 状态的安全状况修订版本。

  • ACTIVE:安全状况修订版本可供部署。您可以将 状态:从 ACTIVEDRAFTDEPRECATED.

  • DEPRECATEDDEPRECATED 安全状况修订版本无法部署到资源。 您必须删除安全状况的所有现有安全状况部署 。如果您想要重新部署安全状况 修订版本,则必须将其状态更改为 ACTIVE

如需更改安全状况的状态,请运行 gcloud scc postures update 命令。 在更新其他安全状况的同时,您无法更新安全状况 字段。有关如何运行 gcloud scc postures update 命令的说明, 请参阅修改状况 YAML 文件

更新安全状况部署

更新项目、文件夹或组织上的安全状况部署以部署 或部署新状况的新修订版本。

如果您要更新的安全状况修订版本包含自定义组织限制条件 使用 Google Cloud 控制台删除后,您将无法更新安全状况 同一安全状况 ID 进行部署。组织政策服务会阻止创建 一组具有相同名称的自定义组织限制条件。您必须改为 请创建该状况的新版本或使用其他状况 ID。

控制台

  1. 在 Google Cloud 控制台中,前往安全状况管理页面。

    前往“安全状况管理”

  2. 验证您查看的是已激活的组织 启用 Security Command Center 高级或企业层级。

  3. 安全状况标签页中,点击已更新的安全状况。

  4. 安全状况详情页面中,选择您要查看的安全状况的修订版本 已更新。

  5. 点击部署到节点

  6. 选择您要部署 状态。如果看到“部署已存在”的消息 删除部署,然后重试。 如果您的安全状况包含 AWS 专用的检测器,则必须 在组织级别部署安全状况(预览版)。

  7. 点击选择

gcloud

运行 gcloud scc posture-deployments update 命令以部署安全状况。

gcloud scc posture-deployments update \
POSTURE_DEPLOYMENT_NAME --description=DESCRIPTION \
--update-mask=UPDATE_MASK --posture-id=POSTURE_ID \
--posture-revision-id=POSTURE_REVISION_ID

替换以下值:

  • POSTURE_DEPLOYMENT_NAME 是 安全状况部署格式为 organizations/ORGANIZATION_ID/locations/LOCATION/postureDeployments/POSTURE_DEPLOYMENT_ID.

    • LOCATIONglobal

    • POSTURE_DEPLOYMENT_ID 是该状况的唯一名称 部署。

  • --description=DESCRIPTION 是可选说明 状态。

  • --posture-id=POSTURE_ID 是安全状况的名称 是贵组织独有的格式为 organizations/ORGANIZATION_ID/locations/LOCATION/postures/POSTURE_NAME

  • --posture-revision-id=POSTURE_REVISION_ID 是 您要部署的安全状况修订版本。您可以从响应中获取 创建安全状况查看 安全状况

  • --update-mask=UPDATE_MASK 是 您要更新的用户。此参数为可选参数。

例如,要使用 以下条件:

  • 组织:organizations/3589215982/locations/global
  • 安全状况部署 ID:postureDeploymentexample
  • 状况 ID:StagingAIPosture
  • 修订版本:version2

运行以下命令:

gcloud scc posture-deployments update
organizations/3589215982/locations/global/postureDeployments/postureDeploymentexample
--posture-id=organizations/3589215982/locations/global/postures/StagingAIPosture
--posture-revision-id=version2

您可以在命令运行完毕后查看状态信息。如果安全状况 部署更新过程失败,请删除部署, 请排查问题,然后重试。

监控姿势偏移

您可以在 安全状况。偏移是指 非折叠状态。例如,当管理员更改 政策定义,而不是更新安全状况部署。

Security Posture 服务会创建可供您查看的发现结果 Google Cloud 控制台或 gcloud CLI。

控制台

如果您已创建适用于 Vertex AI 工作负载的安全状况, 可以通过两种方式监控偏移:发现结果页面,以及 概览页面。对于其他所有折叠状态,您可以监控 发现结果页面。

如需监控发现结果页面的偏移情况,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往发现结果页面。

    前往“发现结果”

  2. 请确认您查看的是已激活 启用 Security Command Center 高级或企业层级。

  3. 快速过滤条件窗格中,选择状况违规发现结果。 您还可以在查询预览中输入以下过滤条件:

    state="ACTIVE" AND NOT mute="MUTED" AND finding_class="POSTURE_VIOLATION"
    
  4. 如需查看发现结果的详细信息,请点击相应发现结果。

概览页面(Vertex AI 工作负载)监控偏移情况 ):

  1. 在 Google Cloud 控制台中,前往概览页面。

    转到“概览”页面

  2. 请确认您查看的是已激活 启用 Security Command Center 高级或企业层级。

  3. 查看 AI 工作负载发现结果窗格。

    • 漏洞标签页会显示与 Security Health Analytics 自定义模块, Vertex AI 工作负载。
    • Policy Drift 标签页会显示与 Vertex AI 相关的任何偏移 您在安全状况中应用的组织政策。
  4. 如需查看发现结果的详细信息,请点击相应发现结果。

gcloud

在 gcloud CLI 中,如需查看偏移发现结果,请运行以下命令:

gcloud scc findings list ORGANIZATION_ID \
--filter="category=\"SECURITY_POSTURE_DRIFT\""

其中,ORGANIZATION_ID 是组织的 ID。

如需详细了解如何解决这些发现结果,请参阅 安全状况服务 发现结果。 您可以导出这些发现结果,方法与导出任何其他发现结果相同 来自 Security Command Center。如需了解详情,请参阅集成方式导出 Security Command Center 数据

停用偏移 您可以更新安全状况部署 同一状况 ID 和状况修订版本。

生成偏移结果以进行测试

部署安全状况后,您可以监控政策的偏差。接收者 要在测试环境中查看偏移结果,请完成以下操作:

  1. 在控制台中,转到组织政策页面。

    转到“组织政策”

  2. 修改您在已部署安全状况中定义的一项政策。对于 例如,如果您使用预定义的安全 AI 安全状况,就可以修改 限制对新的 Vertex AI Workbench 笔记本和 实例政策。

  3. 更改政策后,请点击设置政策

  4. 转到发现结果页面。

    前往“发现结果”

  5. 快速过滤条件窗格的来源显示名称部分, 选择 Security Posture。系统应该会显示与您的更改相关的发现结果 我会在五分钟内完成这项工作

  6. 如需查看发现结果的详细信息,请点击相应发现结果。

删除安全状况部署

如果安全状况部署未正确部署,您将无法再将其删除, 需要特定折叠状态,或者您不再需要特定折叠状态 分配给项目、文件夹或组织。如需删除安全状况部署,请执行以下操作: 安全状况部署必须处于以下状态之一:

  • ACTIVE
  • CREATE_FAILED
  • UPDATE_FAILED
  • DELETE_FAILED

如需验证安全状况部署的状态,请参阅查看安全状况部署的相关信息

删除安全状况部署时,您会将该安全状况从 资源(您的组织、文件夹或项目)。

不同类型政策的输出如下所示:

  • 删除包含自定义组织的安全状况部署时 那么自定义组织政策会被删除。不过,自定义的 限制继续存在。

  • 删除包含内置 Security Health Analytics 的安全状况部署时 检测器,Security Health Analytics 模块的最终状态取决于 部署所在的组织、文件夹或项目。

    • 如果您在文件夹或项目上部署了安全状况, Security Health Analytics 检测器会从父级组织继承状态 或文件夹
    • 如果您在组织级别部署了内置安全状况 Security Health Analytics 检测器还原为默认状态。有关 请参阅启用和停用检测器

运行 gcloud scc posture-deployments delete 命令以删除安全状况 部署。

gcloud scc posture-deployments delete
POSTURE_DEPLOYMENT_NAME

POSTURE_DEPLOYMENT_NAME 是 安全状况部署格式为 organizations/ORGANIZATION_ID/locations/LOCATION/postureDeployments/POSTURE_DEPLOYMENT_ID.

  • LOCATIONglobal

  • POSTURE_DEPLOYMENT_ID 是该状况的唯一名称 部署。

例如,要删除名称为 organizations/3589215982/locations/global/postureDeployments/posture-deployment-example-1, 运行以下命令:

gcloud scc posture-deployments delete \
organizations/3589215982/locations/global/postureDeployments/posture-deployment-example-1

删除状况

删除状况时,所有修订版本也会被删除。您无法删除 安全状况。您必须先删除安全状况部署,然后才能完成此任务。

运行 gcloud scc postures delete 命令可删除安全状况。

gcloud scc postures delete POSTURE_NAME

POSTURE_NAME 是 安全状况。例如 organizations/ORGANIZATION_ID/locations/LOCATION/postures/POSTURE_ID。安全状况 ID 是您的安全状况的字母数字名称,是您组织独有的名称。LOCATIONglobal

例如,要删除名称为 organizations/3589215982/locations/global/postures/posture-example-1, 运行以下命令:

gcloud scc postures delete \
organizations/3589215982/locations/global/postures/posture-example-1

后续步骤