通过 Lambda 函数进行旋转 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

通过 Lambda 函数进行旋转

对于许多类型的密钥,Secrets Manager 使用 Amazon Lambda 函数来更新密钥以及数据库或服务。有关使用 Lambda 函数的成本的信息,请参阅 定价

对于某些 由其他服务管理的密钥,可使用托管轮换。要使用 托管轮换,请首先通过管理服务来创建密钥。

在轮换期间,Secrets Manager 会录入指示轮换状态的事件。有关更多信息,请参阅 使用记录 Amazon Secrets Manager 事件 Amazon CloudTrail

要轮换密钥,Secrets Manager 会根据你设置的轮换计划调用 Lambda 函数。如果在设置自动轮换时也手动更新密钥值,则 Secrets Manager 在计算下一次轮换日期时会认为这是有效的轮换。

在轮换过程中,Secrets Manager 调用几次同一函数,每次使用不同的参数。Secrets Manager 使用以下JSON请求参数结构调用该函数:

{ "Step" : "request.type", "SecretId" : "string", "ClientRequestToken" : "string", "RotationToken" : "string" }
参数:
  • 步骤-旋转步骤:create_secretset_secrettest_secret、或finish_secret。有关更多信息,请参阅 旋转功能的四个步骤

  • SecretId— 轮换ARN的秘诀。

  • ClientRequestToken— 新版本密钥的唯一标识符。此值有助于确保等性。有关更多信息,请参阅《Amazon Secrets Manager API参考资料》 ClientRequestToken中的 PutSecretValue:

  • RotationToken— 表示请求来源的唯一标识符。对于跨账户轮换(当您在另一个账户中使用 Lambda 轮换函数轮换一个账户中的密钥时),并且轮换函数扮演IAM一个角色来调用 Secrets Manager,Secrets Manager 会使用轮换令牌验证身份。

如果任何轮换步骤失败,Secrets Manager 会多次重试整个轮换过程。