Autokey 概览

Cloud KMS Autokey 可简化客户管理的加密的创建和使用过程 密钥 (CMEK)。包含 Autokey、您的密钥环、密钥和服务账号无需 进行规划和预配相反,Autokey 在您创建资源时按需生成密钥, 委派的权限,而不是 Cloud KMS 管理员。

使用 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 时所承担的责任比使用 Autokey 时 手动创建的密钥。

以下服务代理也会参与此流程:

Cloud KMS 服务代理
Cloud KMS 中 给定密钥项目。Autokey 依赖于此服务代理 创建 Cloud KMS 密钥和密钥环以及 为密钥设置 IAM 策略,授予加密和解密权限 每个资源服务代理的权限。
资源服务代理
给定服务中给定服务的服务代理, 资源项目。此服务代理必须具有加密和解密功能, 任何 Cloud KMS 密钥的权限,然后才能将该密钥用于 对资源的 CMEK 保护。Autokey 会创建资源服务 可在需要时授予代理使用 Cloud KMS 密钥。

安全管理员会启用 Cloud KMS Autokey

安全管理员必须先完成设置,然后才能使用 Autokey 以下一次性设置任务:

  1. 在资源文件夹上启用 Cloud KMS Autokey Cloud KMS 项目,其中包含以下项目的 Autokey 资源: 该文件夹中

  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。

  • 密钥版本状态:使用 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 服务代理,然后要求必须 由 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 仅与 Cloud KMS Autokey 兼容 (使用 Terraform 或 REST API 创建资源时)。

项目中每个位置一个密钥

限制

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

后续步骤