您可以为 Secret 版本分配别名,以便更轻松地访问。分配别名后,您可以使用别名访问 Secret 版本,就像通过版本号访问 Secret 版本一样。
所需的角色
如需获取为 Secret 版本分配别名所需的权限,
请让管理员授予您
Secret Manager Admin (roles/secretmanager.admin
) 对 Secret、项目、文件夹或组织的 IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
为 Secret 版本分配别名
如需向 Secret 版本分配别名,请使用以下方法之一:
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击区域级密钥标签页。
-
如需修改 Secret,请使用以下方法之一:
-
点击要修改的密钥的
操作,然后点击修改。 -
点击 Secret 名称可前往 Secret 详情页面。在密钥详情页面上,点击
修改密钥。
-
-
在修改 Secret 页面上,前往版本别名,然后点击添加别名。
-
执行以下操作:
-
指定别名名称。
-
选择要为其分配此别名的 Secret 版本。
-
-
点击更新密钥。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- SECRET_ID:密钥的 ID 或密钥的完全限定标识符。
- LOCATION:Secret 的 Google Cloud 位置
- KEY:版本别名
- VALUE:Secret 版本号
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION \ --update-version-aliases=KEY=VALUE
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --update-version-aliases=KEY=VALUE
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --update-version-aliases=KEY=VALUE
响应包含更新后的密钥。
REST
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:密钥的 Google Cloud 位置
- PROJECT_ID:Google Cloud 项目 ID
- SECRET_ID:Secret 的 ID 或 Secret 的完全限定标识符
- KEY:版本别名
- VALUE:密钥版本号
HTTP 方法和网址:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_aliases
请求 JSON 正文:
{'version-aliases': {'KEY': 'VALUE'}}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_aliases"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_aliases" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T06:34:32.995517Z", "etag": "\"16214584d1479c\"", "versionAliases": { "nonprod": "1" } }
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 范围进行身份验证。
后续步骤
- 了解如何列出区域性 Secret 版本并查看版本详情。
- 了解如何在添加和访问时确保数据完整性 Secret 版本。