Cloud KMS 资源

本主题讨论 Cloud KMS 中的每一类资源。您可以详细了解资源层次结构

Cloud KMS 密钥是包含一个或多个密钥版本以及密钥的元数据的命名对象。密钥保存在于与特定位置绑定的一个密钥环上。

您可以使用 Identity and Access Management (IAM) 权限和角色来允许和拒绝对密钥的访问。您无法管理对密钥版本的访问权限。

停用或销毁一个密钥会停用或销毁每个密钥版本。

以下部分介绍密钥的属性。

根据上下文,密钥的属性会以不同的格式显示。

  • 使用 Cloud SDK 或 Cloud Key Management Service API 时,属性显示为大写字母字符串,例如 SOFTWARE
  • 使用 Google Cloud Console 时,属性显示为首字母大写的字符串,例如 Software

以下各部分会在适当的地方显示每一种格式。

类型

密钥的类型决定了密钥是用于对称加密操作还是非对称加密操作。

在对称加密中,整个密钥都用于加密或解密数据。对称密钥不能用于签名。

在非对称加密或签名中,密钥由公钥和私钥组成。

  • 私钥被视为敏感数据,用于解密数据或签名(具体取决于密钥配置的用途)。
  • 公钥不被视为敏感数据,用于加密数据或验证签名(具体取决于密钥配置的用途)。

    密钥创建后,其类型便无法更改。

密钥的类型是其用途的一个组成部分。

目的

密钥的用途决定了密钥是否可用于加密或签名。您可以在创建密钥时选择用途,并且所有版本都具有相同的用途。

对称密钥的用途始终是对称加密/解密

非对称密钥的用途是非对称加密/解密非对称签名

密钥创建后,其用途便无法更改。

主要版本

一个密钥可以有多个版本,但对称密钥最多只能有一个主要密钥版本。如果您未指定密钥版本,则主密钥版本用于加密数据。

非对称密钥没有主要版本;在使用密钥时,您必须指定版本。

对于对称密钥和非对称密钥,您可以使用任何已启用的密钥版本来加密或解密数据,无论其是否为主要版本。

密钥版本

密钥的每个版本都包含用于加密或签名的密钥材料。密钥的版本以整数表示,从 1 开始。要解密数据或验证签名,您必须使用用于加密数据或对数据进行签名的同一密钥版本。如需查找和引用密钥版本的资源 ID,请参阅检索密钥的资源 ID

您可以停用或销毁一个密钥版本,而不影响其他版本。轮替密钥会创建一个新版本。您可以详细了解轮替密钥

停用或销毁一个密钥会停用或销毁该密钥的所有版本。您可以选择性地停用一个密钥版本,而不影响其他密钥版本。

您无法管理对密钥版本的访问权限。授予对密钥的访问权限也会授予对其所有已启用版本的访问权限。

出于安全考虑,Google Cloud 主帐号无法查看或导出由密钥版本表示的原始加密密钥材料。Cloud KMS 会代表您访问密钥材料。

以下部分介绍密钥版本的属性。

状态

密钥版本的状态始终是以下其中一项:

  • 已启用
  • 已停用
  • 已安排销毁
  • 已销毁

密钥版本仅在启用后才能使用。只有已启用的密钥和密钥版本会产生费用

保护级别

密钥版本的保护级别决定了密钥的静态存储环境。保护级别为以下之一:

  • 软件(在 Cloud SDK 和 Cloud Key Management Service API 中为 SOFTWARE
  • HSM
  • 外部(在 Cloud SDK 和 Cloud Key Management Service API 中为 EXTERNAL

虽然保护级别是密钥版本的属性,但在密钥创建后便无法更改。

算法

密钥版本的算法决定了密钥材料的创建方式和加密操作所需的参数。对称密钥和非对称密钥支持不同的算法。

如果您在创建新密钥版本时未指定算法,则使用之前版本中的算法。

无论使用何种算法,Cloud KMS 都使用概率加密,以便使用相同密钥版本加密两次的同一明文不会加密为同一密文。

密钥环

密钥环在特定 Google Cloud 位置组织密钥,并允许您管理对密钥组的访问权限控制。密钥环的名称在 Google Cloud 项目中不必是唯一的,但在给定位置必须是唯一的。密钥环一经创建便无法删除。密钥环不会产生存储费用

检索资源的 ID

某些 API 调用和 gcloud 工具可能会要求您通过资源 ID(表示完全限定的 CryptoKeyVersion 名称的字符串)来引用密钥环、密钥或密钥版本。资源 ID 是分层的,类似于文件系统路径。密钥的资源 ID 还包含有关密钥环和位置的信息。

对象 资源 ID 格式
密钥环 projects/project-id/locations/location/keyRings/keyring
密钥 projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key
密钥版本 projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key/cryptoKeyVersions/version

如需了解详情,请参阅获取 Cloud KMS 资源 ID

组织资源

在规划如何组织 Google Cloud 项目中的资源时,请考虑您的业务规则以及计划如何管理访问权限。您可以授予对单个密钥、密钥环上的所有密钥或项目中所有密钥的访问权限。以下是一些常见的组织模式:

  • 按环境(例如 prodtestdevelop)。
  • 按工作领域(例如 payrollinsurance_claims)。
  • 按数据敏感度或特征(例如 unrestrictedrestrictedconfidentialtop-secret)。

资源生命周期

您无法删除密钥环、密钥和密钥版本。这可确保密钥版本的资源标识符是唯一的,并且始终指向该密钥版本的原始密钥材料。 您可以存储不限数量的密钥环、已启用或已停用的密钥,以及已启用或已停用的密钥版本。如需了解详情,请参阅价格配额

如需了解如何销毁或恢复密钥版本,请参阅销毁和恢复密钥版本

如果您安排了关停 Google Cloud 项目,将无法访问该项目的资源(包括 Cloud KMS 资源),除非您按照恢复项目的步骤恢复该项目。

后续步骤