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 的职责分开。
-
通过密钥复制确保高可用性和灾难恢复:您可以跨多个区域复制密钥,确保无论应用位于何地,都能实现高可用性和灾难恢复。您可以从以下复制政策中进行选择:
-
自动轮替密钥以满足安全和合规性要求:轮替密钥可防范未经授权的访问和数据泄露。定期更改 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 管理的密钥或客户管理的密钥加密静态和传输中的 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 文档 详细了解如何配置和使用客户管理的加密密钥。