本文件說明如何使用客戶管理的加密金鑰 (CMEK) 加密 Dataplex Universal Catalog 資料。
總覽
根據預設,Dataplex Universal Catalog 會加密靜態儲存的客戶內容。Dataplex Universal Catalog 會為您處理加密作業,您不必採取其他動作。這個選項稱為「Google 預設加密」。
如果您想控制加密金鑰,可以使用 Cloud KMS 中的客戶管理加密金鑰 (CMEK),並搭配 CMEK 整合服務 (包括 Dataplex 通用目錄) 使用。使用 Cloud KMS 金鑰可讓您控制金鑰的保護等級、位置、輪替時間表、使用權限和存取權,以及加密範圍。使用 Cloud KMS 還可讓您追蹤金鑰使用情形、查看稽核記錄,以及控管金鑰生命週期。您可以在 Cloud KMS 中控制及管理用來保護資料的對稱金鑰加密金鑰 (KEK),而非由 Google 擁有及管理這些金鑰。
使用 CMEK 設定資源後,存取 Dataplex Universal Catalog 資源的體驗就會類似於使用 Google 預設加密功能。如要進一步瞭解加密選項,請參閱「客戶管理的加密金鑰 (CMEK)」。
Dataplex Universal Catalog 會為所有 Dataplex Universal Catalog 資源,針對每個位置使用一個 CMEK。
您可以在 Dataplex Universal Catalog 的機構層級設定 CMEK 金鑰。
如要進一步瞭解 CMEK 的一般資訊,包括何時啟用 CMEK 以及原因,請參閱「客戶管理的加密金鑰 (CMEK)」。
CMEK 的優點
您可以透過 CMEK 執行下列操作:
- 管理重要生命週期作業和存取權限。
- 您可以使用 Cloud KMS 中的 Key Inventory API 和 Key Usage 資訊主頁追蹤金鑰用途,瞭解哪些金鑰保護哪些資源。Cloud Logging 會告訴您何時有人存取金鑰,以及存取者為何人。
- 管理加密金鑰,以符合特定法規要求。
CMEK 與 Dataplex Universal Catalog 的運作方式
Google Cloud 專案中的 Dataplex Universal Catalog 加密管理員可以提供 Cloud KMS 金鑰,為 Dataplex Universal Catalog 設定 CMEK。接著,Dataplex Universal Catalog 會使用指定的 Cloud KMS 金鑰加密所有資料,包括現有資料和 Dataplex Universal Catalog 中建立的任何新資源。
支援功能
- Dataplex Universal Catalog 支援下列功能的 CMEK 加密功能:
- 資料系譜不會儲存客戶核心內容或機密資料,因此不需要 CMEK 加密。
- Assured Workloads 客戶無法使用其他 Dataplex 通用目錄功能,因為這些功能不支援 CMEK 加密。
- 未使用 Assured Workloads 的客戶可以使用其他功能,但資料會使用 Google 預設加密機制進行加密。
注意事項
- 根據預設,每個機構都會使用 Google 的預設加密方式進行佈建。
- 組織管理員可以為任何地點,在 Dataplex Universal Catalog 中切換至 CMEK。
- Dataplex 通用目錄支援 Cloud KMS 金鑰、Cloud HSM 金鑰和 Cloud External Key Manager 金鑰。
- 系統支援金鑰輪替功能,在金鑰輪替完成後,系統會自動使用新的金鑰版本來加密資料。現有資料也會使用這個新版本加密。
- Dataplex Universal Catalog 最多會保留 15 天的資料備份。啟用 CMEK 後建立的任何備份都會使用指定的 KMS 金鑰加密。啟用 CMEK 前備份的資料會以 Google 的預設加密方式加密,最多保留 15 天。
限制
- 切換至 CMEK 是無法復原的程序。選擇 CMEK 後,就無法改回 Google 的預設加密機制。
- 為 Dataplex Universal Catalog 設定 Cloud KMS 金鑰後,就無法更新或變更該金鑰。
- Dataplex Universal Catalog 僅支援組織層級加密。因此,加密設定會在特定位置的機構層級中設定,並用於為該機構和位置的所有專案加密 Dataplex Universal Catalog 資料。機構或資料夾下的特定專案不支援 CMEK 加密。設定 CMEK 相關的機構政策時,請務必審慎考量。
- Dataplex Universal Catalog 不支援全球區域的 CMEK。
- 切面和詞彙表中擷取的中繼資料,無法使用 CMEK 保護。
保護加密金鑰
如要確保持續存取由 CMEK 加密的資料,請遵循下列最佳做法:
- 請確認 CMEK 金鑰仍處於啟用狀態,且可供存取。如果金鑰遭到停用或刪除,就無法存取 Dataplex Universal Catalog 資料。如果金鑰無法使用超過 30 天,系統會自動刪除以該金鑰加密的資料,且無法復原。
- 如果 Cloud KMS 金鑰遭到刪除且無法復原,所有相關聯的 Dataplex 通用目錄資料都會永久遺失。
- 如果 Cloud KMS 暫時無法使用,Dataplex Universal Catalog 會盡力支援完整作業,最多可達一小時。過了這個期限後,系統會暫時封鎖資料,以做為保護措施。
- 請注意,使用 Cloud EKM 時,Google 不會控管外部代管金鑰的供應情形。短期金鑰無法使用會導致暫時無法存取資料。金鑰無法使用超過 30 天,就會導致永久遺失資料。
- 啟用 CMEK 後,請勿將專案從一個機構移至另一個機構,因為這項操作會導致資料遺失。
Dataplex Universal Catalog 適用範圍
以下各節將概述為 Dataplex Universal Catalog 機構啟用 CMEK 時的程序和預期營運影響。
初始基礎架構佈建
儲存加密設定後,Dataplex Universal Catalog 會設定必要的基礎架構。這項程序通常需要 6 到 8 小時。在這個佈建階段,您仍可完全存取所有 Dataplex Universal Catalog 功能,且資料仍會透過 Google 代管的加密機制進行加密。如果設定機構政策 constraints/gcp.restrictNonCmekServices
,資源建立要求會在佈建階段完成前失敗。
資料加密和 API 可用性
基礎架構佈建完成後,Dataplex Universal Catalog 就會開始加密貴組織儲存的現有資料。為確保資料完整性,並避免在加密程序中發生不一致的情形,Dataplex Universal Catalog API 方法暫時無法使用。這項限制可防止資料更新作業。初次為 Dataplex Universal Catalog 啟用 CMEK 時,系統會為所有現有資料加密。這項一次性作業預計最多需要兩小時。
加密後作業
現有資料加密作業完成後,您就能完全使用 Dataplex Universal Catalog API 方法。在 Dataplex Universal Catalog 中建立或修改資料時,系統會自動使用已設定的 CMEK 進行加密,不會造成任何作業中斷或 API 限制。
建立金鑰並啟用 CMEK
以下操作說明說明如何為 Dataplex 通用目錄建立金鑰並啟用 CMEK。您可以使用直接在 Cloud KMS 中建立的金鑰,或是透過 Cloud EKM 提供的外部代管金鑰。
在您要管理金鑰的 Google Cloud 專案中,執行下列操作:
在要使用的 Cloud KMS 位置建立金鑰環。
使用下列任一選項建立金鑰:
建立及顯示 Google 代管的服務帳戶:
gcloud beta services identity create \ --service=dataplex.googleapis.com \ --organization=ORG_ID
將 ORG_ID 替換為包含金鑰的機構 ID。
如果系統提示您安裝 Google Cloud CLI Beta 版指令元件,請輸入
Y
。gcloud CLI
services identity
指令會建立或取得特定的 Google 代管服務帳戶,Dataplex Universal Catalog 可使用該帳戶存取 Cloud KMS 金鑰。服務帳戶 ID 的格式為
service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com
。將 CryptoKey Encrypter/Decrypter IAM 角色 (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) 授予 Dataplex Universal Catalog 服務帳戶。為您建立的金鑰授予這項權限。主控台
前往「金鑰管理」頁面。
按一下金鑰環。
在可用金鑰清單中,按一下您建立的金鑰。
按一下「Permissions」(權限) 分頁標籤。
按一下「授予存取權」。
在隨即開啟的「Grant access」窗格中,按照下列步驟授予 Dataplex Universal Catalog 服務帳戶存取權:
- 在「新增主體」中輸入服務帳戶
service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com
。 - 在「指派角色」中,選取 Cloud KMS CryptoKey 加密者/解密者角色。
- 按一下 [儲存]。
- 在「新增主體」中輸入服務帳戶
gcloud
將
cloudkms.cryptoKeyEncrypterDecrypter
角色授予服務帳戶:gcloud kms keys add-iam-policy-binding KEY_NAME \ --location=LOCATION \ --keyring KEY_RING \ --project=KEY_PROJECT_ID \ --member serviceAccount:service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
更改下列內容:
- KEY_NAME:鍵名稱
- LOCATION:位置
- KEY_RING:金鑰環
- KEY_PROJECT_ID:主鍵專案 ID
將 Dataplex 加密管理員角色指派給自己。
主控台
按照操作說明授予 IAM 角色。
gcloud
gcloud organizations add-iam-policy-binding ORG_ID \ --member='user:USER_EMAIL' \ --role='roles/dataplex.encryptionAdmin'
更改下列內容:
- ORG_ID:包含金鑰的機構 ID。
- USER_EMAIL:使用者的電子郵件地址。
設定 Dataplex Universal Catalog 以使用 CMEK 金鑰。
主控台
在 Google Cloud 控制台中,前往「Dataplex」頁面。
按一下「設定」。
在「選取 CMEK 區域」中,選取所需區域。您選取的區域必須與 Cloud KMS 金鑰的位置相符。
在「選取加密金鑰」中,選取您建立的金鑰。
按一下 [儲存]。
資料加密程序需要一段時間才能完成。程序完成後,系統會顯示以下訊息:
Data Encryption is complete. Your selected CMEK key is now protecting your data.
gcloud
在 Dataplex Universal Catalog 中設定加密設定:
gcloud dataplex encryption-config create default \ --location=LOCATION \ --organization=ORG_ID \ --key=KEY_RESOURCE_ID
更改下列內容:
- ORG_ID:包含金鑰的機構 ID。
- KEY_RESOURCE_ID:主要資源 ID,例如
projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
。將 PROJECT_ID 替換為主要專案 ID。
確認加密程序是否已完成:
gcloud dataplex encryption-config describe default \ --location=LOCATION \ --organization=ORG_ID
資料加密程序需要一段時間才能完成。程序完成後,系統會顯示以下訊息:
encryptionState: COMPLETED
。
記錄和監控
啟用 Cloud KMS API 的稽核記錄功能,稽核 Dataplex Universal Catalog 對 Cloud KMS 的請求。
CMEK 組織政策
Google Cloud 提供機構政策限制,用於強制執行 CMEK 使用情形,並控管貴機構內允許使用的 Cloud KMS 金鑰。這些限制有助於確保 Dataplex Universal Catalog 中的資料一律受到 CMEK 保護。
constraints/gcp.restrictNonCmekServices
會強制要求使用 Dataplex Universal Catalog 資源的 CMEK。將
dataplex.googleapis.com
新增至 Google Cloud 服務名稱清單,並將限制設為Deny
,即可禁止建立未受 CMEK 保護的 Dataplex Universal Catalog 資源。如果在 CMEK 加密設定中未為要求的位置指定 Cloud KMS 金鑰,則在 Dataplex 通用目錄中建立資源的要求就會失敗。
這項政策會在個別資源專案層級進行驗證。
constraints/gcp.restrictCmekCryptoKeyProjects
會將 CMEK 的 Cloud KMS 金鑰選取範圍限制在指定的資源階層。只要設定資源階層指標 (專案、資料夾或機構) 清單,並將限制設為
Allow
,Dataplex Universal Catalog 就會限制只使用指定位置的 CMEK 金鑰。如果提供的 Cloud KMS 金鑰來自不允許的專案,在 Dataplex Universal Catalog 中建立受 CMEK 保護的資源的請求將會失敗。
這項政策會在建立資源時,在資源專案層級進行驗證。
設定 CMEK 加密設定時,這項政策會在機構層級進行驗證。
為避免不一致,請確保專案層級設定與機構層級政策一致。
如要進一步瞭解如何設定組織政策,請參閱「CMEK 組織政策」。
後續步驟
- 進一步瞭解 CMEK。