本主题介绍如何管理对 Secret 的访问权限,包括 秘密材料如需详细了解访问权限控制和权限,请参阅 Secret Manager IAM 文档。
所需的角色
如需管理对密文的访问权限,需要具有密文、项目、文件夹或组织的 Secret Manager 管理员角色 (roles/secretmanager.admin
)。
授予访问权限
控制台
-
转到 Google Cloud 控制台中的 Secret Manager 页面。
-
在 Secret Manager 页面上,点击 Secret 名称旁边的复选框。
-
如果面板尚未打开,请点击显示信息面板以打开面板。
-
在信息面板中,点击添加主账号。
-
在新主账号文本区域中,输入要添加的成员的电子邮件地址。
-
在选择角色下拉列表中,选择 Secret Manager,然后选择 Secret Manager Secret Accessor。
gcloud
如需在命令行中使用 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
如需在命令行上使用 Secret Manager,请先安装或升级到 Google Cloud CLI 378.0.0 或更高版本。在 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\": []}}"
后续步骤
- 了解如何设置密钥的失效日期。
- 了解如何为 Secret 设置轮替时间表。
- 了解如何为 Secret 设置通知。