Autokey 概览

Cloud KMS Autokey 通过自动预配和分配来简化客户管理的加密密钥 (CMEK) 的创建和使用。借助 Autokey,您无需在需要使用密钥环、密钥和服务帐号之前对其进行规划和预配。相反,Autokey 会在创建资源时按需生成密钥,并依赖于委派的权限,而不是 Cloud KMS 管理员。

使用由 Autokey 生成的密钥可帮助您始终符合行业标准和数据安全推荐做法,包括 HSM 保护级别、职责分离、密钥轮替、位置和密钥特异性。Autokey 会为与 Cloud KMS Autokey 集成的 Google Cloud 服务创建遵循一般准则和特定于资源类型的密钥。创建完成后,使用 Autokey 请求的密钥的作用与具有相同设置的其他 Cloud HSM 密钥相同。

Autokey 还可以简化使用 Terraform 管理密钥的过程,让您不必再运行基础架构即服务并获得更高的密钥创建权限。

如需使用 Autokey,您必须拥有包含文件夹资源的组织资源。如需详细了解组织和文件夹资源,请参阅资源层次结构

Cloud KMS Autokey 在提供 Cloud HSM 的所有 Google Cloud 位置都可用。如需详细了解 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
  • 轮替周期:1 年

    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 密钥一样,系统会在 Cloud KMS 信息中心内跟踪 Autokey 创建的密钥。

强制执行 Autokey

如果您要在文件夹中强制使用 Autokey,可以将 IAM 访问权限控制与 CMEK 组织政策结合使用。其工作原理是,从除 Autokey 服务代理以外的主帐号中移除密钥创建权限,然后要求所有资源都使用 Autokey 密钥项目受 CMEK 保护。如需详细了解如何强制使用 Autokey,请参阅强制使用 Autokey

兼容的服务

下表列出了与 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 资源创建密钥。

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

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

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

每个资源一个密钥
Secret Manager
  • secretmanager.googleapis.com/Secret

Secret Manager 仅在使用 Terraform 或 REST API 创建资源时与 Cloud KMS Autokey 兼容。

一个项目中的每个位置一个密钥

限制

  • 您无法清除 AutokeyConfig 资源。您可以通过将 AutokeyConfig 更新为设置 enabled=false 来对文件夹停用 Autokey,但配置的密钥项目仍保留在 AutokeyConfig 中。您可以通过更新 AutokeyConfig 来更改已配置的密钥项目。
  • gcloud CLI 不适用于 Autokey 资源。
  • 密钥句柄不在 Cloud Asset Inventory 中。

后续步骤