本文說明如何使用客戶管理的加密金鑰 (CMEK) 加密 Dataplex Universal Catalog 資料。
總覽
根據預設,Dataplex Universal Catalog 會加密靜態客戶內容。Dataplex Universal Catalog 會為您處理加密作業,您不必採取任何其他動作。這項做法稱為「Google 預設加密」。
如要控管加密金鑰,您可以在 Cloud KMS 中使用客戶自行管理的加密金鑰 (CMEK),並搭配 Dataplex Universal Catalog 等整合 CMEK 的服務。使用 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 可讓您執行下列操作:
- 管理金鑰生命週期作業和存取權。
- 使用 Cloud KMS 中的 Key Inventory API 和 Key Usage 資訊主頁追蹤金鑰用量,瞭解哪些金鑰保護哪些資源。Cloud Logging 會記錄金鑰的存取時間和存取者。
- 管理加密金鑰,以符合特定法規要求。
CMEK 如何搭配 Dataplex Universal Catalog 運作
專案中的 Dataplex Universal Catalog 加密管理員可以提供 Cloud KMS 金鑰,為 Dataplex Universal Catalog 設定 CMEK。 Google Cloud 接著,Dataplex Universal Catalog 會使用指定的 Cloud KMS 金鑰加密所有資料,包括現有資料和在 Dataplex Universal Catalog 中建立的任何新資源。
支援功能
- Dataplex Universal Catalog 支援下列功能的 CMEK 加密:
- 資料沿襲不會儲存客戶核心內容或機密資料,因此不需要 CMEK 加密。
- 由於不支援 CMEK 加密,Assured Workloads 客戶無法使用其他 Dataplex Universal Catalog 功能。
- 如果客戶未使用 Assured Workloads,可以改用其他功能,但資料會採用 Google 預設加密機制。
注意事項
- 根據預設,每個機構都會使用 Google 預設加密方式佈建。
- 機構管理員可以在任何位置,切換至 Dataplex Universal Catalog 中的 CMEK。
- Dataplex Universal Catalog 支援 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 Universal Catalog 資料都會永久遺失。
- 如果 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 Universal Catalog 啟用 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
指令會建立或取得 Dataplex Universal Catalog 可用來存取 Cloud KMS 金鑰的特定 Google 管理服務帳戶。服務帳戶 ID 的格式為
service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com
。 系統也會建立 CMEK 專屬的服務帳戶,格式為service-org-ORG_ID@gcp-sa-dataplex-cmek.iam.gserviceaccount.com
。CMEK 專屬服務帳戶用於加密及解密 Dataplex Universal Catalog 中儲存的資料。如果您使用 VPC Service Controls 管理 Cloud KMS 金鑰,則必須使用輸入規則,授予 CMEK 專屬服務帳戶存取權。將 CryptoKey Encrypter/Decrypter IAM 角色 (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) 授予 Dataplex Universal Catalog 服務帳戶。在您建立的金鑰上授予這項權限。主控台
前往「金鑰管理」頁面。
按一下金鑰環。
在可用金鑰清單中,按一下您建立的金鑰。
按一下「Permissions」(權限) 分頁標籤。
按一下「授予存取權」。
在開啟的「授予存取權」窗格中,按照下列步驟授予 Dataplex Universal Catalog 服務帳戶存取權:
- 在「新增主體」中,輸入服務帳戶
service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com
。 - 在「指派角色」中,選取「Cloud KMS CryptoKey Encrypter/Decrypter」(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 加密管理員角色指派給自己。
主控台
按照操作說明授予身分與存取權管理角色。
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
。
記錄和監控
如要稽核 Dataplex Universal Catalog 對 Cloud KMS 的要求,請為 Cloud KMS API 啟用稽核記錄。
CMEK 組織政策
Google Cloud 提供機構政策限制,可強制使用 CMEK,並控管機構內允許的 Cloud KMS 金鑰。這些限制有助於確保 Dataplex Universal Catalog 中的資料一律受到 CMEK 保護。
constraints/gcp.restrictNonCmekServices
會強制對 Dataplex Universal Catalog 資源使用 CMEK。將
dataplex.googleapis.com
新增至 Google Cloud 服務 Google Cloud 名稱清單,並將限制設為Deny
,即可禁止建立未受 CMEK 保護的 Dataplex Universal Catalog 資源。如果 CMEK 加密設定中未指定所要求位置的 Cloud KMS 金鑰,在 Dataplex Universal Catalog 中建立資源的要求就會失敗。
這項政策會在個別資源專案層級進行驗證。
constraints/gcp.restrictCmekCryptoKeyProjects
會將 CMEK 的 Cloud KMS 金鑰選取範圍,限制在指定的資源階層中。設定資源階層指標 (專案、資料夾或機構) 清單,並將限制設為
Allow
,Dataplex Universal Catalog 就只能使用指定位置的 CMEK 金鑰。如果提供的 Cloud KMS 金鑰來自不允許的專案,在 Dataplex Universal Catalog 中建立受 CMEK 保護資源的要求就會失敗。
在建立資源時,系統會在資源專案層級驗證這項政策。
設定 CMEK 加密設定時,系統會在機構層級驗證這項政策。
為避免不一致,請確保專案層級設定符合全機構政策。
如要進一步瞭解如何設定機構政策,請參閱「CMEK 機構政策」。
後續步驟
- 進一步瞭解 CMEK。