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,您必须拥有包含 文件夹资源的组织资源。如需详细了解组织和文件夹资源, 请参阅 资源层次结构

Cloud KMS Autokey 可在所有 Google Cloud 可使用 Cloud HSM 的位置使用。如需详细了解 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 以外的保护级别或自定义轮替周期, 则可以使用 CMEK,而无需使用 Autokey。

兼容的服务

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

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

Autokey 会在创建 Repository 期间创建密钥,用于所有 存储的工件。

每个资源一个密钥
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
每个资源一个密钥

后续步骤

  • 如需详细了解 Cloud KMS Autokey 的运作方式,请参阅 Autokey 概览