套用工作負載更新
本頁說明如何啟用、查看及套用 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
事前準備
- 找出要啟用更新的 Assured Workloads 資料夾的資源 ID。
- 在目標 Assured Workloads 資料夾和工作負載上指派或驗證 IAM 權限。
必要的 IAM 權限
如要啟用、查看或套用工作負載更新,呼叫端必須使用包含更廣泛權限集合的預先定義角色,或限制為必要最低權限的自訂角色,才能授予 IAM 權限。請注意,自訂角色無法使用必要的 orgpolicy.policy.set
權限。
必須具備下列權限:
assuredworkloads.workload.update
在目標工作負載上啟用更新功能。這項權限包含在Assured Workloads 編輯者 (roles/assuredworkloads.editor
) 和 Assured Workloads 管理員 (roles/assuredworkloads.admin
) 預先定義的角色中。assuredworkloads.updates.list
在目標工作負載上,查看可用的更新。此權限包含在 Assured Workloads 讀取者 (roles/assuredworkloads.reader
)、Assured Workloads 編輯者 (roles/assuredworkloads.editor
) 和 Assured Workloads 管理員 (roles/assuredworkloads.admin
) 預先定義的角色中。assuredworkloads.updates.update
在目標工作負載上套用可用的更新。這項權限包含在 Assured Workloads 編輯者 (roles/assuredworkloads.editor
) 和 Assured Workloads 管理員 (roles/assuredworkloads.admin
) 預先定義的角色中。assuredworkloads.operations.get
在目標工作負載上,以便取得更新作業的狀態和結果。此權限包含在 Assured Workloads 讀取者 (roles/assuredworkloads.reader
)、Assured Workloads 編輯者 (roles/assuredworkloads.editor
) 和 Assured Workloads 管理員 (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 服務代理 (roles/assuredworkloads.serviceAgent
) 角色授予目標 Assured Workloads 資料夾的這個服務代理。這個角色可讓服務服務專員檢查資料夾是否有可用的更新。
如要啟用工作負載更新功能,請完成下列步驟:
主控台
前往 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 必須是與目的地工作負載位置相符的端點,例如
https://us-west1-assuredworkloads.googleapis.com
(us-west1
地區的地區性工作負載) 和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」(保證工作負載) 頁面。
在「Name」欄中,按一下要查看更新內容的 Assured Workloads 資料夾名稱。或者,如果資料夾有可用的更新,請按一下「Updates」欄中的連結。
在「有可用的更新」下方,按一下「查看可用的更新」。
如果有可用的更新,系統會在「組織政策」分頁中顯示。查看受影響的組織政策限制條件,然後按一下「查看更新」,預覽更新會套用的限制條件設定。
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 必須是與目標工作負載位置相符的端點,例如
https://us-central1-assuredworkloads.googleapis.com
(us-central1
區域內的區域化工作負載) 和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」(保證工作負載) 頁面。
在「Name」欄中,按一下要查看更新內容的 Assured Workloads 資料夾名稱。或者,如果資料夾有可用的更新,請按一下「Updates」欄中的連結。
在「有可用的更新」下方,按一下「查看可用的更新」。
如果有可用的更新,系統會在「組織政策」分頁中顯示。查看受影響的組織政策限制,然後按一下「查看更新」,預覽更新後的限制設定。
按一下「更新機構政策」套用更新。
長時間執行的更新作業會開始,並套用資料夾的新組織政策設定。
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 必須是與目標工作負載位置相符的端點,例如
https://us-central1-assuredworkloads.googleapis.com
(us-central1
區域內的區域化工作負載) 和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 } } } } } } }