Cloud KMS with Autokey

Cloud KMS Autokey 通过自动执行预配和分配来简化客户管理的加密密钥 (CMEK) 的创建和使用。借助 Autokey,系统会按需生成密钥环和密钥。系统会创建使用密钥加密和解密资源的服务账号,并在需要时向其授予 Identity and Access Management (IAM) 角色。Cloud KMS 管理员可以完全控制和查看 Autokey 创建的密钥,而无需预先规划和创建每个资源。

使用 Autokey 生成的密钥有助于您始终遵循数据安全方面的业界标准和建议的做法,包括多租户 Cloud HSM 保护级别、职责分离、密钥轮替、位置和密钥专属性。Autokey 会创建遵循以下准则的密钥:一般准则以及针对与 Cloud KMS Autokey 集成的Google Cloud 服务的特定于资源类型的准则。使用 Autokey 请求的密钥在创建后,其功能与具有相同设置的其他 Cloud HSM 密钥完全相同。

Autokey 还可以简化 Terraform 在密钥管理方面的使用,无需使用受提升的密钥创建权限运行基础架构即代码。

您可以将 Autokey 与集中式密钥管理模型(正式版)或委托式密钥管理模型(预览版)搭配使用。如需使用集中式密钥管理模型,您必须拥有包含文件夹资源的组织资源。在集中式模型中,Autokey 针对文件夹中的项目启用,并且由 Autokey 创建的密钥会在该文件夹的专用密钥项目中创建。借助委托密钥管理模型,密钥管理会委托给项目管理员,他们可以在文件夹或项目上启用 Autokey,让 Autokey 在与受保护资源相同的项目中创建密钥。

如需详细了解组织和文件夹资源,请参阅资源层次结构

Cloud KMS Autokey 可在所有可使用 Cloud HSM 的 Google Cloud 位置使用。如需详细了解 Cloud KMS 位置,请参阅 Cloud KMS 位置。使用 Cloud KMS Autokey 不会产生额外费用。使用 Autokey 创建的密钥与任何其他 Cloud HSM 密钥的价格相同。如需详细了解价格,请参阅 Cloud Key Management Service 价格

如需详细了解 Autokey,请参阅 Autokey 概览

在 Autokey 和其他加密选项之间进行选择

Cloud KMS with Autokey 就像客户管理的加密密钥的自动驾驶系统:它会根据您的需求代表您完成工作。您无需提前规划密钥或创建可能永远不需要的密钥。密钥和密钥使用情况保持一致。您可以定义 Autokey 的使用范围,并控制哪些人可以使用它。您可以完全控制 Autokey 创建的密钥。您可以将手动创建的 Cloud KMS 密钥与使用 Autokey 创建的密钥搭配使用。您可以停用 Autokey,并继续使用其创建的密钥,就像使用任何其他 Cloud KMS 密钥一样。

如果您希望在各个项目中保持一致的密钥使用方式,同时降低运营开销,并遵循 Google 的密钥建议,那么 Cloud KMS Autokey 是一个不错的选择。

功能或能力 Google 默认加密方式 Cloud KMS Cloud KMS Autokey
加密隔离:密钥专属于一个客户的账号
客户拥有和控制密钥
开发者触发密钥配置和分配
精细度:系统会自动以建议的密钥粒度创建密钥
让您能够对数据进行加密粉碎
自动符合推荐的密钥管理实践
使用符合 FIPS 140-2 3 级标准的 HSM 支持的密钥 可选

如果您需要使用 HSM 以外的保护级别或自定义轮换周期,则可以使用不含 Autokey 的 CMEK

集中式或委托式密钥管理

使用文件夹内专用密钥项目进行集中式密钥管理的 Autokey 已正式版发布。在预览版中,Autokey 支持将密钥存储在密钥所保护的资源所在的同一项目中,并且可以针对文件夹中的所有项目或单个项目进行配置。

兼容的服务

下表列出了与 Cloud KMS Autokey 兼容的服务:

服务 受保护资源 密钥粒度
Artifact Registry
  • artifactregistry.googleapis.com/Repository

Autokey 在创建制品库期间创建密钥,用于所有存储的制品。

每项资源一个密钥
BigQuery
  • bigquery.googleapis.com/Dataset

Autokey 会为数据集创建默认密钥。数据集中的表、模型、查询和临时表使用数据集默认密钥。

Autokey 不会为数据集以外的 BigQuery 资源创建密钥。如需保护不属于数据集的资源,您必须在项目或组织级别创建自己的默认密钥。

每项资源一个密钥
Bigtable
  • bigtableadmin.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 创建资源时,AlloyDB for PostgreSQL 才与 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 资源创建密钥。

每个分桶一个键
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 兼容。

一个项目中的每个位置对应一个密钥
Secure Source Manager
  • securesourcemanager.googleapis.com/Instance
每项资源一个密钥
Spanner
  • spanner.googleapis.com/Database

只有在使用 Terraform 或 REST API 创建资源时,Spanner 才与 Cloud KMS Autokey 兼容。

每项资源一个密钥
Dataflow
  • dataflow.googleapis.com/Job
每项资源一个密钥
Dataproc
  • dataproc.googleapis.com/Cluster
  • dataproc.googleapis.com/SessionTemplate
  • dataproc.googleapis.com/WorkflowTemplate
  • dataproc.googleapis.com/Batch
  • dataproc.googleapis.com/Session

对于 Cluster、SessionTemplate 和 WorkflowTemplate 资源:每个资源一个键

对于批处理资源和会话资源: 每个项目中的每个位置一个密钥

后续步骤

  • 如需详细了解 Cloud KMS Autokey 的工作原理,请参阅 Autokey 概览