AWS Secrets Manager 密钥的托管轮换 - AWS Secrets Manager

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Secrets Manager 密钥的托管轮换

部分服务提供托管轮换,即服务为您配置和管理轮换。使用托管轮换,您无需使用 AWS Lambda 函数来更新数据库中的密钥和凭证。以下服务提供托管轮换:

有关所有其他类型的密钥,请参阅 轮换 密钥

托管秘密的轮换通常会在一分钟内完成。在轮换期间,检索秘密的新连接可能会获得先前版本的凭证。在应用程序中,我们强烈建议您遵循使用以您的应用程序所需的最低权限创建的数据库用户的最佳实践,而不是使用主用户。对于应用程序用户,为了获得最高可用性,可以使用交替用户轮换策略

更改托管轮换的计划(控制台)
  1. 在 Secrets Manager 控制台中打开托管密钥。您可以访问管理服务中的链接,也可以在 Secrets Manager 控制台中搜索密钥

  2. Rotation schedule(轮换计划)下,在 Schedule expression builder(计划表达式生成器)或 Schedule expression(计划表达式)中,以 UTC 时区格式输入您的计划。Secrets Manager 会将您的计划存储为 rate()cron() 表达式。轮换时段将自动从午夜开始,除非您指定 Start time(开始时间)。您可以每四小时轮换一次密钥。有关更多信息,请参阅 计划表达式

  3. (可选)对于 Window duration(时段持续时间),选择您希望 Secrets Manager 在其间轮换密钥的时段长度,例如 3h 表示三个小时的时段。该时段不得延伸到下一个轮换时段。如果未指定 Window duration(时段持续时间),则对于以小时为单位的轮换计划,时段将在一小时后自动关闭。对于以天为单位的轮换计划,时段将在一天结束时自动关闭。

  4. 选择保存

更改托管轮换的计划 (AWS CLI)
  • 调用 rotate-secret。以下示例在每月 1 日和 15 日 UTC 16:00 至 18:00 之间轮换密钥。有关更多信息,请参阅 计划表达式

    aws secretsmanager rotate-secret \ --secret-id MySecret \ --rotation-rules "{\"ScheduleExpression\": \"cron(0 16 1,15 * ? *)\", \"Duration\": \"2h\"}"