【问题标题】:Issue while using Systems Manager Parameter Store and Secrets Manager Lambda Extension with .NET Lambda将 Systems Manager Parameter Store 和 Secrets Manager Lambda Extension 与 .NET Lambda 一起使用时出现问题
【发布时间】:2023-01-26 04:57:12
【问题描述】:

我们一直在尝试将 Systems Manager Parameter Store 和 Secrets Manager Lambda Extension 与我们的一个 .NET Lambda 一起使用。区域是 us-east-1,扩展的版本是 Systems Manager Parameter Store 和 Secrets Manager Lambda Extension 1.0.103。对扩展的请求返回 400 (Bad Request) 。

使用正确的标头初始化 HTTP 客户端

 var _httpClient = new HttpClient();
 _httpClient.DefaultRequestHeaders.Add("X-AWS-Parameters-Secrets-Token", Environment.GetEnvironmentVariable("AWS_SESSION_TOKEN"));

并将请求发送到以下 URL:使用的 URL 是 http://localhost:2773/secretsmanager/get?secretId={secretName}

我们已经验证了 Lambda 的执行角色具有从 Secret Manager 读取的权限。为了进行测试,我们还使用了 .NET SDK 来读取同一个 Lambda 中的秘密,它工作正常。

【问题讨论】:

    标签: .net amazon-web-services aws-lambda aws-secrets-manager


    【解决方案1】:

    标题 X-AWS-Parameters-Secrets-Token 区分大小写,需要设置为 X-Aws-Parameters-Secrets-Token

    这导致 400 Bad Request 响应(奇怪的是,正如我所期望的那样,在这种情况下,401 Unauthorized 响应暗示标头未被正确解释)。

    尝试更换:

    _httpClient.DefaultRequestHeaders.Add("X-AWS-Parameters-Secrets-Token", Environment.GetEnvironmentVariable("AWS_SESSION_TOKEN"));

    和:

    _httpClient.DefaultRequestHeaders.Add("X-Aws-Parameters-Secrets-Token", Environment.GetEnvironmentVariable("AWS_SESSION_TOKEN"));

    【讨论】:

      猜你喜欢
      • 2020-07-22
      • 2020-11-23
      • 2019-04-02
      • 2021-02-13
      • 2023-01-01
      • 2020-09-28
      • 2020-11-27
      • 2021-07-24
      • 2020-01-19
      相关资源
      最近更新 更多