【问题标题】:While testing for Rotating secret through lambda function在通过 lambda 函数测试 Rotating secret 时
【发布时间】:2022-03-04 14:02:00
【问题描述】:

这是我的 lambda 函数 (https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/blob/master/SecretsManagerRotationTemplate/lambda_function.py) 当我在测试时

{"arn":"writing arn from secret",
"token":"any random 32 digit number",
"step":"testsecret"}

给出错误

  "errorMessage": "'SecretId'",
  "errorType": "KeyError",
  "requestId": "########",
  "stackTrace": [
    "  File \"/var/task/lambda_function.py\", line 24, in lambda_handler\n    arn = event['SecretId']\n"
  ]
}

【问题讨论】:

    标签: typescript amazon-web-services aws-lambda aws-cdk aws-secrets-manager


    【解决方案1】:

    该函数需要'SecretId' in the event,但您当前的event 没有它:

    {"arn":"writing arn from secret",
    "token":"any random 32 digit number",
    "step":"testsecret"}
    

    猜猜arn应该是SecretId

    {"SecretId":"writing arn from secret",
    "token":"any random 32 digit number",
    "step":"testsecret"}
    

    您可能还会遇到其他类似的错误,您必须以相同的方式修复。

    【讨论】:

    • 在你上面提到的问题之后它再次给出错误 "errorMessage": "'SECRETS_MANAGER_ENDPOINT'", "errorType": "KeyError", "requestId": "########", "stackTrace": [ " File \"/var/task/lambda_function.py\", line 29, in lambda_handler\n service_client = boto3.client('secretsmanager', endpoint_url=os.environ['SECRETS_MANAGER_ENDPOINT'])\n ", " File \"/var/lang/lib/python3.9/os.py\", 第 679 行,在 __getitem__\n raise KeyError(key) from None\n" ]
    • @Gulshan 这是一个新错误,因此应该提出新问题。
    【解决方案2】:

    这可能是由于三个原因:

    1. 机密管理器中的现有密码与数据库密码不匹配。(当 lambda 函数尝试验证数据库时,它应该与现有密码匹配,以便它可以验证和更新密码)。您可以通过以下方式找到 cloudwatch 日志:

    [错误] 2022-03-03T12:05:24.178Z 1a39a205-36f5-XXXX-XXXX-XXXXXXX setSecret:无法使用以前、当前或未决的秘密 arn:aws:secretsmanager:eu 登录数据库-west-2:XXXXXXXXXXX:秘密:XYZXXXXXXXXXXXXX

    1. 数据库安全组应允许 lambda fn 访问数据库实例(创建一个以 lambda sg 作为源和数据库端口的入站规则)

    2. 验证您是否已连接到 secretsmanager api(您的 NAT 网关应该可以访问 secrets manager api 端点)和服务名称为 com.amazonaws.eu-west-2.secretsmanager / 的端点端点类型接口 还要验证执行 lambda fn 的区域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 2019-11-02
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多