Secret Manager 概览

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

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

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

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

  • 使用版本管理回滚、恢复和审核:版本可帮助您管理逐步发布和紧急回滚。如果密文意外更改或遭到入侵,您可以还原到之前的已知良好版本。这样可以最大限度地减少潜在的停机时间和安全漏洞。版本控制功能会保留对 Secret 所做的更改的历史记录,包括更改人和更改时间。它有助于您审核 Secret 数据并跟踪任何未经授权的访问尝试。您可以将 Secret 版本固定到特定工作负载,并添加别名,以便更轻松地访问 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 管理的密钥或客户管理的密钥对静态密钥和传输中密钥进行加密。 为其他服务提供加密和解密功能。
    典型使用场景 存储应用运行时所需的数据库密码、API 密钥或 TLS 证书等配置信息。 处理大型加密工作负载,例如加密数据库中的行或加密二进制文件数据(如映像和文件)。您还可以使用 Cloud KMS 执行其他加密操作,例如签名和验证。

    密文加密

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

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

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

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

    后续步骤