在 Cloud KMS 中,用于加密、解密、签署和验证数据的加密密钥材料存储在密钥版本中。一个密钥具有零个或多个密钥版本。当您轮替密钥时,会创建新的密钥版本。
本主题介绍如何停用密钥版本。在密钥停用期间,无法访问使用该密钥加密的数据。要访问数据,您可以重新启用密钥版本。
停用密钥版本会在几秒钟到三小时内达成一致。启用密钥版本几乎是即时的。您还可以使用 Identity and Access Management (IAM) 管理对密钥版本的访问权限。IAM 操作会在数秒内达成一致。如需了解详情,请参阅使用 IAM。
您还可以永久销毁密钥版本。根据您的组织政策,您可能需要先停用密钥版本,然后才能将其销毁。如需了解详情,请参阅控制键版本销毁。
停用密钥版本
您可以停用处于启用状态的密钥版本。在停用密钥版本之前,我们建议您检查该密钥是否仍在使用中。您可以查看密钥的密钥使用情况跟踪详情,了解该密钥是否在保护 CMEK 资源。如果有任何资源受您要停用的密钥版本保护,请先使用其他密钥版本重新加密这些资源,然后再停用该密钥。
控制台
转到 Google Cloud 控制台中的密钥管理页面。
点击您将停用其密钥版本的密钥所在密钥环的名称。
点击您要停用其密钥版本的密钥。
选中要停用的密钥版本旁边的复选框。
点击标头中的停用。
在确认提示中,点击停用。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys versions disable 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。
提交请求后,密钥版本的状态会变为“已停用”。
已停用的密钥版本是计费资源。
停用或销毁外部密钥
要暂时停用 Cloud EKM 密钥与外部密钥之间的关联,您可以停用 Cloud EKM 密钥或密钥版本。建议停用所有密钥版本。停用密钥会在三小时内生效。
停用密钥后,您还应该撤消对该密钥的访问权限。IAM 操作会在数秒内达成一致。此外,请考虑撤消 Google Cloud 服务账号在外部密钥管理合作伙伴系统中的访问权限。
要永久移除 Cloud EKM 密钥与外部密钥之间的关联,您可以安排销毁 Cloud EKM 密钥版本。在安排的销毁期限结束后,密钥会被销毁。销毁密钥版本是永久性的。密钥版本销毁后,您就无法再加密数据或解密使用 Cloud EKM 密钥版本加密的数据。即使您使用相同的外部密钥 URI 或密钥路径,也无法重新创建已被销毁的 Cloud EKM 密钥版本。销毁外部密钥材料时,我们建议先销毁 Google Cloud 中的密钥或密钥版本,然后仅在销毁 Cloud EKM 密钥后,再销毁外部密钥管理器中的密钥材料。
在 Cloud KMS 中停用密钥或密钥版本不会修改外部密钥管理合作伙伴系统中的密钥。
在 Cloud KMS 中销毁手动管理的密钥版本不会修改外部密钥管理合作伙伴系统中的密钥。在 Cloud KMS 中销毁协调的外部密钥版本会销毁内部密钥材料,并向外部密钥管理合作伙伴系统发送请求以销毁外部密钥材料。
启用密钥版本
您可以启用处于停用状态的密钥版本。
控制台
转到 Google Cloud 控制台中的密钥管理页面。
点击您将启用其密钥版本的密钥所在密钥环的名称。
点击您要启用其密钥版本的密钥。
选中要启用的密钥版本旁边的复选框。
点击标头中的启用。
在确认提示中,点击启用。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys versions enable 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.update
IAM 权限。
此权限授予了 Cloud KMS Admin 角色 (roles/cloudkms.admin
)。