本页面介绍了如何创建 Secret。密文包含一个或多个密文版本,以及标签和复制政策等元数据。密文的实际内容存储在密文版本中。
准备工作
-
设置身份验证。
选择标签页以了解您打算如何使用本页面上的示例:
控制台
当您使用 Cloud de Confiance 控制台访问 Cloud de Confiance by S3NS 服务和 API 时,无需设置身份验证。
gcloud
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud initREST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Cloud de Confiance 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得创建密文所需的权限,请让您的管理员为您授予项目、文件夹或组织的 Secret Manager Admin (roles/secretmanager.admin) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
创建 Secret
您可以使用 Cloud de Confiance 控制台、Google Cloud CLI、Secret Manager API 或 Secret Manager 客户端库创建 Secret。
控制台
-
在 Cloud de Confiance 控制台中,前往 Secret Manager 页面。
-
在 Secret Manager 页面上,点击创建 Secret。
-
在创建 Secret 页面的名称字段中,输入 Secret 的名称。 Secret 名称可以包含大写和小写字母、数字、连字符和下划线。允许的名称长度上限为 255 个字符。
-
(可选)(预览版)选择密钥类型。您可以使用 Secret 类型对 Secret 进行分类。
可用的全局 Secret 类型包括:
- 其他数据库凭据:适用于包含数据库凭据的 Secret。
- 访问密钥:包含访问密钥的密文。
- 证书:对于包含证书的 Secret。
- 其他:不属于其他类别的密文。
-
输入密文的值(例如
abcd1234)。密文的值可以采用任何格式,但不得超过 64 KiB。您还可以使用上传文件选项上传包含 Secret 值的文本文件。此操作会自动创建 Secret 版本。 -
点击创建密钥。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- SECRET_ID:Secret 的 ID。
- REPLICATION_POLICY:相应 Secret 的复制政策,可以是自动复制政策,也可以是用户管理的复制政策。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud secrets create SECRET_ID \ --replication-policy="REPLICATION_POLICY"
Windows (PowerShell)
gcloud secrets create SECRET_ID ` --replication-policy="REPLICATION_POLICY"
Windows (cmd.exe)
gcloud secrets create SECRET_ID ^ --replication-policy="REPLICATION_POLICY"
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID: Cloud de Confiance by S3NS 项目 ID。
- SECRET_ID:Secret 的 ID。
- REPLICATION_POLICY:相应 Secret 的复制政策,可以是自动复制政策,也可以是用户管理的复制政策。
HTTP 方法和网址:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
请求 JSON 正文:
{
"replication": {
"REPLICATION_POLICY": {}
}
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"etag": "\"161477e6071da9\""
}
C#
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
要运行此代码,请先设置 C# 开发环境并安装 Secret Manager C# SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Go
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
如需运行此代码,请先设置 Go 开发环境并安装 Secret Manager Go SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Java
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
如需运行此代码,请先设置 Java 开发环境并安装 Secret Manager Java SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Node.js
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
如需运行此代码,请先设置 Node.js 开发环境并安装 Secret Manager Node.js SDK。 在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
PHP
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
如需运行此代码,请先了解如何在 Google Cloud 上使用 PHP 和安装 Secret Manager PHP SDK。在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Python
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
如需运行此代码,请先设置 Python 开发环境并安装 Secret Manager Python SDK。 在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
Ruby
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
要运行此代码,请先设置 Ruby 开发环境并安装 Secret Manager Ruby SDK。 在 Compute Engine 或 GKE 上,您必须使用 cloud-platform 范围进行身份验证。
添加 Secret 版本
Secret Manager 会使用密文版本自动对密文数据进行版本控制。密钥操作(例如访问、销毁、停用和启用)会应用于特定的密文版本。借助 Secret Manager,您可以将密文与特定版本(例如 42)或动态别名(例如 latest)相关联。如需了解详情,请参阅添加 Secret 版本。
访问密文版本
如需访问特定密文版本中的密文数据以成功进行身份验证,请参阅访问密文版本。
后续步骤
- 查看每个项目的不同类型 API 请求(访问、读取和写入)的配额和速率限制。
- 了解如何管理对密文的访问权限。
- 了解如何针对 Secret 设置通知。