一般性问题

AWS Secrets Manager 是一种密钥管理服务,可帮助保护对应用程序、服务和 IT 资源的访问。通过该项服务,您可以在数据库凭证、API 密钥和其他密钥的整个生命周期内轻松地对其进行轮换、管理和检索。使用 Secrets Manager,您可以保护和管理用于访问 AWS 云、第三方服务和本地的资源的密钥。

AWS Secrets Manager 保护对应用程序、服务和 IT 资源的访问,而无需运营您自己的基础设施的前期投资和持续维护成本。

Secrets Manager 适用于正在寻找一种安全且可扩展的方法来存储和管理密钥的 IT 管理员。负责满足法规和合规性要求的安全管理员可以使用 Secrets Manager 监控密钥并轮换密钥,而不会有影响应用程序的风险。想要替换其应用程序中的硬编码密钥的开发人员可以编程方式从 Secrets Manager 中检索密钥。

AWS Secrets Manager 让您可以集中存储、检索、轮换、审核、监控密钥并控制对密钥的访问。

您可以静态加密密钥以减少未授权用户查看敏感信息的可能性。要检索密钥,您只需使用 Secrets Manager API 将应用程序中的纯文本格式的密钥替换为代码,以编程方式调出这些密钥。您使用 AWS Identity and Access Management (IAM) 策略控制可以访问此类密钥的用户和应用程序。您可以按计划或按需为托管在 AWS 上的受支持数据库类型轮换密码,而不会有影响应用程序的风险。您可以通过修改示例 Lambda 函数扩展此功能以轮换其他密钥,如托管在 Amazon EC2 上的 Oracle 数据库密码或 OAuth 刷新令牌。您还可以审核和监控密钥,因为 Secrets Manager 可与 AWS CloudTrailAmazon CloudWatchAmazon Simple Notification Service (Amazon SNS) 集成。

您可以管理数据库凭证、本地资源凭证、SaaS 应用程序凭证、第三方 API 密钥和 Secure Shell (SSH) 密钥等密钥。Secrets Manager 让您可以存储 JSON 文档,此文档允许您管理大小不超过 64 KB 的任何文本简介。

您可以本机轮换 Amazon Relational Database Service (RDS)、Amazon DocumentDBAmazon Redshift 的凭证。您可以通过修改 Secrets Manager 文档中提供的示例 AWS Lambda 函数扩展 Secrets Manager 以轮换其他密钥,如托管在 EC2 上的 Oracle 数据库凭证或 OAuth 刷新令牌。

首先,您必须编写 AWS Identity and Access Management (IAM) 策略,允许您的应用程序访问特定密钥。然后,在应用程序源代码中,您可以使用 Secrets Manager API 将纯文本格式的密钥替换为代码,以便以编程方式检索这些密钥。有关完整的详细信息和示例,请参阅 AWS Secrets Manager 用户指南

开始使用 AWS Secrets Manager:

  1. 标识您的密钥并定位它们在应用程序中使用的位置。
  2. 使用您的 AWS 凭证登录到 AWS 管理控制台并导航至 Secrets Manager 控制台
  3. 使用 Secrets Manager 控制台上传已标识的密钥。或者,您可以使用 AWS 软件开发工具包或 AWS CLI 上传密钥(每个密钥一次)。还可以编写脚本以上传多个密钥。
  4. 如果您的密钥尚未使用,请按照控制台上的说明配置自动轮换。如果应用程序正在使用您的密钥,请在配置自动轮换前完成步骤 (5) 和 (6)。
  5. 如果其他用户或应用程序需要检索密钥,请编写 IAM 策略以授予访问密钥的权限。
  6. 更新您的应用程序以便从 Secrets Manager 检索密钥。

请访问 AWS 区域表,了解目前提供 AWS 服务的区域。

轮换

通过 AWS Secrets Manager,您可以按计划配置数据库凭证轮换。这样您即可按照安全性最佳实践操作并实现数据库凭证的安全轮换。当 Secrets Manager 启动轮换时,它使用您提供的超级数据库凭证创建具有相同权限但使用不同密码的克隆用户。然后,Secrets Manager 向检索数据库凭证的数据库和应用程序传递克隆用户信息。要了解轮换的更多信息,请参阅 AWS Secrets Manager 轮换指南

不会,建立连接时会进行身份验证。在 AWS Secrets Manager 轮换数据库凭证时,打开的数据库连接不会重新进行身份验证。

您可以在 AWS Secrets Manager 轮换密钥时配置 Amazon CloudWatch Events 以接收通知。您还可以使用 Secrets Manager 控制台或 API 查看 Secrets Manager 最后一次轮换密钥的时间。

安全性

AWS Secrets Manager 使用您拥有并存储在 AWS Key Management Service (KMS) 中的加密密钥进行静态加密。您可以使用 AWS Identity and Access Management (IAM) 策略来控制对密钥的访问。检索密钥时,Secrets Manager 将解密密钥并将其通过 TLS 安全传输到本地环境。默认情况下,Secrets Manager 不会将密钥写入或缓存到永久存储。

您可以使用 AWS Identity and Access Management (IAM) 策略控制用户和应用程序的访问权限,以检索或管理特定密钥。例如,您可以创建一个只允许开发人员检索用于开发环境的密钥的策略。要了解更多信息,请访问 AWS Secrets Manager 的身份验证和访问控制

AWS Secrets Manager 使用信封加密 (AES-256 加密算法) 在 AWS Key Management Service (KMS) 中加密密钥。

首次使用 Secrets Manager 时,您可以指定 AWS KMS 密钥以加密密钥。如果您未提供 KMS 密钥,Secrets Manager 会自动为您的账户创建 AWS KMS 默认密钥。存储密钥时,Secrets Manager 从 KMS 请求纯文本和加密数据密钥。Secrets Manager 使用纯文本数据密钥加密内存中的密钥。AWS Secrets Manager 存储和维护加密密钥和加密数据密钥。检索密钥时,Secrets Manager(使用 AWS KMS 默认密钥)解密数据密钥并使用纯文本数据密钥解密密钥。数据密钥加密存储且绝不以纯文本形式写入磁盘。此外,Secrets Manager 不会将纯文本密钥写入或缓存到永久存储。

计费

使用 Secrets Manager 时,您仅需按用量付费,而且没有最低费用。开始使用服务时,没有安装费,用户无需对服务的使用签订任何长期使用期限合约。每个月底将自动向您的信用卡收取当月使用费。将根据存储的密钥数量和每月向服务提出的 API 请求向您收费。

有关当前定价信息,请访问 AWS Secrets Manager 定价

可以,您可以通过 AWS Secrets Manager 30 天免费试用版试用 Secrets Manager,无需额外费用。免费试用版允许您在 30 天内轮换、管理和检索密钥。免费试用期从您存储第一个密钥时开始计算。