REST Resource: projects.locations.keyRings.cryptoKeys

资源:CryptoKey

CryptoKey 表示可用于加密操作的逻辑密钥。

CryptoKey 由零个或多个 versions 组成,它们表示加密操作中使用的实际密钥材料。

JSON 表示法
{
  "name": string,
  "primary": {
    object (CryptoKeyVersion)
  },
  "purpose": enum (CryptoKeyPurpose),
  "createTime": string,
  "nextRotationTime": string,
  "versionTemplate": {
    object (CryptoKeyVersionTemplate)
  },
  "labels": {
    string: string,
    ...
  },
  "importOnly": boolean,
  "destroyScheduledDuration": string,
  "cryptoKeyBackend": string,

  // Union field rotation_schedule can be only one of the following:
  "rotationPeriod": string
  // End of list of possible types for union field rotation_schedule.
}
字段
name

string

仅限输出。此 CryptoKey 的资源名称,格式为:projects/*/locations/*/keyRings/*/cryptoKeys/*

primary

object (CryptoKeyVersion)

仅限输出。在 [EncryptRequest.name][] 中授予此 CryptoKey 后,[Encrypt][KeyManagementService.Encrypt] 将使用“主”CryptoKeyVersion 的副本。

CryptoKey 的主要版本可通过 [UpdateCryptoKeyPrimaryVersion][KeyManagementService.UpdateCryptoKeyPrimaryVersion] 更新。

具有 purpose ENCRYPT_DECRYPT 的键可能具有主键。对于其他密钥,该字段将被省略。

purpose

enum (CryptoKeyPurpose)

不可变。此 CryptoKey 的不可变用途。

createTime

string (Timestamp format)

仅限输出。此 CryptoKey 的创建时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

nextRotationTime

string (Timestamp format)

nextRotationTime,密钥管理服务将自动执行以下操作:

  1. 创建此CryptoKey的新版本。
  2. 将新版本标记为主版本。

通过 [CreateCryptoKeyVersion][KeyManagementService.CreateCryptoKeyVersion] 和 [UpdateCryptoKeyPrimaryVersion][KeyManagementService.UpdateCryptoKeyPrimaryVersion] 手动执行的密钥轮替不会影响 nextRotationTime

具有 purpose ENCRYPT_DECRYPT 的密钥支持自动轮替。对于其他密钥,必须省略该字段。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

versionTemplate

object (CryptoKeyVersionTemplate)

描述新 CryptoKeyVersion 实例的设置的模板。[CreateCryptoKeyVersion][KeyManagementService.CreateCryptoKeyVersion] 或自动轮替创建的新 CryptoKeyVersion 实例的属性由此模板控制。

labels

map (key: string, value: string)

包含用户定义的元数据的标签。如需了解详情,请参阅为密钥添加标签

importOnly

boolean

不可变。此密钥是否只能包含导入的版本。

destroyScheduledDuration

string (Duration format)

不可变。此密钥版本在转换为 DESTROYED 之前处于 DESTROY_SCHEDULED 状态的时长。如果在创建时未指定时长,则默认时长为 24 小时。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

cryptoKeyBackend

string

不可变。与此 CryptoKey 关联的所有 CryptoKeyVersions 的密钥材料所在的后端环境的资源名称,并执行所有相关的加密操作。仅适用于 CryptoKeyVersionsProtectionLevel 为 [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC] 且资源名称格式为 projects/*/locations/*/ekmConnections/* 时。请注意,此列表并非详尽无遗,将来可能会适用于其他ProtectionLevels

联合字段 rotation_schedule。控制自动轮播的速率。rotation_schedule 只能是下列其中一项:
rotationPeriod

string (Duration format)

当服务自动轮替密钥时,nextRotationTime 将提前此时间段。必须至少为 24 小时,至多为 876,000 小时。

如果设置了 rotationPeriod,则必须同时设置 nextRotationTime

具有 purpose ENCRYPT_DECRYPT 的密钥支持自动轮替。对于其他密钥,必须省略该字段。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

方法

getProtectedResourcesSummary

返回有关受给定 Cloud KMS CryptoKey 保护的资源的汇总信息。