本页介绍了如何在 Cloud KMS 中创建密钥。密钥可以是对称加密密钥、非对称加密密钥、非对称签名密钥或 MAC 签名密钥。
创建密钥时,您将其添加到特定 Cloud KMS 位置中的密钥环。您可以创建新的密钥环,也可以使用现有的密钥环。 在此页面中,您可以生成新的 Cloud KMS 或 Cloud HSM 密钥,并将其添加到现有密钥环。 如需创建 Cloud EKM 密钥,请参阅创建外部密钥。如需导入 Cloud KMS 或 Cloud HSM 密钥,请参阅导入密钥。
准备工作
在完成本页面上的任务之前,您需要满足以下条件:
- 用于包含 Cloud KMS 资源的 Google Cloud 项目资源。我们建议您为 Cloud KMS 资源使用一个单独的项目,该项目不包含任何其他 Google Cloud 资源。
- 您要创建密钥的密钥环的名称和位置。 选择一个靠近其他资源且支持您选择的保护等级的位置来放置钥匙串。 如需查看可用位置及其支持的保护级别,请参阅 Cloud KMS 位置。 如需创建密钥环,请参阅创建密钥环。
- 可选:如需使用 gcloud CLI,请准备好环境。
In the Google Cloud console, activate 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 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称中,输入密钥的名称。
对于保护级别,选择软件或 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
,以将轮替安排在自运行命令开始的一个轮替周期内。如需了解详情,请参阅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
。如需了解详情,请参阅CryptoKey.nextRotationTime
。
设置“已安排销毁”状态的持续时间
默认情况下,Cloud KMS 中的密钥版本会处于“已安排销毁”(DESTROY_SCHEDULED
) 状态 30 天,然后才会被销毁。“已安排销毁”状态有时称为“软删除状态”。密钥版本在此状态下保持的时长可配置,但需满足以下约束条件:
- 您只能在创建密钥时设置时长。
- 指定密钥时长后,便无法更改。
- 该时长适用于未来创建的所有密钥版本。
- 所有密钥的最短时长均为 24 小时,但仅限导入的密钥除外,其最短时长为 0。
- 最长时长为 120 天。
- 默认时长为 30 天。
贵组织可能有由组织政策定义的最短安排销毁时长值。如需了解详情,请参阅控制密钥销毁。
如需创建一个为已安排销毁状态使用自定义时长的键,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
为应用配置密钥的设置。
点击其他设置。
在“已安排销毁”状态的持续时间中,选择密钥在永久销毁之前处于已安排销毁状态的天数。
点击创建密钥。
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
标志运行命令。
我们建议您对所有密钥使用 30 天的默认时长,除非有特定的应用要求或监管要求规定使用其他值。
创建非对称密钥
以下部分介绍了如何创建非对称密钥。
创建非对称解密密钥
按照以下步骤在指定的密钥环和位置创建非对称解密密钥。您可以根据需要调整这些示例,以指定不同的保护级别或算法。如需了解详情和替代值,请参阅算法和保护级别。
首次创建密钥时,初始密钥版本的状态为待生成。当状态变为已启用时,您便可以使用该密钥。如需详细了解密钥版本状态,请参阅密钥版本状态。
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称中,输入密钥的名称。
对于保护级别,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择非对称解密。
对于算法,请选择 3072 位 RSA - OAEP 填充 - SHA256 摘要。您可以在将来的密钥版本上更改此值。
点击创建。
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 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称中,输入密钥的名称。
对于保护级别,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,请选择非对称签名。
对于 Algorithm(算法),请选择 Elliptic Curve P-256 - SHA256 Digest。您可以在将来的密钥版本上更改此值。
点击创建。
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 控制台中,前往密钥管理页面。
点击包含您要检索公钥的非对称密钥的密钥环的名称。
点击要检索公钥的密钥的名称。
在与要检索公钥的密钥版本对应的行中,点击查看更多
。点击获取公钥。
公钥显示在提示中。您可以将公钥复制到剪贴板。要下载公钥,请点击下载。
如果您没有看到获取公钥选项,请验证以下各项:
- 该密钥是非对称密钥。
- 密钥版本已启用。
- 您拥有
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": "PROTECTION_LEVEL" }
将公钥转换为 JWK 格式
借助 Cloud KMS,您可以检索 PEM 格式的公钥。某些应用可能需要其他密钥格式,例如 JSON Web Key (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 密钥对数据进行加密和解密。
- 了解如何检索公钥。