【问题标题】:Serverless Framework Secrets Error - An error occurred while calling one AWS dependency service无服务器框架机密错误 - 调用一项 AWS 依赖项服务时出错
【发布时间】:2022-08-20 01:54:42
【问题描述】:

我正在尝试以这种方式使用无服务器机密框架访问机密管理器:

  • 方法1(旧)

    超级机密:${ssm(us-east-1, raw):/aws/reference/secretsmanager/secret-name~true}

  • 方法 2(新)

    variablesResolutionMode:serverless.yaml 中的 20210326

    超级机密:${ssm(us-east-1, raw):/aws/reference/secretsmanager/secret-name}

Approach1 工作正常,但我在无服务器部署上使用 Approach2 得到以下错误-

Cannot resolve serverless.yml: Variables resolution errored with:
  - Cannot resolve variable at \"custom.lambdas.test.custom.supersecret\": An error occurred while calling one AWS dependency service.

无服务器版本 - 框架核心:2.69.1(本地) 插件:5.5.1 开发工具包:4.3.0 组件:3.18.1

这些秘密不会被复制,只存在于 us-east-1 中。知道我做错了什么吗?

  • 您是否有任何进一步的错误日志提及 AWS 服务失败的原因?您是否尝试在详细模式下运行无服务器以获得更多输出?
  • 我遇到了同样的问题,不知道是否有通配符许可/政策我可以在某处申请以使其正常工作;但我开始认为我不应该将秘密放在“静态上下文”(如 lambda 环境变量)中,而是从拉姆达

标签: amazon-web-services serverless-framework


【解决方案1】:

昨天我有同样的错误。好吧,错误来自我使用的无服务器版本。在我的本地环境中,我得到了 2.3 版,它在我的 secret_name ID 后面的标志“~true”下工作正常,但在我的 CD 中,我得到了 3.* 版,这会产生错误。阅读文档一段时间后,我搜索了:

注意:下面描述的方法默认在 Serverless v3 中有效,但它需要 v2 中的 variablesResolutionMode: 20210326 选项。

因此,如果您使用的是 v3,请改用: ssm:/aws/reference/secretsmanager/my_secret_name 或 ssm:/aws/reference/secretsmanager/my_secret_name~true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-27
    • 2021-03-07
    • 2012-06-29
    • 2021-05-12
    • 2017-01-21
    • 2019-05-18
    • 1970-01-01
    • 2020-08-20
    相关资源
    最近更新 更多