套用 CMEK 機構政策

Google Cloud 提供兩種組織政策限制,有助於確保整個機構的 CMEK 用量:

  • constraints/gcp.restrictNonCmekServices 可用於要求 CMEK 保護。
  • constraints/gcp.restrictCmekCryptoKeyProjects 用於限制用於 CMEK 保護措施的 Filestore 金鑰。

CMEK 組織政策僅適用於在支援 Google Cloud 服務中新建立的資源。

如需進一步瞭解這項功能的運作方式,請參閱 Google Cloud 資源階層CMEK 組織政策

使用機構政策控管 CMEK 使用情形

Filestore 會整合 CMEK 機構政策限制,讓您為機構中的 Filestore 資源指定加密法規遵循要求。

這項整合功能可讓您執行下列操作:

下列章節將說明這兩項工作。

要求所有 Filestore 資源都使用 CMEK

常見的政策是要求使用 CMEK 來保護機構中的所有資源。您可以使用 constraints/gcp.restrictNonCmekServices 限制在 Filestore 中強制執行這項政策。

如果設定這項機構政策,所有未指定 Cloud KMS 金鑰的資源建立要求都會失敗。

設定這項政策後,它只會套用至專案中的新資源。任何未設定 Cloud KMS 金鑰的現有資源,仍會繼續存在,且可順利存取。

主控台

  1. 開啟「機構政策」頁面。

    前往「機構政策」

  2. 在「Filter」欄位中輸入 constraints/gcp.restrictNonCmekServices,然後按一下「Restrict which services may create resources without CMEK」

  3. 按一下 「管理政策」

  4. 在「Edit policy」(編輯政策) 頁面上,選取「Override parent's policy」(覆寫父項政策)

  5. 選取「新增規則」

  6. 在「政策值」部分,選取「自訂」

  7. 在「政策類型」部分,選取「拒絕」

  8. 在「自訂值」欄位中輸入 is:file.googleapis.com

  9. 依序點選「完成」和「設定政策」

gcloud

  1. 建立臨時檔案 /tmp/policy.yaml 來儲存政策:

      name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices
      spec:
        rules:
        - values:
            deniedValues:
            - is:file.googleapis.com
    

    PROJECT_ID 替換為您要使用的專案 ID。

  2. 執行 org-policies set-policy 指令:

      gcloud org-policies set-policy /tmp/policy.yaml
    

如要確認政策已成功套用,您可以嘗試在專案中建立執行個體或備份。除非指定 Cloud KMS 金鑰,否則程序會失敗。

限制 Filestore 專案的 Cloud KMS 金鑰

您可以使用 constraints/gcp.restrictCmekCryptoKeyProjects 限制,限制可用於保護 Filestore 專案中資源的 Cloud KMS 金鑰。

您可以指定規則,例如:「對於 projects/my-company-data-project 中的所有 Filestore 資源,這個專案中使用的 Cloud KMS 金鑰必須來自 projects/my-company-central-keys 或 projects/team-specific-keys。」

主控台

  1. 開啟「機構政策」頁面。

    前往「機構政策」

  2. 在「Filter」欄位中輸入 constraints/gcp.restrictCmekCryptoKeyProjects,然後按一下「Restrict which projects may supply KMS CryptoKeys for CMEK」

  3. 按一下 「管理政策」

  4. 在「Edit policy」(編輯政策) 頁面上,選取「Override parent's policy」(覆寫父項政策)

  5. 選取「新增規則」

  6. 在「政策值」部分,選取「自訂」

  7. 在「政策類型」中,選取「允許」

  8. 在「自訂值」欄位中輸入以下內容:

    under:projects/KMS_PROJECT_ID
    

    KMS_PROJECT_ID 替換為您要使用的 Cloud KMS 金鑰所在的專案 ID。

    例如 under:projects/my-kms-project

  9. 依序點選「完成」和「設定政策」

gcloud

  1. 建立臨時檔案 /tmp/policy.yaml 來儲存政策:

      name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects
      spec:
        rules:
        - values:
            allowedValues:
            - under:projects/KMS_PROJECT_ID
    

    其中:

    • PROJECT_ID 是您要使用的專案 ID。
    • KMS_PROJECT_ID 是您要使用的 Cloud KMS 金鑰所在的專案 ID。
  2. 執行 org-policies set-policy 指令:

      gcloud org-policies set-policy /tmp/policy.yaml
    

如要確認政策已成功套用,您可以嘗試使用不同專案中的 Cloud KMS 金鑰建立執行個體或備份。程序將會失敗。

限制

設定機構政策時,請注意下列限制。

CMEK 適用性

提醒您,基本傳統硬碟和基本固態硬碟服務層級不支援 CMEK。基於這些限制的定義方式,如果您套用要求使用 CMEK 的機構政策,然後嘗試在相關聯的專案中建立基本層級的執行個體或備份,這些建立作業就會失敗。

現有資源

現有資源不受新建立的機構政策約束。舉例來說,如果您建立的機構政策要求您為每項 create 作業指定 CMEK,則政策不會追溯套用至現有的執行個體和備份鏈結。即使沒有 CMEK,這些資源仍可存取。如要將政策套用至現有資源 (無論是執行個體還是備份鏈結),您必須先替換這些資源。

設定機構政策所需的權限

您可能很難取得設定或更新機構政策的權限,以便進行測試。您必須具備機構政策管理員角色,且只能在機構層級授予此角色。

雖然必須在機構層級授予角色,但仍可指定只套用於特定專案或資料夾的政策。

Cloud KMS 金鑰輪替的影響

與資源相關聯的 Cloud KMS 金鑰輪替時,Filestore 不會自動輪替資源的加密金鑰。

  • 現有執行個體和備份中的所有資料,都會繼續受到當初建立時採用的金鑰版本保護。

  • 任何新建立的執行個體或備份都會使用建立時指定的主要金鑰版本。

輪替金鑰時,系統不會自動重新加密使用先前金鑰版本加密的資料。如要使用最新的金鑰版本加密資料,您必須先解密資源中的舊金鑰版本,然後再使用新金鑰版本重新加密相同的資源。此外,輪替金鑰不會自動停用或刪除任何現有的金鑰版本。

如要進一步瞭解如何執行這些工作,請參閱下列指南:

Filestore 對 Cloud KMS 金鑰的存取權

在符合下列條件的情況下,Filestore 會將 Cloud KMS 金鑰判定為可供使用及存取:

  • 金鑰已啟用
  • Filestore 服務帳戶具備該金鑰的加密和解密權限

後續步驟