套用工作負載更新

本頁說明如何啟用、查看及套用 Assured Workloads 資料夾的工作負載更新。Assured Workloads 會定期更新控制項套件,加入新設定和一般改善項目,例如更新的組織政策限制值。這項功能可讓您根據最新的可用設定,評估目前的 Assured Workloads 資料夾設定,並選擇套用任何建議的更新。

這項功能預設會為新的 Assured Workloads 資料夾自動啟用。如果是現有資料夾,強烈建議您按照步驟啟用工作負載更新

這項功能不會產生額外費用,也不會影響 Assured Workloads 監控的運作方式;無論是否有可用的設定更新,只要資料夾不符合目前的設定,您都會收到警示。

工作負載更新總覽

建立新的 Assured Workloads 資料夾時,您選取的控管套件類型 (例如 FedRAMP Moderate) 會決定套用至工作負載的各種設定。部分設定會以機構政策限制的形式對外顯示,但其他設定僅適用於 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.getIamPolicyresourcemanager.folders.setIamPolicy目標資料夾,即可啟用更新。 資料夾 IAM 管理員 (roles/resourcemanager.folderIamAdmin) 角色和其他高權限預先定義的角色,都具備這些權限。

啟用工作負載更新

啟用工作負載更新後,系統會建立 Assured Workloads 服務代理。然後,系統會為這個服務代理程式授予目標 Assured Workloads 資料夾的「Assured Workloads 服務代理程式」 (roles/assuredworkloads.serviceAgent) 角色。服務專員可透過這個角色,檢查資料夾是否有可用的更新。

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

控制台

  1. 前往 Google Cloud 控制台的「Assured Workloads」頁面。

    前往 Assured Workloads

  2. 在「Introducing Compliance Updates」(推出法規遵循更新) 窗格的頁面頂端, 按一下「Enable compliance updates」(啟用法規遵循更新)

  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 資料夾名稱。或者,如果資料夾有可用的更新,請按一下「更新」欄中的連結。

  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 資料夾名稱。或者,如果資料夾有可用的更新,請按一下「更新」欄中的連結。

  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
            }
          }
        }
      }
    }
  }
}