本页面介绍了如何在 Cloud KMS 中创建密钥。密钥可以是对称或不对称加密密钥、非对称签名密钥或 MAC 签名密钥。
创建密钥时,您可以将其添加到特定 Cloud KMS 位置的密钥环。您可以创建新的密钥环或使用现有密钥环。在此页面中,您将生成新的 Cloud KMS 或 Cloud HSM 密钥并将其添加到现有密钥环。如需创建 Cloud EKM 密钥,请参阅创建外部密钥。如需导入 Cloud KMS 或 Cloud HSM 密钥,请参阅导入密钥。
准备工作
在完成本页面上的任务之前,您需要做好以下准备:
- 用于包含 Cloud KMS 资源的 Google Cloud 项目资源。我们建议为不含任何其他 Google Cloud 资源的 Cloud KMS 资源使用单独的项目。
- 您要在其中创建密钥的密钥环的名称和位置。请在其他资源附近并且支持您所需保护级别的位置选择密钥环。如需查看可用位置及其支持的保护级别,请参阅 Cloud KMS 位置。如需创建密钥环,请参阅创建密钥环。
- 可选:如需使用 gcloud CLI,请准备您的环境。
gcloud CLI
在 Google Cloud 控制台中,激活 Cloud Shell。
所需的角色
如需获取创建密钥所需的权限,请让管理员向您授予项目或父级资源的 Cloud KMS Admin (roles/cloudkms.admin
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含创建密钥所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
创建密钥需要以下权限:
-
cloudkms.cryptoKeys.create
-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.cryptoKeyVersions.create
-
cloudkms.cryptoKeyVersions.get
-
cloudkms.cryptoKeyVersions.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
-
如需检索公钥,请执行以下操作:
cloudkms.cryptoKeyVersions.viewPublicKey
创建对称加密密钥
控制台
在 Google Cloud 控制台中,前往 Key Management(密钥管理)页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称部分,输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择 Symmetric encrypt/decrypt。
接受轮替周期和开始日期的默认值。
点击创建。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --protection-level "PROTECTION_LEVEL"
请替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。PROTECTION_LEVEL
:要为密钥使用的保护级别,例如software
或hsm
。对于software
键,您可以省略--protection-level
标志。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
如需创建密钥,请使用 CryptoKey.create
方法:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
请替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。PROTECTION_LEVEL
:密钥的保护级别,例如SOFTWARE
或HSM
。ALGORITHM
:HMAC 签名算法,例如HMAC_SHA256
。如需查看所有支持的 HMAC 算法,请参阅 HMAC 签名算法。
创建具有自定义自动轮替的对称加密密钥
创建密钥时,您可以指定其轮替周期,这是系统自动创建新密钥版本的间隔时间。您还可以单独指定下次轮替时间,以便下次轮替时间早于或晚于一个轮替周期。
控制台
当您使用 Google Cloud 控制台创建密钥时,Cloud KMS 会自动设置轮替周期和下次轮替时间。您可以选择使用默认值或指定不同的值。
如需在创建密钥期间,但在点击创建按钮之前指定其他轮替周期和开始时间,请执行以下操作:
在密钥轮替周期部分,选择一个选项。
在开始日期中,选择您希望进行首次自动轮替的日期。您可以将开始日期保留为默认值,以便从创建密钥时起的一个密钥轮替周期内开始第一个自动轮替。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
请替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ROTATION_PERIOD
:轮替密钥的时间间隔,例如30d
(表示每 30 天轮替一次密钥)。轮替周期必须至少为 1 天,最长为 100 年。如需了解详情,请参阅 CryptoKey.rotationPeriod。NEXT_ROTATION_TIME
:完成首次轮替的时间戳,例如"2023-01-01T01:02:03"
。您可以省略--next-rotation-time
,以将首次轮替安排为自运行命令之时起 7 天。如需了解详情,请参阅 CryptoKey.nextRotationTime。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
如需创建密钥,请使用 CryptoKey.create
方法:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
请替换以下内容:
PURPOSE
:密钥的用途。ROTATION_PERIOD
:轮替密钥的时间间隔,例如30d
(表示每 30 天轮替一次密钥)。轮替周期必须至少为 1 天,最长为 100 年。如需了解详情,请参阅 CryptoKey.rotationPeriod。NEXT_ROTATION_TIME
:完成首次轮替的时间戳,例如"2023-01-01T01:02:03"
。您可以省略--next-rotation-time
,以将首次轮替安排为自运行命令之时起 7 天。如需了解详情,请参阅 CryptoKey.nextRotationTime。
设置“已安排销毁”状态的持续时间
默认情况下,Cloud KMS 中的密钥版本在被销毁之前会处于已安排销毁 (DESTROY_SCHEDULED
) 状态 30 天。已安排销毁状态有时称为“软删除状态”。密钥版本保持此状态的时长可以配置,但存在以下限制条件:
- 您只能在密钥创建期间设置时长。
- 键的有效期一经指定,便无法更改。
- 该时长适用于未来创建的密钥的所有版本。
- 所有密钥的最短时长均为 24 小时,但仅限导入的密钥除外,其最短时长为 0。
- 最长时长为 120 天。
- 默认有效期为 30 天。
您的组织可能设有由组织政策定义的最短安排销毁时长值。如需了解详情,请参阅控制密钥销毁。
如需创建对已安排销毁状态使用自定义时长的密钥,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往 Key Management(密钥管理)页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
为您的应用配置密钥的设置。
点击其他设置。
在“已安排销毁”状态的持续时间中,选择密钥在被永久销毁之前保持已安排销毁状态的天数。
点击创建密钥。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose PURPOSE \ --destroy-scheduled-duration DURATION
请替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。PURPOSE
:密钥的用途,例如encryption
。DURATION
:密钥在被永久销毁之前保持在已安排销毁状态的时间。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
我们建议对所有密钥使用默认时长 24 小时,除非您有特定应用或法规要求,要求使用不同的值。
创建非对称密钥
创建非对称解密密钥
按照以下步骤在指定的密钥环和位置创建非对称解密密钥。您可以对这些示例进行调整,以指定不同的保护级别或算法。如需了解详情和替代值,请参阅算法和保护级别。
首次创建密钥时,初始密钥版本的状态为待生成。当状态变为已启用时,您可以使用该密钥。如需详细了解密钥版本状态,请参阅密钥版本状态。
控制台
在 Google Cloud 控制台中,前往 Key Management(密钥管理)页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称部分,输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择 Asame decrypt。
对于 Algorithm,选择 3072 bit RSA - OAEP Padding - SHA256 Digest。您可以在将来的密钥版本上更改此值。
点击创建。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "asymmetric-encryption" \ --default-algorithm "ALGORITHM"
请替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ALGORITHM
:要用于密钥的算法,例如rsa-decrypt-oaep-3072-sha256
。如需查看支持的非对称加密算法的列表,请参阅非对称加密算法。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
通过调用 CryptoKey.create
创建非对称解密密钥。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_DECRYPT", "versionTemplate": {"algorithm": "ALGORITHM"}}'
请替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。ALGORITHM
:要用于密钥的算法,例如RSA_DECRYPT_OAEP_3072_SHA256
。如需查看支持的非对称加密算法的列表,请参阅非对称加密算法。
创建非对称签名密钥
请按照以下步骤在指定的密钥环和位置上创建非对称签名密钥。您可以对这些示例进行调整,以指定不同的保护级别或算法。如需了解详情和替代值,请参阅算法和保护级别。
首次创建密钥时,初始密钥版本的状态为待生成。当状态变为已启用时,您可以使用该密钥。如需详细了解密钥版本状态,请参阅密钥版本状态。
控制台
在 Google Cloud 控制台中,前往 Key Management(密钥管理)页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称部分,输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择非对称签名。
在算法部分,选择椭圆曲线 P-256 - SHA256 摘要。您可以在未来的密钥版本中更改此值。
点击创建。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "asymmetric-signing" \ --default-algorithm "ALGORITHM"
请替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ALGORITHM
:密钥使用的算法,例如ec-sign-p256-sha256
。如需查看支持的算法的列表,请参阅非对称签名算法。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
通过调用 CryptoKey.create
创建非对称签名密钥。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_SIGN", "versionTemplate": {"algorithm": "ALGORITHM"}}'
请替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。ALGORITHM
:要用于密钥的算法,例如EC_SIGN_P256_SHA256
。如需查看支持的算法的列表,请参阅非对称签名算法。
检索公钥
创建非对称密钥时,Cloud KMS 会创建一个公钥/私钥对。生成已启用的非对称密钥后,您可以随时检索该密钥的公钥。
公钥采用隐私权保密增强电子邮件 (PEM) 格式。如需了解详情,请参阅 RFC 7468 部分中的一般注意事项和正文公钥信息的文本编码。
如需下载现有非对称密钥版本的公钥,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往 Key Management(密钥管理)页面。
点击包含您要检索公钥的非对称密钥的密钥环的名称。
点击要检索公钥的密钥的名称。
在与要检索公钥的密钥版本对应的行中,点击查看更多
。点击获取公钥。
公钥显示在提示中。您可以将公钥复制到剪贴板。要下载公钥,请点击下载。
如果您没有看到获取公钥选项,请验证以下内容:
- 该密钥是非对称密钥。
- 密钥版本已启用。
- 您拥有
cloudkms.cryptoKeyVersions.viewPublicKey
权限。
从 Google Cloud 控制台下载的公钥的文件名采用以下格式:
KEY_RING-KEY_NAME-KEY_VERSION.pub
文件名的每个部分都用连字符分隔,例如 ringname-keyname-version.pub
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys versions get-public-key KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --output-file OUTPUT_FILE_PATH
请替换以下内容:
KEY_VERSION
:密钥版本号。KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。OUTPUT_FILE_PATH
:用于保存公钥文件的路径,例如public-key.pub
。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
通过调用 CryptoKeyVersions.getPublicKey 方法检索公钥。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey" \ --request "GET" \ --header "authorization: Bearer TOKEN"
请替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。KEY_VERSION
:密钥版本号。
输出应类似如下所示:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "SOFTWARE" }
将公钥转换为 JWK 格式
Cloud KMS 允许您检索 PEM 格式的公钥。 某些应用可能需要其他密钥格式,例如 JSON Web 密钥 (JWK)。如需详细了解 JWK 格式,请参阅 RFC 7517。
如需将公钥转换为 JWK 格式,请按以下步骤操作:
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
控制对非对称密钥的访问权限
签名者或验证者需要对非对称密钥具有适当的权限或角色。
对于将执行签名的用户或服务,授予对非对称密钥的
cloudkms.cryptoKeyVersions.useToSign
权限。对于将检索公钥的用户或服务,授予对非对称密钥的
cloudkms.cryptoKeyVersions.viewPublicKey
权限。进行签名验证时需要公钥。
如需了解 Cloud KMS 版本中的权限和角色,请参阅权限和角色。
创建 MAC 签名密钥
控制台
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "mac" \ --default-algorithm "ALGORITHM" \ --protection-level "PROTECTION_LEVEL"
请替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ALGORITHM
:HMAC 签名算法,例如hmac-sha256
。如需查看所有支持的 HMAC 算法,请参阅 HMAC 签名算法。PROTECTION_LEVEL
:密钥的保护级别,例如hsm
。对于software
键,您可以省略--protection-level
标志。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
如需创建密钥,请使用 CryptoKey.create
方法:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "MAC", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
请替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。PROTECTION_LEVEL
:密钥的保护级别,例如SOFTWARE
或HSM
。ALGORITHM
:HMAC 签名算法,例如HMAC_SHA256
。如需查看所有支持的 HMAC 算法,请参阅 HMAC 签名算法。
后续步骤
- 了解密钥轮替。
- 了解如何创建和验证签名。
- 了解如何使用 RSA 密钥加密和解密数据。
- 了解如何检索公钥。