使用 Secret Manager 存储敏感数据

Datastream 与 Secret Manager 集成,可让您安全地存储身份验证资源,例如源数据库密码。在创建连接配置文件时,请创建并使用 Secret,而不是使用纯文本密码。

什么是 Secret

Secret 是包含元数据(例如标签、注释和权限)的全球资源。

Secret 还有Secret 版本。密文版本会存储 Secret 资源的实际数据,例如 API 密钥、密码或证书。每个版本都有一个唯一标识符或时间戳。

Secret 与加密密钥有何不同

管理 Secret 与管理加密密钥同样重要,但侧重点有所不同。您可以根据应用场景和存储的敏感信息类型,使用其中一种方法。

通常,您会选择使用 Secret 以二进制 blob 或文本字符串的形式安全地存储和管理敏感数据。Secret 会存储实际数据,但若要访问这些数据,您需要拥有 Secret 元数据中定义的特定权限。

另一方面,如果您需要加密或解密数据,则加密密钥是更好的选择。您无法查看或提取用于加密的实际加密数据。Cloud Key Management Service 等密钥管理系统通常用于管理更高要求的场景,例如加密数据库中的行或图片和文件。

如果您需要为数据额外添加一层保护,可以启用客户管理的加密密钥 (CMEK),并使用存储在 Cloud Key Management Service 中的自有加密密钥来保护 Secret Manager 中的 Secret。如需详细了解如何将 CMEK 与 Datastream 搭配使用,请参阅使用客户管理的加密密钥 (CMEK)

将 Secret Manager 与 Datastream 搭配使用

如需存储敏感数据以便与 Datastream 搭配使用,您需要使用 Secret Manager 创建 Secret。如需了解详情,请参阅创建 Secret

您还可以在为连接配置文件定义连接详细信息时创建密文。如需了解详情,请参阅创建连接配置文件

所需的角色

如需获得将 Secret Manager 与 Datastream 搭配使用所需的权限,请让您的管理员为您授予 Datastream 服务账号的 Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。