Secret Manager 概览

Secret Manager 是一项 Secret 和凭据管理服务,可让您存储和管理 API 密钥、用户名、密码、证书等敏感数据。

Secret 是一种全球性资源,包含一组元数据和密钥版本。元数据可以包括标签、注释和权限。

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

使用 Secret Manager,您可以执行以下操作:

  • 使用版本管理回滚、恢复和审核:版本可帮助您 管理逐步发布和紧急回滚;如果密钥被意外更改 您可以还原到之前已知良好的版本这样可以最大限度地减少 潜在的停机和安全漏洞版本控制功能会保留对 Secret 所做的更改的历史记录,包括更改人和更改时间。它可以帮助您 审核 Secret 数据并跟踪任何未经授权的访问尝试。您可以将 Secret 版本固定到特定工作负载,并添加别名,以便更轻松地访问 Secret 数据。您还可以 disable销毁 Secret 一些不需要的版本。

  • 加密传输中的机密数据以及静态的 Secret 数据:所有 Secret 默认加密,无论是在传输过程中使用 TLS 加密,还是使用 AES-256 位加密静态加密 键。对于需要更精细控制的用户,您可以使用客户管理的加密密钥 (CMEK) 加密 Secret 数据。使用 CMEK,您可以生成新的加密密钥或导入现有密钥 以满足您的特定要求。

  • 使用精细的 Identity and Access Management (IAM) 角色和条件管理对 Secret 的访问权限: 借助 IAM 角色和权限, 您可以提供精细访问权限 特定 Secret Manager 资源的权限。您可以将访问、管理、审核和轮替 Secret 的职责分开。

  • 通过密钥复制确保高可用性和灾难恢复:您可以跨多个区域复制密钥,确保无论应用位于何地,都能实现高可用性和灾难恢复。您可以从以下复制政策中进行选择:

    • 自动复制:由 Google 决定 考虑可用性和延迟时间您只需为一个位置付费。

    • 用户管理的复制:您可以根据自己的需求选择一组自定义区域。您需要按营业地点付费。

  • 自动轮替密钥以满足安全和合规性要求轮替密钥可防范未经授权的访问和数据泄露。定期更改 Secret 可降低 Secret 过时或被遗忘的风险,并确保遵守许多要求定期轮替敏感凭据的法规框架。

  • 使用区域 Secret 强制执行数据驻留数据驻留 要求特定类型的数据(通常属于特定个人或 组织存储在确定的地理位置内。您可以创建 区域级 Secret 并将您的敏感数据存储在特定位置,以遵守数据主权法 和法规。

  • Secret 管理和密钥管理之间的区别

    密文管理和密钥管理都是数据安全的关键组成部分,但它们的用途各不相同,处理的敏感信息类型也不同。在 Secret 管理和密钥管理之间进行选择取决于您的具体需求。如果您想安全地存储和管理机密数据,密钥管理系统就是合适的工具。如果您要管理加密密钥并执行加密操作, 密钥管理系统是更好的选择。

    您可以通过下表了解 Secret Manager 之间的主要区别 以及密钥管理系统(例如 Cloud Key Management Service(Cloud KMS)

    特征 Secret Manager Cloud KMS
    主要功能 以二进制 blob 或文本字符串的形式存储、管理和访问 Secret。 管理加密密钥,并使用它们加密或解密数据。
    存储的数据 实际 Secret 值。有了相应权限,您就可以 密钥的内容 加密密钥。您无法查看、提取或导出实际 用于加密和传送数据的加密密钥(位和字节) 解密操作。
    加密 使用 Google 管理的密钥或客户管理的密钥加密静态和传输中的 Secret。 为其他服务提供加密和解密功能。
    典型使用场景 存储应用运行时所需的数据库密码、API 密钥或 TLS 证书等配置信息。 处理大型加密工作负载,例如加密数据库中的行或 对映像和文件等二进制数据进行加密。您还可以使用 Cloud KMS 执行其他加密操作(例如签名和验证)。

    密文加密

    Secret Manager 始终会在 Secret 数据持久保存之前对其进行加密 复制到磁盘如需详细了解 Google Cloud 加密选项,请参阅静态加密

    Secret Manager 使用我们为自身的加密数据所使用的同一强化密钥管理系统(包含严格的密钥访问控制和审核)来替您管理服务器端的加密密钥。Secret Manager 使用 AES-256 对静态用户数据进行加密。您无需进行设置或配置,也无需修改服务的访问方式,并且不会造成明显的性能影响。当已获授权的用户访问您的密文数据时,系统会自动以透明方式解密该数据。

    Secret Manager API 始终通过安全的 HTTP(S) 连接进行通信。

    如果需要额外保护层,可以启用 CMEK 并使用自己的 加密密钥存储在 Cloud Key Management Service 中,用于保护存储在 Secret Manager请参阅 CMEK 文档 详细了解如何配置和使用客户管理的加密密钥。

    后续步骤