应用工作负载更新

本页面介绍了如何为 Assured Workloads 文件夹启用、查看和应用工作负载更新。Assured Workloads 会定期使用新 设置和一般改进(例如更新后的组织政策 限制条件值)更新其 控制软件包。借助此功能,您可以根据最新的可用配置评估当前的 Assured Workloads 文件夹配置,并选择应用任何建议的更新。

默认情况下,此功能会自动为新的 Assured Workloads 文件夹启用。对于现有文件夹,我们强烈建议 您按照以下步骤启用工作负载更新

此功能不会产生任何额外费用,也不会影响 行为 Assured Workloads 监控; 无论是否有可用的配置更新,当您的文件夹不符合其 当前配置时,您仍会收到提醒。

工作负载更新概览

创建新的 Assured Workloads 文件夹时,您选择的 控制软件包类型(例如 FedRAMP 中等风险级别)决定了应用于工作负载的各种配置 设置。其中一些设置以组织政策限制条件的形式在外部可见,而另一些设置仅适用于 Google 的内部系统。Assured Workloads 使用内部配置版本控制系统来维护每种控制软件包类型的更改。

当新的内部配置版本可用时,Assured Workloads 会将工作负载的配置与新的内部版本进行比较。系统会对所有差异进行分析,并将生成的增强功能作为更新提供给您,您可以将其应用于工作负载的配置。当此类增强功能包含对新服务的支持时,该服务所需的任何组织政策限制条件也可能会应用于您的工作负载。

Google 已验证可用的 Assured Workloads 更新是否符合工作负载控制软件包的要求。但是,您仍有责任查看每个可用更新,以验证其是否符合组织的法规或合规性要求。如需了解详情,请参阅 Assured Workloads 中的 责任共担

支持的更新类型

借助此功能,您可以查看 Assured Workloads 文件夹并应用以下类型的更新:

  • 组织政策限制条件:适用于您的工作负载且由 Assured Workloads 强制执行的任何组织政策限制条件都可以包含在工作负载更新中,但以下情况除外:

    • gcp.resourceLocations
    • gcp.restrictCmekCryptoKeyProjects
  • 控制软件包发布阶段:仅当给定控制软件包与您首次部署时处于同一发布阶段时,此功能才支持查看和应用更新。例如,如果您在控制软件包处于“预览版”发布阶段时为其部署工作负载,并且该控制软件包稍后正式发布,则必须先使用正式版重新部署工作负载,然后才能应用更新。如果您不重新部署工作负载,则在尝试应用更新后可能会遇到错误或违规情况。

准备工作

必需的 IAM 权限

如需启用、查看或应用工作负载更新,必须使用以下方法之一向调用者授予 IAM 权限: 预定义角色(包含一组更广泛的权限)或 自定义角色(限制为必要的最少 权限)。请注意,必需的 orgpolicy.policy.set 权限无法在自定义角色中使用。

必须拥有以下权限:

启用工作负载更新

启用工作负载更新后,系统会创建 Assured Workloads Service Agent 。然后,系统会向此服务代理授予目标 Assured Workloads 文件夹的 Assured Workloads Service Agent (roles/assuredworkloads.serviceAgent) 角色。借助此角色,服务代理可以检查文件夹中是否有任何可用更新。

如需启用工作负载更新,请完成以下步骤:

控制台

  1. 在 Google Cloud 控制台中,前往 Assured Workloads 页面。

    转到 Assured Workloads

  2. 在页面顶部的合规性更新简介 窗格中,点击启用合规性更新

  3. 在系统提示启用合规性更新?时,点击启用

现在,您的组织中的所有 Assured Workloads 文件夹都已启用工作负载更新。

REST

借助 enableComplianceUpdates 方法,Assured Workloads 可以向您通知 单个 Assured Workloads 文件夹的更新。

HTTP 方法、网址和查询参数:

PUT https://[ENDPOINT_URI]/v1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]:enableComplianceUpdates

将以下占位符值替换为您自己的值:

  • ENDPOINT_URI:Assured Workloads 服务端点 URI。 此 URI 必须是与目标 工作负载的位置匹配的端点,例如,对于 us-west1 区域中的 区域化工作负载,为 https://us-west1-assuredworkloads.googleapis.com;对于 美国境内的 多区域工作负载,为 https://us-assuredworkloads.googleapis.com
  • ORGANIZATION_ID:Assured Workloads 文件夹的组织 ID,例如 919698201234
  • LOCATION_ID:Assured Workloads 文件夹的位置,例如 us-west1us。它与工作负载的 data region 值相对应。
  • WORKLOAD_ID:要为其启用更新的 Assured Workloads 工作负载的 ID,例如 00-701ea036-7152-4780-a867-9f5

例如:

PUT https://us-west1-assuredworkloads.googleapis.com/v1/organizations/919698298765/locations/us-west1/workloads/00-701ea036-7152-4781-a867-9f5:enableComplianceUpdates

查看工作负载更新

如需查看工作负载更新,请完成以下步骤:

控制台

  1. 在 Google Cloud 控制台中,前往 Assured Workloads 页面。

    转到 Assured Workloads

  2. 名称 列中,点击要查看其更新的 Assured Workloads 文件夹的名称。或者,如果文件夹有可用更新,请点击更新 列中的链接。

  3. 可用更新下,点击查看可用更新

  4. 如果有可用的组织政策更新,则会在组织政策 标签页中显示。查看受影响的组织政策限制条件,然后点击查看更新 以预览更新将应用的限制条件设置。

REST

借助 organizations.locations.workloads.updates.list 方法,您可以列出 Assured Workloads 工作负载的可用更新。

HTTP 方法、网址和查询参数:

GET https://[ENDPOINT_URI]/v1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]/updates?page_size=[PAGE_SIZE]&page_token=[PAGE_TOKEN]

将以下占位符值替换为您自己的值:

  • ENDPOINT_URI:Assured Workloads 服务端点 URI。 此 URI 必须是与目标 工作负载的位置匹配的端点,例如,对于 us-central1 区域中的区域化工作负载,为 https://us-central1-assuredworkloads.googleapis.com;对于 美国境内的多区域工作负载,为 https://us-assuredworkloads.googleapis.com
  • ORGANIZATION_ID:Assured Workloads 文件夹的组织 ID,例如 919698201234
  • LOCATION_ID:Assured Workloads 文件夹的位置,例如 us-central1us。它与工作负载的 data region 值相对应。
  • WORKLOAD_ID:要为其列出可用更新的 Assured Workloads 工作负载的 ID,例如 00-701ea036-7152-4780-a867-9f5
  • PAGE_SIZE(可选):限制响应中返回的更新数量。 如果未指定,则默认值设置为 20。最大值为 100
  • PAGE_TOKEN(可选):当有一个或多个页面可用时, 系统会在 JSON 响应中返回下一页的令牌,例如 nextPageToken": "chEKD4IBDAid1e-3BhCo68f6AQ。如果未指定,则不会返回后续页面。

例如:

GET https://us-central1-assuredworkloads.googleapis.com/v1/organizations/919698298765/locations/us-west1/workloads/00-701ea036-7152-4781-a867-9f5/updates

如果成功,您将收到类似于以下示例的 JSON 响应:

{
  "workloadUpdates": [
    {
      "name": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/5320de45-6c98-41af-b4a0-2ef930b124c3",
      "state": "AVAILABLE",
      "createTime": "2024-10-01T16:33:10.154368Z",
      "updateTime": "2024-10-01T16:33:10.154368Z",
      "details": {
        "orgPolicyUpdate": {
          "appliedPolicy": {
            "resource": "folders/376585579673",
            "constraint": "constraints/gcp.resourceLocations",
            "rule": {
              "values": {
                "allowedValues": [
                  "us-central1",
                ]
              }
            }
          },
          "suggestedPolicy": {
            "resource": "folders/376585579673",
            "constraint": "constraints/gcp.resourceLocations",
            "rule": {
              "values": {
                "allowedValues": [
                  "us-central1",
                  "us-central2",
                  "us-west1",
                ]
              }
            }
          }
        }
      }
    }
  ],
  "nextPageToken": "chEKD4IBDAid1e-3BhCo68f6AQ"
}

应用工作负载更新

向工作负载应用工作负载更新是一项长时间运行的操作。如果在开始操作后和完成操作之前工作负载配置发生更改,则可能会发生错误。

此外,系统还会根据最新的可用配置定期重新评估工作负载更新。在这种情况下,您应用更新后可能会立即有其他更新可用。

如需应用工作负载更新,请完成以下步骤:

控制台

  1. 在 Google Cloud 控制台中,前往 Assured Workloads 页面。

    转到 Assured Workloads

  2. 名称 列中,点击要查看其更新的 Assured Workloads 文件夹的名称。或者,如果文件夹有可用更新,请点击更新 列中的链接。

  3. 可用更新下,点击查看可用更新

  4. 如果有可用的组织政策更新,则会在组织政策 标签页中显示。查看受影响的组织政策限制条件,然后点击查看更新 以预览更新后的限制条件设置。

  5. 点击更新组织政策 以应用更新。

长时间运行的更新操作开始,文件夹的新组织政策设置将应用。

REST

借助 organizations.locations.workloads.updates.apply 方法,您可以为 Assured Workloads 工作负载应用指定的更新。

HTTP 方法、网址和查询参数:

POST https://[ENDPOINT_URI]/v1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]/updates/[UPDATE_ID]:apply

将以下占位符值替换为您自己的值:

  • ENDPOINT_URI:Assured Workloads 服务端点 URI。 此 URI 必须是与目标 工作负载的位置匹配的端点,例如,对于 us-central1 区域中的区域化工作负载,为 https://us-central1-assuredworkloads.googleapis.com;对于 美国境内的多区域工作负载,为 https://us-assuredworkloads.googleapis.com
  • ORGANIZATION_ID:Assured Workloads 文件夹的组织 ID,例如 919698201234
  • LOCATION_ID:Assured Workloads 文件夹的位置,例如 us-central1us。它与工作负载的 data region 值相对应。
  • WORKLOAD_ID:要为其列出可用更新的 Assured Workloads 工作负载的 ID,例如 00-701ea036-7152-4780-a867-9f5
  • UPDATE_ID:要应用的更新的 ID,从 方法返回的可用更新列表中选择,例如 edb84871-833b-45ec-9c00-c9b5c19d2d87organizations.locations.workloads.updates.list

请求正文:

{
  "name":"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]/updates/[UPDATE_ID]",
  "action": "APPLY"
}

例如:

POST https://us-central1-assuredworkloads.googleapis.com/v1/organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87:apply

{
  "name": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87",
  "action": "APPLY"
}

如果成功,您将收到类似于以下示例的 JSON 响应:

{
  "name": "organizations/919698298765/locations/us-central1/operations/647b1c77-b9a5-45d2-965e-70a1e867fe5b",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.assuredworkloads.v1.ApplyWorkloadUpdateOperationMetadata",
    "update_name": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87",
    "create_time": "2024-10-01T14:34:30.290896Z",
    "action": "APPLY"
  }
}

如需获取长时间运行的更新操作的状态,请使用 JSON 响应中 name 值中的操作 ID。以上一个示例为例,操作 ID 为 647b1c77-b9a5-45d2-965e-70a1e867fe5b。然后发出以下请求,将占位符值替换为您自己的值:

GET https://[ENDPOINT_URI]/v1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/operations/[OPERATION_ID]

例如:

GET https://us-central1-assuredworkloads.googleapis.com/v1/organizations/919698298765/locations/us-central1/operations/647b1c77-b9a5-45d2-965e-70a1e867fe5b

如果成功,您将收到类似于以下示例的 JSON 响应:

{
  "name": "organizations/919698298765/locations/us-central1/operations/647b1c77-b9a5-45d2-965e-70a1e867fe5b",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.assuredworkloads.v1.ApplyWorkloadUpdateOperationMetadata",
    "updateName": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87",
    "createTime": "2024-10-01T13:33:09Z"
    "action": "APPLY"
  },
  "done": true
  "response": {
    "@type": "type.googleapis.com/google.cloud.assuredworkloads.v1.ApplyWorkloadUpdateResponse",
    "appliedUpdate": {
      "name": "organizations/531459884741/locations/us-central1/workloads/00-0b328e90-da70-431e-befc-a4a/updates/db556beb-ce66-4260-bd3b-28115f1ec300",
      "state": "APPLIED",
      "createTime": "2024-10-01T14:31:24.310323Z",
      "updateTime": "2024-10-01T14:34:30.855792Z",
      "details": {
        "orgPolicyUpdate": {
          "appliedPolicy": {
            "resource": "folders/196232301850",
            "constraint": "constraints/compute.disableInstanceDataAccessApis",
            "rule": {
              "enforce": true
            }
          },
          "suggestedPolicy": {
            "resource": "folders/196232301850",
            "constraint": "constraints/compute.disableInstanceDataAccessApis",
            "rule": {
              "enforce": false
            }
          }
        }
      }
    }
  }
}