在 Secret Manager 中,密文是一系列密文版本的封装容器。密文存储标签和复制等元数据,但不包含实际密文。本主题介绍如何管理密文。您还可以管理密文的版本。
准备工作
为每个项目配置一次 Secret Manager 和本地环境。
列出密文
这些示例展示了如何列出您有权在项目中查看的所有密文。
如需列出密文,需要具有密文、项目、文件夹或组织的查看者角色 (roles/secretmanager.viewer
)。不能对密文版本授予 IAM 角色。
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
此页面显示项目中的 Secret 列表。
gcloud CLI
如需通过命令行使用 Secret Manager,请先安装或升级到 378.0.0 或更高版本的 Google Cloud CLI。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ gcloud secrets list
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" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
获取有关密文的详情
这些示例显示如何通过查看密文的元数据来获取密文的详细信息。
如需查看密文的元数据,需要具有密文、项目、文件夹或组织的密文查看者角色 (roles/secretmanager.viewer
)。不能对密文版本授予 IAM 角色。
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击 Secret 的名称进行描述。
-
Secret 详细信息页面列出了有关 Secret 的信息。
gcloud CLI
如需通过命令行使用 Secret Manager,请先安装或升级到 378.0.0 或更高版本的 Google Cloud CLI。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ gcloud secrets describe 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" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
管理对密文的访问权限
这些示例展示了如何管理密文版本(包括密文本身)的访问权限。如需详细了解访问权限控制和权限,请参阅 Secret Manager IAM 文档。
要管理对密文的访问权限,需要具有密文、项目、文件夹或组织的密文管理员角色 (roles/secretmanager.admin
)。不能对密文版本授予 IAM 角色。
要授予访问权限:
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击 Secret 名称旁边的复选框。
-
如果面板尚未打开,请点击显示信息面板以打开面板。
-
在信息面板中,点击添加主帐号。
-
在新主帐号文本区域中,输入要添加的成员的电子邮件地址。
-
在选择角色下拉列表中,选择 Secret Manager,然后选择 Secret Manager Secret Accessor。
gcloud CLI
如需通过命令行使用 Secret Manager,请先安装或升级到 378.0.0 或更高版本的 Google Cloud CLI。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ gcloud secrets add-iam-policy-binding secret-id \
--member="member" \
--role="roles/secretmanager.secretAccessor"
其中,member 是 IAM 成员,例如用户、群组或服务帐号。
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 范围进行身份验证。
注意:与其他示例不同,它将替换整个 IAM 政策。
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:setIamPolicy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"policy\": {\"bindings\": [{\"members\": [\"member\"], \"role\": \"roles/secretmanager.secretAccessor\"}]}}"
如需撤销访问权限:
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击 Secret 名称旁边的复选框。
-
如果面板尚未打开,请点击显示信息面板以打开面板。
-
在信息面板中,展开 Secret Manager Secret Accessor。
-
点击要撤销访问权限的垃圾桶图标。
-
在弹出窗口中,确认并点击移除。
gcloud CLI
如需通过命令行使用 Secret Manager,请先安装或升级到 378.0.0 或更高版本的 Google Cloud CLI。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ gcloud secrets remove-iam-policy-binding secret-id \
--member="member" \
--role="roles/secretmanager.secretAccessor"
其中,member 是 IAM 成员,例如用户、群组或服务帐号。
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 范围进行身份验证。
注意:与其他示例不同,它将替换整个 IAM 政策。
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:setIamPolicy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"policy\": {\"bindings\": []}}"
更新密文
这些示例展示了如何更新密文的元数据。
要更新密文的元数据,需要具有密文或项目的密文管理员角色 (roles/secretmanager.admin
)。不能对密文版本授予 IAM 角色。
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击 Secret 名称旁边的复选框。
-
如果信息面板已关闭,请点击显示信息面板以显示信息。
-
在信息面板中,选择标签标签页。
-
点击添加标签,然后输入包含值(例如
rocks
)的密钥secretmanager
。 -
点击保存。
gcloud CLI
如需通过命令行使用 Secret Manager,请先安装或升级到 378.0.0 或更高版本的 Google Cloud CLI。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ gcloud secrets update secret-id \
--update-labels=key=value
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?updateMask=labels" \
--request "PATCH" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{'labels': {'key': 'value'}}"
删除密文
以下示例显示了如何删除密文及其所有版本。这是一项不可逆转的操作。任何尝试访问已删除密文的服务或工作负载都会收到 Not Found
错误。
如需删除密文,需要具有密文、项目、文件夹或组织的密文管理员角色 (roles/secretmanager.admin
)。不能对密文版本授予 IAM 角色。
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上的操作列中,点击查看更多
。 -
在菜单中选择删除。
-
在删除密文对话框中,输入密文的名称。
-
点击删除密文按钮。
gcloud CLI
如需通过命令行使用 Secret Manager,请先安装或升级到 378.0.0 或更高版本的 Google Cloud CLI。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
$ gcloud secrets delete 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" \
--request "DELETE" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
后续步骤
- 详细了解如何管理密文版本。
- 详细了解如何管理对密文的访问权限。
- 详细了解如何创建和访问密文。
- 详细了解如何使用客户管理的密文进行加密。