应用工作负载更新
本页介绍了如何为 Assured Workloads 文件夹启用、查看和应用工作负载更新。Assured Workloads 会定期更新其控制软件包,其中包含新的设置和一般改进,例如更新后的组织政策限制值。借助此功能,您可以根据最新的可用配置评估当前的 Assured Workloads 文件夹配置,并选择应用任何建议的更新。
默认情况下,系统会自动为新的“Assured Workloads”文件夹启用此功能。对于现有文件夹,我们强烈建议您按照步骤启用工作负载更新。
此功能不会产生任何额外费用,也不会影响 Assured Workloads Monitoring 的行为;无论是否有可用的配置更新,当文件夹不符合当前配置时,您仍会收到提醒。
工作负载更新概览
创建新的 Assured Workloads 文件夹时,您选择的控制软件包类型(例如 FedRAMP 中等风险级别)决定了应用于工作负载的各种配置设置。其中一些设置以组织政策限制条件的形式在外部可见,而另一些设置仅适用于 Google 的内部系统。Assured Workloads 使用内部配置版本控制系统来维护每种控制软件包类型的更改。
当新的内部配置版本可用时,Assured Workloads 会将工作负载的配置与新的内部版本进行比较。系统会分析所有差异,并将由此带来的增强功能作为更新提供给您,以便您将其应用于工作负载的配置。如果此类增强功能包括对新服务的支持,则该服务所需的任何组织政策限制条件也可能会应用于您的工作负载。
Google 已验证可用的 Assured Workloads 更新,确保其符合工作负载的控制措施套餐的要求。不过,您仍有责任检查每个可用的更新,以验证其是否符合贵组织的法规或合规性要求。如需了解详情,请参阅 Assured Workloads 中的责任共担。
支持的更新类型
此功能支持在 Assured Workloads 文件夹中查看和应用以下类型的更新:
组织政策限制条件:适用于工作负载且由 Assured Workloads 强制执行的任何组织政策限制条件都可以包含在工作负载更新中,但以下情况除外:
gcp.resourceLocationsgcp.restrictCmekCryptoKeyProjects
准备工作
- 确定要为其启用更新的 Assured Workloads 文件夹的资源 ID。
- 对目标“Assured Workloads”文件夹和工作负载分配或验证 IAM 权限。
必需的 IAM 权限
如需启用、查看或应用工作负载更新,必须使用以下方法之一向调用者授予 IAM 权限:预定义角色(包含一组更广泛的权限)或自定义角色(限制为必要的最少权限)。请注意,必需的 orgpolicy.policy.set 权限无法在自定义角色中使用。
必须拥有以下权限:
assuredworkloads.workload.update,以启用更新。 此权限包含在 Assured Workloads Editor (roles/assuredworkloads.editor) 和 Assured Workloads Admin (roles/assuredworkloads.admin) 预定义角色中。- 目标工作负载的
assuredworkloads.updates.list权限,以查看可用的更新。此权限包含在 Assured Workloads Reader (roles/assuredworkloads.reader)、Assured Workloads Editor (roles/assuredworkloads.editor) 和 Assured Workloads Admin (roles/assuredworkloads.admin) 预定义角色中。 assuredworkloads.updates.update目标工作负载以应用可用更新。此权限包含在 Assured Workloads Editor (roles/assuredworkloads.editor) 和 Assured Workloads Admin (roles/assuredworkloads.admin) 预定义角色中。assuredworkloads.operations.get目标工作负载,以获取更新操作的状态和结果。此权限包含在 Assured Workloads Reader (roles/assuredworkloads.reader)、Assured Workloads Editor (roles/assuredworkloads.editor) 和 Assured Workloads Admin (roles/assuredworkloads.admin) 预定义角色中。orgpolicy.policy.get,以应用可用的更新。组织政策查看者 (roles/orgpolicy.policyViewer) 和组织政策管理员 (roles/orgpolicy.policyAdmin) 预定义角色均包含此权限。orgpolicy.policy.set,以应用可用的更新。自定义角色不支持此权限,但组织政策管理员 (roles/orgpolicy.policyAdmin) 预定义角色包含此权限。- 目标文件夹的
resourcemanager.folders.getIamPolicy和resourcemanager.folders.setIamPolicy权限,以启用更新。 文件夹 IAM 管理员 (roles/resourcemanager.folderIamAdmin) 角色和其他权限较高的预定义角色中包含这些权限。
启用工作负载更新
启用工作负载更新后,系统会创建 Assured Workloads 服务代理。然后,系统会向此服务代理授予目标 Assured Workloads 文件夹的 Assured Workloads Service Agent (roles/assuredworkloads.serviceAgent) 角色。此角色使服务代理能够检查文件夹中是否有任何可用的更新。
如需启用工作负载更新,请完成以下步骤:
控制台
在 Google Cloud 控制台中,前往 Assured Workloads 页面。
在页面顶部的合规性更新简介窗格中,点击启用合规性更新。
当系统提示启用合规性更新?时,点击启用。
现在,您的组织中的所有 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区域中的区域化工作负载,该 URI 应为https://us-west1-assuredworkloads.googleapis.com;对于美国的多区域工作负载,该 URI 应为https://us-assuredworkloads.googleapis.com。 - ORGANIZATION_ID:Assured Workloads 文件夹的组织 ID,例如
919698201234。 - LOCATION_ID:Assured Workloads 文件夹的位置,例如
us-west1或us。它对应于工作负载的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查看工作负载更新
如需查看工作负载更新,请完成以下步骤:
控制台
在 Google Cloud 控制台中,前往 Assured Workloads 页面。
在名称列中,点击要查看更新的 Assured Workloads 文件夹的名称。或者,如果文件夹有可用更新,请点击更新列中的链接。
在可用更新下方,点击查看可用更新。
如果组织政策有更新,系统会在组织政策标签页中显示。查看受影响的组织政策限制条件,然后点击查看更新,预览更新将应用的限制条件设置。
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区域中的区域化工作负载,该 URI 为https://us-central1-assuredworkloads.googleapis.com;对于美国的多区域工作负载,该 URI 为https://us-assuredworkloads.googleapis.com。 - ORGANIZATION_ID:Assured Workloads 文件夹的组织 ID,例如
919698201234。 - LOCATION_ID:Assured Workloads 文件夹的位置,例如
us-central1或us。它对应于工作负载的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" }
应用工作负载更新
向工作负载应用工作负载更新是一项长时间运行的操作。如果工作负载配置在操作开始后且完成前发生更改,可能会出现错误。
此外,系统还会根据最新的可用配置定期重新评估工作负载更新。在这种情况下,您应用更新后,系统可能会立即提供其他更新。
如需应用工作负载更新,请完成以下步骤:
控制台
在 Google Cloud 控制台中,前往 Assured Workloads 页面。
在名称列中,点击要查看更新的 Assured Workloads 文件夹的名称。或者,如果文件夹有可用更新,请点击更新列中的链接。
在可用更新下方,点击查看可用更新。
如果组织政策有更新,系统会在组织政策标签页中显示。查看受影响的组织政策限制条件,然后点击查看更新以预览更新后的限制条件设置。
点击更新组织政策以应用更新。
系统会开始执行长时间运行的更新操作,并应用文件夹的新组织政策设置。
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区域中的区域化工作负载,该 URI 为https://us-central1-assuredworkloads.googleapis.com;对于美国的多区域工作负载,该 URI 为https://us-assuredworkloads.googleapis.com。 - ORGANIZATION_ID:Assured Workloads 文件夹的组织 ID,例如
919698201234。 - LOCATION_ID:Assured Workloads 文件夹的位置,例如
us-central1或us。它对应于工作负载的data region值。 - WORKLOAD_ID:要列出可用更新的 Assured Workloads 工作负载的 ID,例如
00-701ea036-7152-4780-a867-9f5。 - UPDATE_ID:要应用更新的 ID,从
organizations.locations.workloads.updates.list方法返回的可用更新列表中选择,例如edb84871-833b-45ec-9c00-c9b5c19d2d87。
请求正文:
{ "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 } } } } } } }