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。
主控台
開啟「機構政策」頁面。
在「Filter」(篩選器) 欄位中輸入
constraints/gcp.restrictNonCmekServices
,然後按一下「Restrict which services may create resources without CMEK」(限制哪些服務可以在沒有 CMEK 的情況下建立資源)。按一下「管理政策」圖示
。在「編輯政策」頁面中,選取「覆寫上層政策」。
選取「新增規則」。
在「Policy values」(政策值) 底下,選取 [Custom] (自訂)。
在「政策類型」下方,選取「拒絕」。
在「Custom values」(自訂值) 欄位中輸入
is:netapp.googleapis.com
。依序按一下「完成」和「設定政策」。
gcloud
建立暫存檔案
/tmp/policy.yaml
來儲存政策:name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:netapp.googleapis.com
將 PROJECT_ID 替換為要使用的專案 ID。
執行
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 金鑰。
主控台
開啟「機構政策」頁面。
在「Filter」(篩選器) 欄位中輸入
constraints/gcp.restrictCmekCryptoKeyProjects
,然後按一下「Restrict which projects may supply KMS CryptoKeys for CMEK」(限制哪些專案可提供 CMEK 的 KMS CryptoKey)。按一下「管理政策」圖示
。在「編輯政策」頁面中,選取「覆寫上層政策」。
選取「新增規則」。
在「Policy values」(政策值) 底下,選取 [Custom] (自訂)。
在「政策類型」下方,選取「允許」。
在「自訂值」欄位中輸入下列內容:
under:projects/KMS_PROJECT_ID
將 KMS_PROJECT_ID 替換為您要使用的 Cloud KMS 金鑰所在專案的 ID。
例如
under:projects/my-kms-project
。依序按一下「完成」和「設定政策」。
gcloud
建立暫存檔案
/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。
執行
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 服務帳戶具備該金鑰的加密和解密權限