本主题介绍了如何销毁密钥版本。在已销毁状态下,密文版本的内容将被舍弃。销毁 Secret 版本是永久性的。您将无法再访问该密钥。密钥版本不能更改为 另一个状态。
在销毁某个密钥版本之前,请尝试将其停用,然后 并观察应用的行为如果您遇到意外问题,可以重新启用密文版本。
停用或销毁密文或密文版本时,更改需要过一段时间才能应用于系统中。如有必要,您可以撤销对密文的 IAM 访问权限。IAM 权限的更改会在数秒内达成一致。
所需的角色
为了获得销毁密钥版本所需的权限,
请让管理员授予您
针对密钥的 Secret Manager Secret Version Manager (roles/secretmanager.secretVersionManager
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
销毁密文版本
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击密文的名称。
-
在密文详情页面的版本表中,找到要访问的密文版本。
-
在操作列中,点击查看更多
。 -
从菜单中点击销毁。
-
在销毁密文版本对话框中,输入密文的名称。
-
点击销毁所选版本按钮。
gcloud
如需在命令行上使用 Secret Manager,请先安装或升级到 Google Cloud CLI 378.0.0 或更高版本。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ gcloud secrets versions destroy version-id --secret="secret-id"
C#
如需运行此代码,请先设置 C# 开发环境并安装 Secret Manager C# SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Secret Manager Go SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Java
如需运行此代码,请先设置 Java 开发环境并安装 Secret Manager Java SDK。 在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Node.js
要运行此代码,请先设置 Node.js 开发环境并 安装 Secret Manager Node.js SDK。 在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
PHP
如需运行此代码,请先了解如何在 Google Cloud 上使用 PHP,然后 安装 Secret Manager PHP SDK。 在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Python
如需运行此代码,请先设置 Python 开发环境并安装 Secret Manager Python SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Ruby
如需运行此代码,请先设置 Ruby 开发环境并安装 Secret Manager Ruby SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
API
这些示例使用 curl 来使用 API 演示。 您可以使用 gcloud auth print-access-token 生成访问令牌。 在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:destroy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
推迟销毁密钥版本
Secret Manager 管理员可以通过为密钥开启延迟密钥版本销毁功能,设置延迟销毁密钥版本。如果 启用此功能后,系统不会根据请求立即销毁密钥版本。 相反,系统会停用密钥版本,并安排在日后销毁该版本。在此期间,Secret Manager 管理员可以恢复密钥版本。如需了解详情,请参阅延迟销毁密钥版本