Cloud KMS Autokey 可自動佈建及指派客戶管理加密金鑰 (CMEK),簡化建立及使用流程。Autokey 會根據需求產生金鑰環和金鑰。系統會視需要建立服務帳戶,並授予身分與存取權管理 (IAM) 角色,供服務帳戶使用金鑰加密及解密資源。Cloud KMS 管理員可全權控管及查看 Autokey 建立的金鑰,無需事先規劃及建立各項資源。與自行佈建金鑰相比,使用 Autokey 更簡單,如果 Autokey 建立的金鑰符合所有需求,建議您使用這項功能。
使用 Autokey 產生的金鑰,有助於您持續遵循資料安全性的業界標準和建議做法,包括多租戶 Cloud HSM 防護等級、權責劃分、金鑰輪替、位置和金鑰專用原則等。Autokey 會建立金鑰,並遵循一般指南和資源類型專屬指南,適用於與 Cloud KMS Autokey 整合的Google Cloud 服務。建立完成後,使用 Autokey 函式要求的金鑰,與其他具有相同設定的 Cloud HSM 金鑰功能相同。
Autokey 也能簡化 Terraform 的金鑰管理作業,不必再以提升的金鑰建立權限執行基礎架構即程式碼。
您可以搭配專屬專案金鑰儲存功能 (舊稱集中式金鑰管理) 或同專案金鑰儲存功能 (舊稱委派金鑰管理) 使用 Autokey。如要搭配專屬專案金鑰儲存空間使用 Autokey,您必須擁有包含資料夾資源的機構資源。使用專屬專案金鑰儲存空間時,您可以在資料夾中為專案啟用 Autokey,而 Autokey 建立的金鑰會儲存在該資料夾的指定金鑰專案中。使用同專案金鑰儲存功能時,您可以在資料夾或專案中啟用 Autokey,讓 Autokey 在受保護資源所在的專案中建立金鑰。
如要進一步瞭解機構和資料夾資源,請參閱「資源階層」。
Cloud KMS Autokey 適用於所有 Google Cloud 提供 Cloud HSM 的位置。如要進一步瞭解 Cloud KMS 位置,請參閱 Cloud KMS 位置。使用 Cloud KMS Autokey 不會產生額外費用。使用 Autokey 建立的金鑰與其他 Cloud HSM 金鑰的價格相同。如要進一步瞭解定價,請參閱 Cloud Key Management Service 定價。
Autokey 的運作方式
本節說明 Cloud KMS Autokey 的運作方式。下列使用者角色會參與這個程序:
- 管理員
- 管理員是負責管理資料夾或機構層級安全性的使用者。nk
- Autokey 開發人員
- Autokey 開發人員是負責使用 Cloud KMS Autokey 建立資源的使用者。
- Cloud KMS 管理員
- Cloud KMS 管理員負責管理 Cloud KMS 資源。與使用手動建立的金鑰相比,使用 Autokey 時,這個角色的職責較少。
下列服務代理也會參與這項程序:
- Cloud KMS 服務代理
- 特定金鑰專案中的 Cloud KMS 服務代理。Autokey 必須仰賴這個服務代理,才能擁有進階權限,用來建立 Cloud KMS 金鑰和金鑰環,並在金鑰上設定 IAM 政策,為每個資源服務代理授予加密和解密權限。
- 資源服務代理
- 特定資源專案中特定服務的服務代理。服務代理程式必須具備任何 Cloud KMS 金鑰的加密和解密權限,才能使用該金鑰為資源提供 CMEK 保護。Autokey 會在需要時建立資源服務代理,並授予使用 Cloud KMS 金鑰的必要權限。
管理員啟用 Cloud KMS Autokey
如要啟用 Autokey,請根據所選的金鑰儲存模型,選擇下列其中一個路徑:
- 專屬專案金鑰儲存功能:在資料夾中啟用專屬專案金鑰儲存功能。您會指定專屬金鑰專案,用來保存金鑰,以保護資料夾內其他專案中建立的資源。
- 同專案金鑰儲存功能:在個別專案或資料夾內的所有專案中啟用同專案金鑰儲存功能,即可在受保護資源所在的專案中建立金鑰。
啟用專屬專案金鑰儲存功能
如要在資料夾中使用 Autokey,並透過專屬專案儲存金鑰,管理員必須先完成下列一次性設定工作:
在資料夾中啟用 Autokey,並使用專屬專案儲存金鑰,然後找出將包含該資料夾 Autokey 資源的 Cloud KMS 專案。
建立 Cloud KMS 服務代理人,然後授予服務代理人金鑰建立和指派權限。
完成這項設定後,凡是能在該資料夾的任何專案中建立 Autokey 相容資源的開發人員,現在都能視需要觸發多租戶 Cloud HSM 金鑰建立作業。如要查看 Cloud KMS Autokey 的完整設定說明,請參閱「啟用 Cloud KMS Autokey」。
啟用 Autokey 並使用同專案金鑰儲存功能
如要使用 Autokey 搭配同專案金鑰儲存空間,管理員必須先完成下列一次性設定工作:
- 在專案或資料夾中,啟用 Autokey 和同專案金鑰儲存功能。
- 在該專案或資料夾中的專案上啟用 Cloud KMS API。
在專案中啟用 Autokey 並使用同專案金鑰儲存功能時,系統會在需要時為您建立 Cloud KMS 服務代理程式。您不必手動建立服務代理。凡是有權建立 Autokey 相容資源的使用者,都能視需要要求新金鑰。如需 Cloud KMS Autokey 的完整設定說明,請參閱「啟用 Cloud KMS Autokey」。
Autokey 開發人員使用 Cloud KMS Autokey
為專案成功啟用 Autokey 後,Autokey 開發人員即可建立受保護的資源,並使用系統依需求建立的金鑰。這項限制適用於啟用專屬專案金鑰儲存功能的 Autokey 資料夾中的專案,以及啟用同專案金鑰儲存功能的 Autokey 專案。資源建立程序的詳細資料取決於您要建立的資源,但程序會遵循下列流程:
Autokey 開發人員開始在相容的Google Cloud 服務中建立資源。建立資源時,開發人員會向 Autokey 服務代理要求新金鑰。
Autokey 服務代理程式會收到開發人員的要求,並完成下列步驟:
- 在所選位置的專案中建立金鑰環 (除非該金鑰環已存在)。
- 在金鑰環中建立適當細微程度的金鑰 (如果沒有這類金鑰)。
- 建立每個專案和服務專用的服務帳戶 (如果該服務帳戶不存在)。
- 授予每個專案和服務的服務帳戶該金鑰的加密和解密權限。
- 將重要詳細資料提供給開發人員,協助他們完成資源建立程序。
Autokey 服務代理程式成功傳回金鑰詳細資料後,開發人員就能立即完成建立受保護資源的作業。
Cloud KMS Autokey 會建立具有下一節所述屬性的金鑰。這個金鑰建立流程可確保分散權責。Cloud KMS 管理員仍可全面掌握並控管 Autokey 建立的金鑰。
啟用 Autokey 後,如要開始使用,請參閱「使用 Cloud KMS Autokey 建立受保護的資源」。
Autokey 建立的金鑰簡介
Cloud KMS Autokey 建立的金鑰具有下列屬性:
- 防護等級:HSM。
- 演算法:AES-256 GCM。
輪替週期:一年。
Autokey 建立金鑰後,Cloud KMS 管理員可以編輯輪替週期,變更預設值。
- 分散權責:
- 系統會自動授予服務的服務帳戶該金鑰的加密和解密權限。
- 系統會照常將 Cloud KMS 管理員權限套用至 Autokey 建立的金鑰。Cloud KMS 管理員可以查看、更新、啟用或停用,以及銷毀 Autokey 建立的金鑰。Cloud KMS 管理員不會獲得加密和解密權限。
- Autokey 開發人員只能要求建立及指派金鑰。無法查看或管理車鑰。
- 金鑰的具體程度或精細度:Autokey 建立的金鑰精細度會因資源類型而異。如要瞭解各項服務的金鑰精細程度,請參閱本頁的「相容服務」一節。
位置:Autokey 會在受保護資源所在的相同位置建立金鑰。
如要在 Cloud HSM 無法使用的位置建立受 CMEK 保護的資源,您必須手動建立 CMEK。
- 金鑰版本狀態:使用 Autokey 建立的新金鑰會以啟用狀態建立為主要金鑰版本。
- 金鑰環命名:Autokey 建立的所有金鑰都會儲存在名為
autokey的金鑰環中。當 Autokey 開發人員在特定位置要求第一個金鑰時,系統就會在 Autokey 專案中建立金鑰環。如果您使用專屬專案金鑰儲存功能,系統會在指定的金鑰專案中建立autokey金鑰環;如果您使用同專案金鑰儲存功能,系統會在資源專案中建立金鑰環。 - 金鑰命名:Autokey 建立的金鑰會遵循下列命名慣例:
PROJECT_NUMBER-SERVICE_SHORT_NAME-RANDOM_HEX - 金鑰匯出:與所有 Cloud KMS 金鑰一樣,Autokey 建立的金鑰無法匯出。
- 金鑰追蹤:與所有用於 CMEK 整合式服務的 Cloud KMS 金鑰一樣,只要與金鑰追蹤相容,Autokey 建立的金鑰就會在 Cloud KMS 資訊主頁中追蹤。
控管 Autokey 使用情形
您可以透過下列控制選項,控管機構使用 Autokey 的方式:
- Autokey 設定:在要使用 Autokey 的資料夾或專案中啟用 Autokey。子項資源會沿用自動金鑰設定,但可以覆寫較低層級的設定,例如專案的自動金鑰設定會優先於父項資料夾的設定。這樣一來,您就能由下而上控管 Autokey。如要進一步瞭解如何啟用及停用 Autokey,請參閱「啟用 Cloud KMS Autokey」。
- IAM:您可以透過 IAM 角色授權和拒絕政策,控管哪些人可以建立及更新 Autokey 設定,以及哪些人可以建立受 Autokey 保護的資源。您可以在機構、資料夾或專案層級設定這些 IAM 控制項。主體獲得 IAM 角色後,就能執行角色允許的操作。即使主體獲得的角色包含特定權限,身分與存取權管理拒絕政策仍會封鎖該權限。在父項資源上設定的 IAM 拒絕政策無法由較低層級設定的寬鬆政策覆寫,因此您可以從上而下控管哪些人可以啟用及使用 Autokey。如要進一步瞭解如何使用 IAM 拒絕政策控管機構中的 Autokey 使用情形,請參閱「使用 IAM 拒絕政策控管 Autokey」。
- 機構政策:您可以透過自訂機構政策限制,控管 Autokey 的設定位置和方式。您可以在機構、資料夾或專案層級,強制執行機構政策限制。子項資源會沿用機構政策,但可由較低層級強制執行的政策覆寫。如要進一步瞭解如何使用自訂組織政策限制,控管機構中的 Autokey 使用情形,請參閱「使用自訂組織政策限制控管 Autokey 」。
相容服務
下表列出與 Cloud KMS Autokey 相容的服務:
| 服務 | 受保護的資源 | 索引鍵精細程度 |
|---|---|---|
| AlloyDB for PostgreSQL |
只有使用 Terraform 或 REST API 建立的資源,才能整合 AlloyDB for PostgreSQL 和 Cloud KMS Autokey。 |
每個資源一個金鑰 |
| Apigee |
Apigee 與 Cloud KMS Autokey 的整合功能,僅適用於使用 Terraform 或 REST API 建立的資源。 |
每個資源一個金鑰 |
| Apigee API 中心 |
Apigee API 中心與 Cloud KMS Autokey 的整合功能,僅適用於使用 Terraform 或 REST API 建立的資源。 |
每個資源一個金鑰 |
| Artifact Registry |
Autokey 會在建立存放區時建立金鑰,用於所有儲存的構件。 |
每個資源一個金鑰 |
| BigQuery |
Autokey 會為資料集建立預設金鑰。資料集中的資料表、模型、查詢和臨時資料表會使用資料集預設金鑰。 Autokey 不會為資料集以外的 BigQuery 資源建立金鑰。如要保護不屬於資料集的資源,您必須在專案或機構層級建立自己的預設金鑰。 |
每個資源一個金鑰 |
| Bigtable |
Autokey 會為叢集建立金鑰。 Autokey 不會為叢集以外的 Bigtable 資源建立金鑰。 Bigtable 與 Cloud KMS Autokey 的整合功能,僅適用於使用 Terraform 或 Google Cloud SDK 建立的資源。 |
每個叢集一個金鑰 |
| Cloud Run |
|
每個專案位置一個金鑰 |
| Cloud SQL |
Autokey 不會為 Cloud SQL Cloud SQL 和 Cloud KMS Autokey 之間的整合功能,僅適用於使用 Terraform 或 REST API 建立的資源。 |
每個資源一個金鑰 |
| Cloud Storage |
儲存空間值區中的物件會使用值區預設金鑰。Autokey 不會為 |
每個 bucket 一個金鑰 |
| Compute Engine |
快照會使用您要建立快照的磁碟金鑰。
Autokey 不會為 |
每個資源一個金鑰 |
| Google Kubernetes Engine |
Google Kubernetes Engine 與 Cloud KMS Autokey 的整合功能,僅適用於使用 Terraform 或 REST API 建立的資源。 |
每個叢集一個金鑰 |
| Dataflow |
|
每個資源一個金鑰 |
| Managed Service for Apache Airflow |
Managed Service for Apache Airflow 與 Cloud KMS Autokey 的整合功能,僅適用於使用 Terraform 或 REST API 建立的資源。 |
每個資源一個金鑰 |
| Managed Service for Apache Spark |
|
叢集、SessionTemplate 和 WorkflowTemplate 資源:每個資源一個金鑰 批次和工作階段資源: 每個專案位置各有一個金鑰 |
| Memorystore for Redis |
只有透過 Terraform 或 REST API 建立的資源,才能整合 Memorystore for Redis 和 Cloud KMS Autokey。 |
每個資源一個金鑰 |
| Pub/Sub |
|
每個資源一個金鑰 |
| Secret Manager |
只有使用 Terraform 或 REST API 建立的資源,才能整合 Secret Manager 和 Cloud KMS Autokey。 |
每個專案位置一個金鑰 |
| Secure Source Manager |
|
每個資源一個金鑰 |
| Spanner |
Spanner 與 Cloud KMS Autokey 的整合功能,僅適用於使用 Terraform 或 REST API 建立的資源。 |
每個資源一個金鑰 |
| Filestore |
|
每個資源一個金鑰 |
限制
- gcloud CLI 不適用於 Autokey 資源。
- 金鑰控制代碼不在 Cloud Asset Inventory 中。
後續步驟
- 如要開始使用 Cloud KMS Autokey,管理員必須啟用 Cloud KMS Autokey。
- 啟用 Cloud KMS Autokey 後,開發人員可以使用 Autokey 建立受 CMEK 保護的資源。
- 瞭解 CMEK 最佳做法。