Secret Manager 是一项 Secret 和凭据管理服务, 存储和管理敏感数据,例如 API 密钥、用户名、密码 证书等等。
密文是一种全局资源,包含一系列元数据和密文版本。元数据可以包括复制位置、标签、注释和权限。
密文版本会存储实际的密文数据,例如 API 密钥、密码或证书。每个版本都由唯一的 ID 或时间戳标识。版本可提供审计跟踪 让您可以跟踪 Secret 随时间的变化情况。
使用 Secret Manager,您可以执行以下操作:
-
使用版本管理回滚、恢复和审核:版本可帮助您 管理逐步发布和紧急回滚;如果密钥被意外更改 您可以还原到之前已知良好的版本这样可以最大限度地减少 潜在的停机和安全漏洞版本控制功能会保留对 Secret 所做的更改的历史记录,包括更改人和更改时间。它可以帮助您 审核 Secret 数据并跟踪任何未经授权的访问尝试。您可以将 Secret 版本固定到特定工作负载,并添加别名,以便更轻松地访问 Secret 数据。您还可以停用或销毁不需要的密文版本。
-
加密传输中的机密数据以及静态的 Secret 数据:所有 Secret 默认加密,无论是在传输过程中使用 TLS 加密,还是使用 AES-256 位加密静态加密 键。对于需要更精细控制的对象,您可以加密 Secret 数据 利用由客户管理 加密密钥 (CMEK)。您可以使用 CMEK 生成新的加密密钥或导入现有加密密钥,以满足您的具体要求。
-
使用精细的 Identity and Access Management (IAM) 角色和条件管理对 Secret 的访问权限:借助 IAM 角色和权限,您可以提供对特定 Secret Manager 资源的精细访问权限。您可以将访问、管理、审核和轮替 Secret 的职责分开。
-
自动轮替 Secret 以满足您的安全和合规性要求: 轮替 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 始终会在 Secret 数据持久保存之前对其进行加密 复制到磁盘如需详细了解 Google Cloud 加密选项,请参阅静态加密。
Secret Manager 使用我们为自身的加密数据所使用的同一强化密钥管理系统(包含严格的密钥访问控制和审核)来替您管理服务器端的加密密钥。Secret Manager 使用 AES-256 对静态用户数据进行加密。您无需进行设置或配置,也无需修改服务的访问方式,并且不会造成明显的性能影响。当已获授权的用户访问您的密文数据时,系统会自动以透明方式解密该数据。
Secret Manager API 始终通过安全的 HTTP(S) 连接进行通信。
需要额外保护层的用户可以启用 CMEK,并使用存储在 Cloud Key Management Service 中的自有加密密钥来保护存储在 Secret Manager 中的密文。如需详细了解如何使用客户管理的加密密钥,请参阅为区域性 Secret 添加 CMEK 加密。