问题标签 [aws-ssm]
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.
amazon-web-services - AWS SSM 修补本地服务器?
我正在尝试使用 aws SSM 修补本地服务器。当我使用“运行命令”时,我指定了一个标签来限制对一组服务器的修补。
不幸的是,这没有列出基于标签选择的目标服务器。还有其他选择吗?我试图避免意外选择错误的标签。如果我们能在底部看到经过过滤的服务器,那就太棒了。
aws-lambda - AWS Lambda Python 3.6 - SSM 到 EC2 - 以 root 而非用户身份执行命令
问题
我正在通过 Lambda(Python 3.6)中的 SSM 在 Centos 7 EC2 实例上执行命令。不幸的是,SSM 以 root 用户身份执行命令。我需要使用默认的 centos 用户执行命令。有什么方法可以更改 SSM.send_command 使用的用户,所以我不必这样做:
我的解决方法
我不喜欢这个,但它有效。它还破坏了创建的目录和文件的权限,这迫使我也必须修改它们。(忽略 777 权限更改,因为我只是在测试以确保它有效)
amazon-web-services - 如何限制访问特定的 ssm 文档只能在特定的 ec2 实例中运行?
我需要创建将有权访问自定义创建的 ssm 文档的策略,该文档只能在指定的 EC2 实例中运行。
我已经尝试过类似这样的策略,但控制要在实例上运行的文档是不够的。
这是可行的吗?
非常感谢您的帮助。谢谢
java - 我将如何通过 Java 属性为 AWS Parameter Store Spring 属性源公开 AWS 凭证
参数存储配置支持使用引导上下文来配置默认 AWSSimpleSystemsManagement 客户端,该客户端使用 com.amazonaws.auth.DefaultAWSCredentialsProviderChain 和 com.amazonaws.regions.DefaultAwsRegionProviderChain
提供者链的文档:https ://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html
我希望避免使用环境变量或命令行属性,因为它们很有可能会泄漏到 prod 中某处的日志中。我看到的最佳选择是使用 .properties 文件。根据第一个链接,由于模块是在引导上下文中加载的,我想“Spring”的方法是将这些属性包含在 bootstrap.properties 文件中(根据 spring-cloud 文档:https: //cloud.spring.io/spring-cloud-static/spring-cloud.html#_the_bootstrap_application_context )
所以我的项目看起来像这样:
/src/main/resources/bootstrap.properties
pom.xml
请注意,我还公开了 AWS_REGION 环境变量,这是要克服的第一个障碍。我正在运行 Java 8,并且可以复制从 Eclipse 和命令行 Maven 运行的以下行为。
在启动时,我得到这个堆栈跟踪:
我是否应该期望这个模块能够看到 bootstrap.properties 中的属性?我还应该如何为引导上下文提供属性?
boto3 - AWS SSM 参数 GET 使用 KMS 解密
场景:我们的一个脚本使用 boto3 kms api 来 PUT 和 GET SSM 参数以及 KMS 加密和解密。SSM 参数放置工作得非常好,并且在 EC2 SSM 参数存储中使用安全字符串添加参数(解密为真)。我们面临的问题是在尝试获取 SSM 参数值且解密为真时。尝试运行以下 boto3 脚本(在运行 get_ssm_parameters_by_path 时)运行此脚本的相应 lambda 代码会引发以下错误:
ERROR:调用GetParametersByPath操作时发生错误(AccessDeniedException):密文指的是不存在的客户主密钥,在该区域不存在,或者您不允许访问。(服务:AWSKMS;状态代码:400;错误代码:AccessDeniedException;请求 ID:eaaxx-7ae7-11e8-97xx5e-b9exxxxxxx410):ClientError
我浏览了有关使用 KMS 加密和解密的不同 AWS 文档,并更新了我的策略文档,如下所示,但到目前为止还没有运气。lambda 使用的角色具有以下策略访问权限:
其中 AWS_ACCOUNT_NUMBER 是我的 AWS 帐号,kms 密钥 ID 是默认的“aws/ssm”密钥,用于加密和解密 SSM 参数。密钥确实存在于帐户中。我们提供的区域是“us-east-1”,所以可以到 0。错误的最后一部分说“或者你没有访问权限”。
我可以看到该参数在 EC2 SSM 参数存储中可用,并使用我用来解密的 KEY ID 正确解密。
为了成功运行“get_parameters_by_path”,我们需要执行哪些其他策略访问或添加。
java - AWS Parameter Store 获取多个参数比一次获取一个要慢得多?
我已经调试了一段时间,我似乎无法弄清楚为什么并在这种情况下找到任何逻辑。
我在简单系统管理中存储了一些参数,如 jirahost、jirapassword、jirausername 等参数!
这是我用来从参数存储接收多个参数的代码。
然后我使用谷歌番石榴秒表来测量时间,接收它们需要超过 7 秒!
然后我尝试只调用一个参数:
再用秒表,不到300ms!?
你能看到我看不到的东西吗?简单的方法是多次调用单参数方法,但我真的很想弄清楚发生了什么。
希望你能帮我
node.js - AWS SSM 错误:UnexpectedParameter: Unexpected key 'CloudWatchOutputConfig'
我正在使用 AWS Lambda 在 SSM 中运行命令。这是代码:
我收到以下错误:
UnexpectedParameter:在 ParamValidator.fail 的参数中发现意外的键“CloudWatchOutputConfig”(/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)
如何从 Lambda 启用云监视日志?因为根据 sdk 参数“CloudWatchOutputConfig”应该可以工作。
amazon-web-services - 从参数存储访问 SSM 参数
我有 SAM 模板,它部署了一些 lambda,我想使用我在 SSM 参数存储中创建的一些参数。
我为我的测试创建了 2 个参数:
/test/param
这是一个简单的字符串/test/param/encrypt
包含与 KMS 密钥相同/test/param
但由 KMS 密钥加密的字符串
在我的 SAM 模板中,我试图/test/params
通过关注这篇博文来获得 的价值。这是我的模板的截图:
这在理论上应该在部署到 AWS 上时有效。但是,我想先在本地测试它。我已经aws-sam-local
在本地计算机上正确配置了我的凭证,因为我能够使用 AWS CLI。但是在本地运行时,envvar 的PASSWORD_PUBLIC
值为空。我测试了明文和加密的 SSM 参数,但结果是一样的。
我怀疑aws-sam-cli
它还不支持 SSM 参数,但在网上找不到任何关于该参数的信息,也找不到关于 GitHub 问题/公关的信息。关于这里发生了什么的任何想法?
bash - 等到在 bash 脚本中满足条件
这里循环永远不会退出,它会继续打印“自动化正在运行......”即使在自动化已经执行并且状态没有进行中我想要做的是等到状态为“进行中”,打印“自动化是正在运行……”在屏幕上。完成后,如果失败或成功,我想在屏幕上打印自动化状态。
amazon-web-services - AWS SSM 参数存储
有没有办法只删除/删除 AWS 参数存储中的所有项目?
我发现的所有命令行都是一个一个地删除它,或者在给定名称列表的情况下删除它。
我也尝试过使用
带有 test.json 的文件看起来像这样
还是不行。。
理想情况下,如果我可以使用 --query 并按原样使用它,那就太好了。
我正在使用 --query 像这样