问题标签 [aws-parameter-store]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2178 浏览

amazon-web-services - AWS Systems Manager `GetParametersByPath` API 返回过时的结果

我正在尝试使用 SSM 的GetParametersByPath API,但我得到了过时的结果,看起来像是按Path参数缓存约 3 秒。

我正在测试以下场景:

  1. 通过路径递归获取参数
  2. 在测试路径下放一个参数
  3. 使用与 (1) 中相同的参数再次通过路径获取参数

无论步骤 (2) 中的变化如何,我在步骤 (3) 中都得到与步骤 (1) 相同的响应。

我认为这与缓存有关,因为以下两种情况按预期工作。

正确行为场景一:

  1. 通过路径递归获取参数
  2. 在测试路径下放一个参数
  3. 睡眠 3 秒
  4. 使用与(1)中相同的参数再次通过路径获取参数

正确行为场景二:

  1. 在测试路径下放一个参数
  2. 通过路径递归获取参数

这种行为在我尝试过的不同 SDK 中是一致的:.Net、Python (boto3) 和 CLI,所以这不是 SKD 问题。

这是Python中的一段代码片段,它使用boto3复制了不正确的行为:

这段代码在第一次运行时给了我以下输出:

第二次运行时:

您可以看到模式 - 第一个请求正在被缓存。

根据 API 文档:Request results are returned on a best-effort basis. 那么这种行为是否被认为是正确的?这是否意味着我无法以可靠的方式通过路径获取所有参数?

0 投票
1 回答
1274 浏览

amazon-web-services - 使用 Microsoft.Configuration.ConfigurationBuilders 的 AWS SSM 自定义提供程序

我似乎一直坚持使用利用 Microsoft.Configuration.ConfigurationBuilders 的 NETFramework 4.7.1 为 Amazon 的 System Manager Parameter Store (SSM) 开发自定义键/值对提供程序。

实施:

问题似乎是 AWS SSMclient永远不会被创建。如果我更改代码并尝试在构造函数中实例化,我会由于递归而得到堆栈溢出异常。

关于如何强制创建 AmazonSimpleSystemsManagementClient 的任何想法?

该代码使用来自https://github.com/aspnet/MicrosoftConfigurationBuilders的指导

App.Config

谢谢

0 投票
1 回答
636 浏览

amazon-web-services - 使用 ExecutionRole 从 ECS 任务访问 Parameter Store 值时遇到问题

我正在尝试将敏感数据传递给在 ECS 服务中运行的容器。我一直在关注 AWS 文档以了解如何执行此操作(链接)。我做了以下事情:

  • my-param在 SSM 参数存储中定义
  • 创建一个TaskRole(见下文)
  • 在任务的 ExecutionRole 中使用 TaskRole
  • 将环境变量添加到容器实例

这是任务定义:

这是我使用此角色的任务定义:

在我CloudFormation::Init的 LaunchConfiguration 元数据中,我添加了以下内容:

当我更新堆栈时,它似乎挂起,然后最终回滚并failed to stabilize在服务上出现错误,其中我有一个任务正在尝试使用我定义的 TaskRole。

该项目的源代码在这里:https ://gitlab.com/verbose-equals-true/django-postgres-vue-gitlab-ecs

0 投票
2 回答
1842 浏览

docker - 如何维护 Dockerfile 中使用的秘密?

以下是具有密码的 docker-compose 文件的片段:


在 AWS 环境中运行此文件,

可以在 s3 中使用 KMS 存储,另一种方法是 AWS 参数存储

使用 构建 dockerfile 和启动容器docker-compose时,如何安全地维护秘密,而不将其暴露给文本文件?任何代码片段...

0 投票
1 回答
5516 浏览

node.js - 如何使用无服务器框架通过 AWS Lambda 函数环境变量访问 SSM 参数存储值?

所以我已经像这样配置了我的 lambda 函数的 .yaml 文件:

我的 lambda 函数如下所示:

我可以很好地访问硬编码的database_server值,但是${ssm: [myParam] }命令被解释为字符串,而不是遵循路径并访问存储在 SSM 参数存储中的值。

我看到的大多数示例都有很长的复杂路径来指向它们的 SSM 参数,但我只是想表明以这种方式访问​​ SSM 参数是可能的,我试图让它尽可能简单。我还假设${ssm: [] }命令根本没有转义,因为如果在定义的路径中找不到 SSM 参数,我希望返回一个未定义的值。

0 投票
1 回答
160 浏览

amazon-web-services - 使用名称取决于 CFN 参数的 SSM 参数

我有一个如下所示的 CloudFormation 模板:

假设我已经有一个名为/dev/cognitoUserPoolId. 当我创建这个模板并传递 env=dev 时,我想将该参数的值用作UserPoolId. 我想避免为每个 SSM 参数手动传递一个新的 CFN 参数,因为实际上可能有很多。

0 投票
1 回答
2522 浏览

java - 如何从 AWS 参数存储中获取 spring datasource 属性值?

在我的 Spring Boot 应用程序中,我在 application.properties 文件中维护了 spring.datasource.url。我需要保护 URL/用户和密码,并且这些值在 AWS 参数存储中可用。我参考了这个文档,只是简单地添加了对( spring-cloud-starter-aws-parameter-store-config )启动模块的依赖来激活支持。我实际上不知道如何维护配置参数以及如何将参数存储值检索到我的项目中。

如果不使用以下 (application.properties) 属性中的硬编码值,如何实现这一点?

0 投票
1 回答
886 浏览

ruby - 使用 aws-sdk-v1 从 ruby​​ 脚本中的 AWS SSM Parameter Store 获取数据

我正在尝试从 SSM 参数存储中获取秘密。问题是我们使用的是 aws-sdk-v1 (ruby)。对于 V2、V3,我可以得到很多例子,但对于 V1 却没有。例如 aws-sdk--v2 的代码片段。

如果我在 aws-sdk-v1 上,有谁知道该怎么做。

PS:从 aws-sdk V1 升级到 V2/V3 不是可行的选择,请建议考虑该解决方案应该在 aws-sdk-v1 上运行。红宝石版本:'1.9.3'

0 投票
2 回答
3083 浏览

amazon-web-services - AWS Parameter store 是针对每个键还是整个服务的吞吐量限制?

我发现 AWS 为 Parameter Store 描述的以下限制。

我想知道限制是针对单个密钥还是整个 Parameter Store 服务(每个帐户或区域)

0 投票
1 回答
1282 浏览

amazon-web-services - AWS SSM 参数存储并发更新给出“TooManyUpdates”错误

我有一个 bash 脚本,它使用 AWS CLI 为 AWS Systems Manager Parameter Store 中的参数赋值。

bash 脚本在 EC2 实例上运行,并且部署了多个实例。所以我无法控制 bash 脚本的并发性。如果有并发更新并且来自脚本的更新被拒绝,我需要脚本重试。

我检查了 AWS 文档并搜索了其他问题和论坛以获取有关此主题的文档。

我只能参考此处记录的“TooManyUpdates”400 错误。

AWS Systems Manager Parameter Store 在并发更新时的行为是什么?