在 Cloud KMS 中,用于加密、解密、签署和验证数据的加密密钥材料存储在密钥版本中。一个密钥具有零个或多个密钥版本。当您轮替密钥时,会创建新的密钥版本。
本主题介绍如何安排密钥版本进行永久销毁。销毁密钥后,使用该密钥加密的数据将无法访问。
提交销毁密钥版本的请求后,除非您通过恢复密钥版本取消销毁请求,否则销毁将在 24 小时后进行。您还可以使用 Identity and Access Management (IAM) 管理对密钥的访问权限。IAM 操作会在数秒内达成一致。如需了解详情,请参阅使用 IAM。
您还可以暂时停用密钥版本。
在本主题的其余部分中,安排销毁密钥称为销毁密钥,即使销毁不是立即进行。
销毁密钥版本
您可以销毁已启用或已停用的密钥版本。
网页界面
转到 Cloud Console 中的加密密钥页面。
点击密钥环的名称,该密钥环包含您要安排销毁其密钥版本的密钥。
点击您要安排销毁其密钥版本的密钥。
选中要安排销毁的密钥版本旁边的复选框。
点击标头中的销毁。
在确认提示中输入密钥名称,然后点击安排销毁。
命令行
要在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Cloud SDK。
gcloud kms keys versions destroy key-version \ --key key \ --keyring key-ring \ --location location
将 key-version 替换为要销毁的密钥的版本。将 key 替换为密钥的名称。将 key-ring 替换为密钥所在的密钥环的名称。将 location 替换为密钥环的 Cloud KMS 位置。
如需了解所有标志和可能值,请使用 --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。
当您提交销毁请求时,密钥版本的状态将变为已安排销毁。24 小时后,密钥版本的状态会变为已销毁。
如需在密钥版本安排销毁后接收提醒,请参阅将 Cloud Monitoring 与 Cloud KMS 搭配使用。
已销毁的密钥版本不是计费资源。
恢复密钥版本
在密钥版本的状态为“已安排销毁”期间,您可以通过提交恢复请求来恢复密钥版本。
网页界面
转到 Cloud Console 中的加密密钥页面。
点击您将恢复其密钥版本的密钥所在密钥环的名称。
点击您要恢复其密钥版本的密钥。
选中要恢复的密钥版本旁边的复选框。
点击标头中的恢复。
在确认提示中,点击恢复。
命令行
要在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Cloud SDK。
gcloud kms keys versions restore key-version \ --key key \ --keyring key-ring \ --location location
将 key-version 替换为要恢复的密钥的版本。将 key 替换为密钥的名称。将 key-ring 替换为密钥所在的密钥环的名称。将 location 替换为密钥环的 Cloud KMS 位置。
如需了解所有标志和可能值,请使用 --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。
恢复请求完成后,密钥版本的状态将变为“已停用”。您必须先启用密钥,然后才能使用它。
必需的 IAM 权限
如需销毁密钥版本,调用者需要拥有密钥、密钥环或项目、文件夹或组织的 cloudkms.cryptoKeyVersions.destroy
IAM 权限。
要恢复密钥版本,调用者需要 cloudkms.cryptoKeyVersions.restore
权限。
这两种权限都授予了 Cloud KMS Admin 角色 (roles/cloudkms.admin
)。