套用工作負載更新

本頁說明如何啟用、查看及套用 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 權限。

必須具備下列權限:

啟用工作負載更新

啟用工作負載更新功能後,系統會建立 Assured Workloads 服務代理人。接著,系統會將 Assured Workloads 服務代理 (roles/assuredworkloads.serviceAgent) 角色授予目標 Assured Workloads 資料夾的這個服務代理。這個角色可讓服務服務專員檢查資料夾是否有可用的更新。

如要啟用工作負載更新功能,請完成下列步驟:

主控台

  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 必須是與目的地工作負載位置相符的端點,例如 https://us-west1-assuredworkloads.googleapis.com (us-west1 地區的地區性工作負載) 和 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. 在「Name」欄中,按一下要查看更新內容的 Assured Workloads 資料夾名稱。或者,如果資料夾有可用的更新,請按一下「Updates」欄中的連結。

  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 必須是與目標工作負載位置相符的端點,例如 https://us-central1-assuredworkloads.googleapis.com (us-central1 區域內的區域化工作負載) 和 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. 在「Name」欄中,按一下要查看更新內容的 Assured Workloads 資料夾名稱。或者,如果資料夾有可用的更新,請按一下「Updates」欄中的連結。

  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 必須是與目標工作負載位置相符的端點,例如 https://us-central1-assuredworkloads.googleapis.com (us-central1 區域內的區域化工作負載) 和 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,從 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
            }
          }
        }
      }
    }
  }
}