套用 CMEK 機構政策

Google Cloud 提供兩項機構政策限制,可在整個機構中強制使用 CMEK:

  • constraints/gcp.restrictNonCmekServices 用於要求 CMEK 保護。

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

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

如要進一步瞭解運作方式,請參閱Google Cloud 資源階層CMEK 組織政策

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

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

整合後,您就能執行下列操作:

為所有 NetApp Volumes 資源要求使用 CMEK

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

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

設定這項政策後,只會套用至專案中的新資源。如果現有資源未設定 Cloud KMS 金鑰,仍可繼續存在並正常存取。

按照下列操作說明,使用 Google Cloud 控制台或 Google Cloud CLI,強制對 NetApp Volumes 資源使用 CMEK。

主控台

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

    前往「機構政策」

  2. 在「Filter」(篩選器) 欄位中輸入 constraints/gcp.restrictNonCmekServices,然後按一下「Restrict which services may create resources without CMEK」(限制哪些服務可以在沒有 CMEK 的情況下建立資源)

  3. 按一下「管理政策」圖示

  4. 在「編輯政策」頁面中,選取「覆寫上層政策」

  5. 選取「新增規則」

  6. 在「Policy values」(政策值) 底下,選取 [Custom] (自訂)。

  7. 在「政策類型」下方,選取「拒絕」

  8. 在「Custom values」(自訂值) 欄位中輸入 is:netapp.googleapis.com

  9. 依序按一下「完成」和「設定政策」

gcloud

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

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

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

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

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

如要確認政策是否已成功套用,請嘗試在專案中建立儲存集區。除非您指定 Cloud KMS 金鑰,否則程序會失敗。

限制 NetApp Volumes 專案的 Cloud KMS 金鑰

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

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

請按照下列操作說明,使用 Google Cloud 控制台或 Google Cloud CLI,為 NetApp Volumes 專案強制執行 Cloud KMS 金鑰。

主控台

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

    前往「機構政策」

  2. 在「Filter」(篩選器) 欄位中輸入 constraints/gcp.restrictCmekCryptoKeyProjects,然後按一下「Restrict which projects may supply KMS CryptoKeys for CMEK」(限制哪些專案可提供 CMEK 的 KMS CryptoKey)

  3. 按一下「管理政策」圖示

  4. 在「編輯政策」頁面中,選取「覆寫上層政策」

  5. 選取「新增規則」

  6. 在「Policy values」(政策值) 底下,選取 [Custom] (自訂)。

  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 金鑰建立儲存集區。程序會失敗。

限制

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

現有資源

現有資源不受新建立的機構政策影響。 舉例來說,如果您建立機構政策,要求您為每個 create 作業指定 CMEK,這項政策不會追溯套用至現有執行個體和備份鏈結。即使沒有 CMEK,您仍可存取這些資源。如要將政策套用至現有資源 (例如儲存集區),請替換這些資源。

設定機構政策所需的權限

您必須在機構層級獲授機構政策管理員角色,才能設定或更新機構政策以進行測試。

您還是可以指定只適用於特定專案或資料夾的政策。

Cloud KMS 金鑰輪替的影響

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

  • 現有儲存集區中的所有資料,仍會受到當初建立時採用的金鑰版本保護。

  • 新建立的儲存集區會使用建立時指定的主要金鑰版本。

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

如需如何執行上述各項工作的詳細操作說明,請參閱下列指南:

NetApp Volumes 對 Cloud KMS 金鑰的存取權

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

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

後續步驟