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 的职责分开。
-
通过密钥复制确保高可用性和灾难恢复:您可以跨多个区域复制密钥,确保无论应用位于何地,都能实现高可用性和灾难恢复。您可以选择以下复制政策:
-
自动轮替密钥以满足安全和合规性要求:轮替密钥可防范未经授权的访问和数据泄露。定期更改 Secret 可降低 Secret 过时或被遗忘的风险,并确保遵守许多要求定期轮替敏感凭据的法规框架。
-
使用区域性 Secret 强制执行数据驻留:数据驻留要求某些类型的数据(通常属于特定个人或组织)存储在指定的地理位置。您可以创建区域性 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 文档。