【问题标题】:How to set up local AWS Secrets Manager Docker container for local testing purposes?如何设置本地 AWS Secrets Manager Docker 容器以进行本地测试?
【发布时间】:2019-11-30 21:40:07
【问题描述】:

我希望设置 AWS Secrets Manager 的本地 Docker 实例。

我一直在网上搜索一张图片或任何我可以使用的东西。我只能找到 AWS ECS 机密管理的文档。

有没有人有设置 AWS Secrets Manager 以通过 Docker 进行本地测试的经验?谢谢!

【问题讨论】:

标签: node.js amazon-web-services docker aws-secrets-manager


【解决方案1】:

好问题!
您可以在 docker 容器内运行 localstack [1]。它为了测试目的模拟了一些 AWS 服务。默认情况下,http://localhost:4584 支持 AWS Secrets Manager。
有一些有用的博客文章涵盖了 localstack。 [2][3]

但是,我在 localstack 上找不到任何涉及 AWS Secrets Manager 的博客文章。我想你必须自己尝试一下。

参考文献

[1]https://github.com/localstack/localstack
[2]https://medium.com/@andyalky/developing-aws-apps-locally-with-localstack-7f3d64663ce4
[3]https://medium.com/pareture/localstack-for-local-aws-dev-22775e483e3d

【讨论】:

  • 由于这些问题是针对 Secrets Manager 的,值得注意的是目前 Localstack 并不支持 AWS Secrets Manager 的所有操作。见GitHub Issue with more details。我在createSecretgetSecretValue 操作上取得了成功。
  • 在 0.11.0 版本之后,所有服务共享一个唯一的 URL localhost:4566。可以使用命令awslocal 代替aws --endpoint-url=http://localhost:4566
【解决方案2】:

您可以使用以下命令在 LocalStack 中设置本地 AWS SecretManager:

aws --endpoint-url=http://localhost:4566 secretsmanager create-secret --name my_secret --secret-string [{"my_uname":"username","my_pwd":"password"}]

输出:

{
    "ARN": "arn:aws:secretsmanager:us-east-1:000000000000:secret:my_secret-denusf",
    "Name": "my_secret",
    "VersionId": "e168cdf1-5c94-493d-bafd-791779a7515d"
}

【讨论】:

  • 必须像这样将秘密字符串放在 '' 中:aws --endpoint-url=localhost:4566secretsmanager create-secret --name my_secret --secret-string '[{"my_uname": "用户名","my_pwd":"密码"}]'
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 2021-09-06
  • 1970-01-01
  • 2011-11-04
  • 1970-01-01
  • 2023-03-15
  • 2010-11-09
  • 2020-08-08
相关资源
最近更新 更多