自动轮换密钥 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

自动轮换密钥

Secrets Manager 为 Amazon RDS、Amazon DocumentDB 和 Amazon Redshift 密钥提供了完整的轮换模板。有关更多信息,请参阅自动轮换 Amazon RDS、Amazon DocumentDB 或 Amazon Redshift 密钥

对于其他类型的密钥,您可以创建自己的轮换函数。Secrets Manager 提供了多个可用作起始点的 其他密钥类型。如果您使用 Secrets Manager 控制台或 Amazon Serverless Application Repository 控制台从模板创建函数,然后还会自动设置 Lambda 执行角色。

自动轮换秘密的另一种方法是使用 Amazon CloudFormation 创建密钥,然后包含 AWS::SecretsManager::RotationSchedule。请参阅在 Amazon CloudFormation 中自动化密钥的创建

在开始之前,您需要:

  • 包含要轮换的信息的秘密,例如数据库或服务用户的凭据。

启用轮换(控制台)

  1. 打开 Secrets Manager 控制台:https://console.aws.amazon.com/secretsmanager/

  2. 密钥列表页上,选择您的密钥。

  3. Secret details (密钥详细信息) 页上的 Rotation configuration (轮换配置) 部分中,选择 Edit rotation (编辑轮换)。这些区域有:编辑轮换配置此时将打开对话框。执行以下操作:

    1. 启用 Automatic rotation(自动轮换)。

    2. Rotation schedule(轮换时计划)下,通过执行以下操作之一以 UTC 时区输入您的计划:

      • 选择 Schedule expression builder(计划表达式生成器),以某种格式构建计划。Secrets Manager 会将您的计划存储为 rate()cron() 表达式。轮换时段将自动从午夜开始,除非您指定 Start time(开始时间)。

      • 选择 Schedule expression(计划表达式),然后执行以下操作之一:

        • 为您的计划输入 cron 表达式,例如,cron(0 21 L * ? *),它将在每月最后一天的晚上 9:00 UTC+0 轮换密钥。Secrets Manager 的 cron 表达式的分钟字段必须填写 0,因为 Secrets Manager 轮换时段将在整点开始。其年份字段必须填写 *,因为 Secrets Manager 不支持相隔一年以上的轮换计划。有关更多信息,请参阅 计划表达式

        • 为每日比率输入 rate 表达式,例如,rate(10 days),它将每 10 天轮换一次密钥。表达式必须包括 rate()。通过 rate 表达式,轮换时段将自动从午夜开始。

    3. (可选)对于 Window duration(时段持续时间),选择您希望 Secrets Manager 在其间轮换密钥的时段长度,例如 3h 表示三个小时的时段。时段不能包含下一个 UTC 日。如果您未指定 Window duration(时段持续时间),则轮换时段将自动在一天结束时结束。

    4. Rotation function(轮换函数)下,执行以下操作之一:

      1. 如果您已经为此类密钥创建了轮换函数,请选择。

      2. 否则,选择创建函数。在 Lambda 控制台中,创建新的轮换函数。如果您看到 Browse serverless app repository(浏览无服务器应用程序存储库),选择此选项,然后选择 Show apps that create custom IAM roles or resource policies(显示创建自定义 IAM 角色或资源策略的应用程序),并选择 SecretsManagerRotationTemplate。否则,请选择从 scratch 开始创作,然后使用 其他密钥类型 作为您的函数的起点。执行 轮换的工作原理 中所述的每个步骤。

        函数完成后,请返回 Secrets Manager 控制台以完成您的密钥。对于选择 Lambda 函数,选择刷新按钮。然后在函数列表中,选择您的新函数。

    5. 选择保存

要解决常见轮换问题的帮助,请参阅 Amazon Secrets Manager 密钥轮换问题排查

Amazon SDK 和 Amazon CLI

要启用轮换,请参阅 rotate-secret

Amazon 开发工具包

要启用轮换,请使用 RotateSecret 操作。有关更多信息,请参阅 Amazon 软件开发工具包