自定义 Secrets Manager 提供的 Lambda 轮换函数 - AWS Secrets Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

自定义 Secrets Manager 提供的 Lambda 轮换函数

您可以自定义 Lambda 轮换函数,以满足组织的独特安全要求。此类要求可能包括:

  • 添加针对新密钥版本的其他测试。您希望确保权限正确地与新凭证相关联。

  • 您希望使用策略来轮换密钥,而且该策略需不同于 Secrets Manager 提供的 Lambda 函数所使用的策略。

要自定义函数,您必须先查找 Secrets Manager 为您创建的函数。如果您无法在 Secrets Manager 控制台中查看函数的 ARN,您可以使用 AWS CLI 或等效的 AWS 开发工具包操作检索该 ARN。

$ aws secretsmanager describe-secret --secret-id MyDatabaseSecret

在响应中查找 RotationLambdaARN 值。

编辑您的 Lambda 轮换函数

请按照以下选项卡之一中的步骤进行操作:

Using the Secrets Manager console
  1. 确定您的密钥的 Lambda 轮换函数的名称。

    1. 从密钥列表上,选择要修改轮换的密钥名称。

    2. 轮换配置部分中,检查轮换 ARN。:function: 后面的 ARN 部分是函数的名称。

  2. 通过以下网址打开 AWS Lambda 控制台:https://console.amazonaws.cn/lambda/

  3. 选择要修改的 Lambda 轮换函数的名称。

  4. 对该函数进行所需的更改。

Using the AWS CLI or AWS SDK operations
  1. 确定您的密钥的 Lambda 轮换函数的名称。要执行此操作,请运行以下命令并检查 :function: 后面的 RotationLambdaARN 部分。

    $ describe-secret --secret-id MySecret { "ARN": "arn:aws-cn:secretsmanager:us-west-2:123456789012:secret:MySecret-abc123", "Name": "MySecret", "RotationLambdaARN": "arn:aws-cn:lambda:us-west-2:123456789012:function:name_of_rotation_lambda_function", "LastChangedDate": 1519940941.014, "SecretVersionsToStages": { "5eae5e4a-a683-469e-96e7-af9a8180fba5": [ "AWSCURRENT" ] } }
  2. 检查 RotationLambdaARN 响应值。Lambda 轮换函数的 ARN 和最后一部分定义了函数的名称。

  3. 通过以下网址登录 AWS 管理控制台并打开 AWS Lambda 控制台 (https://console.amazonaws.cn/lambda/)。

  4. 选择您指定的 Lambda 函数名称以查看函数详细信息。

  5. 函数代码部分中,您可以编辑函数的源代码。有关编写专用于 Secrets Manager 的 Lambda 函数的更多信息,请参阅 Lambda 轮换函数概述。对于 AWS Lambda Developer Guide。提供的 Lambda 函数支持 Python 2.7 环境。

有关 Lambda 函数选项和编码方法的更多信息,请参阅 AWS Lambda Developer Guide

有关编写您自己的 Secrets Manager 轮换函数的更多信息,请参阅 了解和自定义您的 Lambda 轮换函数