Secret Manager 是一个安全便捷的存储系统, API 密钥、密码、证书和其他敏感数据。Secret Manager 提供集中、单一的数据源来管理、访问和审核 Google Cloud 中的一些秘诀
您可以使用 Workflows 的 用于 Secret Manager API 的连接器 如何在工作流中访问 Secret Manager。这样可以简化集成,因为连接器会处理请求的格式,并提供方法和参数,这样您就无需了解 Secret Manager API 的详细信息。该连接器还具有用于处理重试和长时间运行的操作的内置行为。如需详细了解如何使用 Workflows 连接器,请参阅了解连接器。
向 Workflows 服务账号授予对 Secret Manager 的访问权限
Secret Manager 使用 Identity and Access Management (IAM) 进行访问权限控制。如需创建、管理、列出或访问密文,必须在项目级和各个资源级授予适当的 IAM 权限。如需了解详情,请参阅使用 IAM 进行访问权限控制。
Workflows 使用服务账号向工作流授予以下访问权限:
Google Cloud 资源。接收者
访问密钥版本时,您必须
授予 Secret Manager Secret Accessor 角色
(roles/secretmanager.secretAccessor
) 针对 Secret、项目、文件夹或
组织给服务账号详细了解
使用用户代管式服务账号部署工作流。
启用 API
在将 Workflows 连接器用于 Secret Manager API 之前,请确保您已启用 Secret Manager 和 Workflows API。
控制台
gcloud
gcloud services enable secretmanager.googleapis.com workflows.googleapis.com
调用连接器调用
与调用 HTTP 端点类似,连接器调用需要 call
和 args
字段。如需了解详情,请参阅调用连接器调用。
除了使用调用步骤之外,您还可以在表达式中调用辅助方法,如下所示:
${googleapis.secretmanager.v1.projects.secrets.versions.accessString(secret_id, version, project_id)}
例如,您可以使用辅助方法 accessString
以字符串形式检索 Secret 数据。这比使用 access
API 作为 Secret 数据更简单
会自动解码为字符串格式。
您还可以使用辅助方法 addVersionString
添加新的 Secret 值
现有密钥这比使用 addVersion
API 更简单,因为系统会自动将秘密数据编码为 base-64 字符串,这是 addVersion
所要求的。
使用 Secret Manager 连接器检索 Secret
以下工作流演示了如何使用 Secret Manager 来检索 Secret。