使用 Secret Manager 创建和访问 Secret
了解如何使用 Google Cloud 上的 Secret Manager 创建和访问 Secret。
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
准备工作
- 为每个项目启用一次 Secret Manager API。
- 为项目、文件夹或组织分配 Secret Manager 管理员角色 (
roles/secretmanager.admin
)。 使用以下任一方法向 Secret Manager API 进行身份验证:
- 如果您使用客户端库访问 Secret Manager API,请设置应用默认凭据。
- 如果您使用 Google Cloud CLI 访问 Secret Manager API,请使用 Google Cloud CLI 凭据进行身份验证。
- 如需对 REST 调用进行身份验证,请使用 Google Cloud CLI 凭据或应用默认凭据。
创建 Secret 并访问 Secret 版本
以下示例演示了如何创建 Secret 和访问 Secret 版本的内容。
控制台
如需创建 Secret 和 Secret 版本,请执行以下操作:
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击创建密钥。
-
在创建密钥页面的名称下,输入
my-secret
。 -
在密文值字段中,输入
my super secret data
。 -
点击创建密钥按钮。
如需访问密文版本的内容,请按下列步骤操作:
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击 my-secret。
-
在密文详情页面的版本表格中,找到版本 1。
-
在操作列中,点击查看更多
。 -
从菜单中点击查看密文值。
-
将出现一个显示 Secret 值的对话框。点击完成以关闭对话框。
gcloud
如需在命令行上使用 Secret Manager,请先安装或升级到 Google Cloud CLI 378.0.0 或更高版本。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
如需创建密文并将字符串存储为第一个密文版本的内容:
$ echo -n "my super secret data" | gcloud secrets create my-secret \
--replication-policy="replication-policy" \
--data-file=-
其中,replication-policy 是 automatic
或 user-managed
。
如需访问特定密文版本的内容:
$ gcloud secrets versions access 1 --secret="my-secret"
如需访问最新密文版本的内容:
$ gcloud secrets versions access latest --secret="my-secret"
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?secretId=my-secret" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"replication\": {\"automatic\": {}}}"
如需访问密文版本的内容:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/my-secret/versions/1:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
后续步骤
- 了解如何修改 Secret。
- 了解如何管理密文的访问权限。
- 了解如何为密文版本分配别名。
- 了解如何为 Secret 设置通知。
- 了解如何遵循最佳实践。