Secret Manager 概览

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

本文档介绍了区域性服务,该服务可让您指定 Secret 只能在特定区域中存储或访问。如需了解默认的全局服务,请参阅全局服务文档。如果您不确定需要哪种服务,请参阅全球和区域服务选项。

主要概念

密文是一种包含一系列元数据和密文版本的资源。元数据可以包括复制位置、标签、注释和权限。

Secret 版本用于存储实际的 Secret 数据,例如 API 密钥、密码或证书。每个版本都由唯一的 ID 或时间戳标识。版本提供审核跟踪记录,让您可以跟踪 Secret 随时间的变化情况。

借助 Secret Manager,您可以执行以下操作:

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

  • 加密传输中和静态的 Secret 数据:默认情况下,所有 Secret 都会加密,在传输过程中使用 TLS 加密,静态时使用 AES-256 位加密密钥加密。对于需要更精细控制的用户,您可以使用客户管理的加密密钥 (CMEK) 加密您的 Secret 数据。借助 CMEK,您可以生成新的加密密钥或导入现有加密密钥,以满足您的特定要求。

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

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

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

密文管理和密钥管理之间的区别

密文管理和密钥管理都是数据安全的关键组成部分,但它们服务于不同的目的,并处理不同类型的敏感信息。 选择密文管理还是密钥管理取决于您的具体需求。如果您想安全地存储和管理机密数据,密钥管理系统是合适的工具。如果您想管理加密密钥并执行加密操作,密钥管理系统是更好的选择。

您可以参考下表,了解 Secret Manager 与 Cloud Key Management Service(Cloud KMS) 等密钥管理系统之间的主要区别。

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

密文加密

Secret Manager 始终会在将 Secret 数据持久存储到磁盘之前对其进行加密。如需详细了解 Cloud de Confiance by S3NS 加密选项,请参阅静态加密。

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

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

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

后续步骤