Autokey 簡介

Cloud KMS Autokey 可自動佈建及指派客戶管理加密金鑰 (CMEK),簡化建立及使用程序。Autokey 會根據需求產生金鑰環和金鑰,系統會視需要建立使用金鑰加密及解密資源的服務帳戶,並授予身分與存取權管理 (IAM) 角色。Cloud KMS 管理員可全權控管及查看 Autokey 建立的金鑰,無需事先規劃及建立各項資源。

使用 Autokey 產生的金鑰,有助於您持續遵循資料安全性的業界標準和建議做法,包括 HSM 防護等級、權責劃分、金鑰輪替、位置和金鑰專用原則等。Autokey 會建立金鑰,這些金鑰遵循一般準則和 Google Cloud 服務的資源類型專屬準則,並與 Cloud KMS Autokey 整合。使用 Autokey 建立金鑰後,這些金鑰的運作方式與其他具有相同設定的 Cloud HSM 金鑰完全相同。

Autokey 也能簡化 Terraform 的金鑰管理作業,不必再以提升的金鑰建立權限執行基礎架構即程式碼。

如要使用 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 的運作方式。下列使用者角色會參與這個程序:

安全管理員
安全管理員負責管理資料夾或機構層級的安全性。
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,安全管理員必須先完成下列一次性設定工作:

  1. 在資源資料夾中啟用 Cloud KMS Autokey,並找出要包含該資料夾 Autokey 資源的 Cloud KMS 專案。

  2. 建立 Cloud KMS 服務代理人,然後授予服務代理人金鑰建立和指派權限。

  3. 將 Autokey 使用者角色授予 Autokey 開發人員使用者。

完成這項設定後,Autokey 開發人員現在可以視需要觸發 Cloud HSM 金鑰建立作業。如需 Cloud KMS Autokey 的完整設定說明,請參閱「啟用 Cloud KMS Autokey」。

Autokey 開發人員使用 Cloud KMS Autokey

成功設定 Autokey 後,授權的 Autokey 開發人員現在可以建立受保護的資源,並視需要使用為他們建立的金鑰。資源建立程序的詳細資料取決於您要建立的資源,但程序會遵循下列流程:

  1. Autokey 開發人員開始在相容的Google Cloud 服務中建立資源。建立資源時,開發人員會向 Autokey 服務代理程式要求新金鑰。

  2. Autokey 服務代理程式會收到開發人員的要求,並完成下列步驟:

    1. 在所選位置的金鑰專案中建立金鑰環 (如果該金鑰環不存在)。
    2. 在金鑰環中建立適當細微程度的金鑰 (資源類型),除非這類金鑰已存在。
    3. 建立每個專案和服務的服務帳戶 (除非該服務帳戶已存在)。
    4. 授予每個專案、每個服務的服務帳戶該金鑰的加密和解密權限。
    5. 將重要詳細資料提供給開發人員,協助他們完成資源建立作業。
  3. Autokey 服務代理程式成功傳回金鑰詳細資料後,開發人員就能立即完成建立受保護資源的作業。

Cloud KMS Autokey 會建立具有下一節所述屬性的金鑰。這個金鑰建立流程可確保職責分離。Cloud KMS 管理員仍可全面掌握並控管 Autokey 建立的金鑰。

在資料夾中啟用 Autokey 後,如要開始使用,請參閱「使用 Cloud KMS Autokey 建立受保護的資源」。

Autokey 建立的金鑰簡介

Cloud KMS Autokey 建立的金鑰具有下列屬性:

  • 防護等級:HSM。
  • 演算法:AES-256 GCM。
  • 輪替週期:一年。

    Autokey 建立金鑰後,Cloud KMS 管理員可以編輯輪替週期,變更為非預設值。

  • 職責劃分:
    • 系統會自動授予服務的服務帳戶金鑰加密和解密權限。
    • 對於 Autokey 建立的金鑰,Cloud KMS 管理員權限會照常套用。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,可以結合 IAM 存取控管機制與 CMEK 組織政策。做法是從 Autokey 服務代理程式以外的主體移除金鑰建立權限,然後要求所有資源都必須使用 Autokey 金鑰專案的 CMEK 保護。如需強制使用 Autokey 的詳細操作說明,請參閱「強制使用 Autokey」。

相容服務

下表列出與 Cloud KMS Autokey 相容的服務:

服務 受保護的資源 索引鍵精細程度
Artifact Registry
  • artifactregistry.googleapis.com/Repository

Autokey 會在建立存放區時建立金鑰,用於所有儲存的構件。

每個資源一個金鑰
BigQuery
  • bigquery.googleapis.com/Dataset

Autokey 會為資料集建立預設金鑰。資料集中的資料表、模型、查詢和臨時資料表會使用資料集預設金鑰。

Autokey 不會為資料集以外的 BigQuery 資源建立金鑰。如要保護不屬於資料集的資源,您必須在專案或機構層級建立自己的預設金鑰。

每個資源一個金鑰
Bigtable
  • bigtable.googleapis.com/Cluster

Autokey 會為叢集建立金鑰。

Autokey 不會為叢集以外的 Bigtable 資源建立金鑰。

使用 Terraform 或 Google Cloud SDK 建立資源時,Bigtable 僅與 Cloud KMS Autokey 相容。

每個叢集一個金鑰
AlloyDB for PostgreSQL
  • alloydb.googleapis.com/Cluster
  • alloydb.googleapis.com/Backup

使用 Terraform 或 REST API 建立資源時,PostgreSQL 適用的 AlloyDB 僅與 Cloud KMS Autokey 相容。

每個資源一個金鑰
Cloud Run
  • run.googleapis.com/Service
  • run.googleapis.com/Job
每個資源一個金鑰
Cloud SQL
  • sqladmin.googleapis.com/Instance

Autokey 不會為 Cloud SQL BackupRun資源建立金鑰。建立 Cloud SQL 執行個體的備份時,系統會使用主要執行個體的客戶管理金鑰加密備份。

使用 Terraform 或 REST API 建立資源時,Cloud SQL 僅與 Cloud KMS Autokey 相容。

每個資源一個金鑰
Cloud Storage
  • storage.googleapis.com/Bucket

儲存空間值區中的物件會使用值區預設金鑰。Autokey 不會為 storage.object 資源建立金鑰。

每個 bucket 一個金鑰
Compute Engine
  • compute.googleapis.com/Disk
  • compute.googleapis.com/Image
  • compute.googleapis.com/Instance
  • compute.googleapis.com/MachineImage

快照會使用您要建立快照的磁碟金鑰。 Autokey 不會為 compute.snapshot 資源建立金鑰。

每個資源一個金鑰
Pub/Sub
  • pubsub.googleapis.com/Topic
每個資源一個金鑰
Secret Manager
  • secretmanager.googleapis.com/Secret

使用 Terraform 或 REST API 建立資源時,Secret Manager 僅與 Cloud KMS Autokey 相容。

每個專案位置一個金鑰
Spanner
  • spanner.googleapis.com/Database

使用 Terraform 或 REST API 建立資源時,Spanner 僅與 Cloud KMS Autokey 相容。

每個資源一個金鑰
Dataflow
  • dataflow.googleapis.com/Job
每個資源一個金鑰

限制

後續步驟