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 金鑰,仍可繼續存在並正常存取。
控制台
開啟「組織政策」頁面。
在「Filter」(篩選器) 欄位中輸入
constraints/gcp.restrictNonCmekServices,然後按一下「Restrict which services may create resources without CMEK」(限制哪些服務可以在沒有 CMEK 的情況下建立資源)。按一下「管理政策」。
在「Edit policy」(編輯政策) 頁面,選取「Override parent's policy」(覆寫上層政策)。
選取「新增規則」。
在「政策值」部分,選取「自訂」。
在「政策類型」部分,選取「拒絕」。
在「Custom values」(自訂值) 欄位中輸入
is:file.googleapis.com。依序點選「完成」和「設定政策」。
gcloud
建立暫存檔案
/tmp/policy.yaml來儲存政策:name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:file.googleapis.com將 PROJECT_ID 替換為要使用的專案 ID。
執行
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。」
控制台
開啟「組織政策」頁面。
在「Filter」(篩選器) 欄位中輸入
constraints/gcp.restrictCmekCryptoKeyProjects,然後按一下「Restrict which projects may supply KMS CryptoKeys for CMEK」(限制哪些專案可提供 CMEK 的 KMS CryptoKey)。按一下「管理政策」。
在「Edit policy」(編輯政策) 頁面,選取「Override parent's policy」(覆寫上層政策)。
選取「新增規則」。
在「政策值」部分,選取「自訂」。
將「政策類型」設為「允許」。
在「自訂值」欄位中輸入下列內容:
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 金鑰建立執行個體或備份。程序會失敗。
限制
設定機構政策時,請注意下列限制。
CMEK 適用情形
提醒您,基本傳統硬碟和基本固態硬碟服務層級不支援 CMEK。根據這些限制的定義方式,如果您套用要求使用 CMEK 的機構政策,然後嘗試在相關聯的專案中建立基本層級執行個體或備份,這些建立作業就會失敗。
現有資源
現有資源不受新建立的組織政策約束。舉例來說,如果您建立機構政策,規定每次執行 create 作業時都必須指定 CMEK,這項政策不會追溯套用至現有執行個體和備份鏈。您仍可存取這些資源,如要將政策套用至現有資源 (無論是執行個體或備份鏈結),請替換這些資源。
設定機構政策所需的權限
您可能難以取得設定或更新組織政策的權限,以進行測試。您必須獲授予組織政策管理員角色,這個角色只能在組織層級授予。
雖然必須在機構層級授予角色,但您仍可指定僅適用於特定專案或資料夾的政策。
Cloud KMS 金鑰輪替的影響
與資源相關聯的 Cloud KMS 金鑰輪替時,Filestore 不會自動輪替資源的加密金鑰。
現有執行個體和備份中的所有資料,仍會受到建立時使用的金鑰版本保護。
新建立的執行個體或備份會使用建立時指定的主要金鑰版本。
輪替金鑰時,系統不會自動重新加密以舊版金鑰加密的資料。如要使用最新金鑰版本加密資料,您必須先從資源解密舊金鑰版本,然後使用新金鑰版本重新加密相同資源。此外,輪替金鑰不會自動停用或刪除任何現有金鑰版本。
如需如何執行各項工作的詳細操作說明,請參閱下列指南:
Filestore 對 Cloud KMS 金鑰的存取權
在符合以下條件的情況下,Filestore 會將 Cloud KMS 金鑰判定為可供使用及存取:
- 金鑰已啟用
- Filestore 服務帳戶具備該金鑰的加密和解密權限
後續步驟
- 瞭解如何加密 Filestore 執行個體或備份。
- 瞭解 CMEK。
- 瞭解傳輸中資料加密 Google Cloud。
- 瞭解組織政策。
- 瞭解 CMEK 組織政策。