问题标签 [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.
java - Spring 状态机:StateMachineListener.stateMachineStopped() 中的状态错误
在 stateMachineStopped 方法中,当询问状态机的当前状态时,我有时会得到错误的状态。它给了我最后一次转换之前的状态。但是,在最后一次状态转换之后的代码中会返回正确的状态。
我的印象只有在从序列化形式恢复 SSM 上下文时才会发生。我正在使用 Kryo 和 StateMachinePersister 来保存和恢复工作流程。
这是否为某人敲响了警钟?
顺便说一句,使用 SSM 1.2.6。
amazon-web-services - aws ssm 发送命令在 Ubuntu 服务器中不起作用
我刚刚开始探索 aws 系统管理器功能。
我正在使用 python 3.6 和 boto3 来测试 ssm。
我已经创建了 Ubuntu 服务器 EC2(t2 micro)并为 IAM 角色分配了策略“AmazonEC2RoleforSSM”,据我所知,这应该允许在该 EC2 上运行 ssm send 命令。但是,相反,我得到以下错误:
我什至尝试检查以下输出:
它没有我创建的实例 ID,这几乎说明了我收到该错误的原因。但是,据我所知,如果我使用上述策略分配 IAM 角色,它应该会显示在列表中。
奇怪的是,当我尝试使用 Amazon Linux AMI 服务器进行上述设置并运行 ssm 时,一切看起来都很好。
知道为什么 ssm 不能在 ubuntu 服务器中工作吗?我错过了什么?
spring - 在 Kotlin 中使用 @Service 时抛出异常
我正在 Kotlin 中编写一个 SSM 项目,只要我尝试使用@Service
.
- 尝试用 Java 编写这个实现类,它工作得很好。
- 试图只保留必要的覆盖方法。
open
已添加。context:component-scan
已配置。
附加信息:
相对结构
spring-service.xml
试图只保留必要的方法
出了什么问题,我该怎么办?谢谢!
node.js - AWS IAM - 服务可以知道调用它的角色吗?
总体的目标:
我正在为我们的微服务环境(全新)编写 AWS Parameter Store 的包装器。基本上,如果我们决定迁移到 Azure,我会尝试简化从一个服务提供商到另一个服务提供商的过渡,例如,因此只需修改此服务。
这个想法是,启动时的服务可以调用此服务(“配置服务”)来获取所有配置设置。
问题:
如果我们决定走这条路,可能仍希望根据 IAM 权限(角色/策略)锁定参数。我正在此配置服务中寻找一种方法,以获取调用配置服务的用户/角色并将其传递给 Parameter Store,例如,在调用ssm.getParameters(...)
.
我看过这个页面,它允许限制用户可以传递哪些角色,所以看起来我可以传递角色。不过,我需要弄清楚如何找到那个角色。
例如,如果我将 .NET 与 ASP.NET 站点和 Windows 身份验证一起使用,则可以模拟该用户以模拟该用户的权限。(整体效果是调用服务的权限限制了它可以访问的参数。)
我在弹性容器服务中使用 node.js,使用新的 Fargate luanch 类型,如果这会影响潜在的答案。
amazon-web-services - AWS CLI 描述实例不一致
我有一个调用远程 EC2 上的批处理文件的 Bamboo 任务。该批处理文件执行测试,然后调用 PowerShell 脚本来解析测试。
最后,我获取了竹服务器的实例 ID,并通过 ssm 将测试结果发回。
当我尝试发送我的结果时,我的问题存在于 PowerShell 脚本中。我使用“describe-instances”来检索 Bamboo 服务器 ID:
*注意:我的 Bamboo 服务器与我的测试位于不同的 EC2 上。
所以,如果我从我的 Bamboo Build Plan 中调用批处理文件。“describe-instances”命令运行不正确。
但是,如果我在远程 EC2 上本地运行批处理文件,则该过程运行顺利。
我试过:
- “描述实例”的多种变体,包括 Get-EC2Instance 和其他。
- 我相信我的权限设置正确。但也许“描述实例”没有抓住它。我尝试了许多设置凭据的变体,包括 aws configure、从环境变量和文件手动加载。
- 我放入 Start-Sleeps 以确保我没有异步问题。
当我从 Bamboo 任务中调用它时,就像命令拒绝运行一样。
我注意到测试在本地前台运行,当从 Bamboo 调用时在后台运行。
我的问题可能是安全问题吗?就像从 Bamboo 运行不允许命令运行一样?我找不到任何来自 AWS 或 Bamboo 的文档来解释这一点。
有任何想法吗?
amazon-web-services - 如何从 CodePipeline 访问 SSM 参数
在我的 samTemplate 中,我定义了一些参数,因此在我的 CodePipeline(CloudFormation 步骤)中我想用 SSM 值覆盖这些参数。我怎样才能做到这一点?
amazon-web-services - 在 serverless.yml 中使用 SSM 参数设置 logRetentionInDays
我在使用 serverless.yml 文件中的 EC2 Parameter Store SSM 参数来设置 logRetentionInDays 配置值时遇到问题。
我收到logRetentionInDays 应该是超过 0 的整数的错误。有没有可能在这里使用 SSM?
我认为问题在于参数被读取为字符串值而不是数字,但不确定。错误的 SSM 密钥无法找到值,因此引用是正确的。
有任何想法吗?
html - AWS SSM Parameter Store: How can I edit multi-line "SecureString" values using the console?
Currently, I use a single SSM parameter to store a set of properties separated by newlines, like this:
(I am aware of the 4K size limit, it's fine.)
This works well, for normal String
type parameters that store non-sensitive information like environment configuration, but I'd also like to do similar for secrets using the SecureString
parameter type.
The problem is that I can't edit the parameter value in the console because it's using a HTML input field of type="password"
that doesn't handle newlines.
The multi-line value works fine with the actual parameter store backend - I can set a value with multiple lines with the SSM API no problem and they can be read with the EC2 CLI properly too.
But I can't edit them using the console. This is a problem because the whole point of using a SecureString
parameter is that I intend the only place to edit/view these secrets to be via the console (so that permissions are controlled and access is audited).
There's a few infrastructure workarounds I could implement (one parameter for each secret, store the secrets on S3 or other secret storing service, etc.) but they all have drawbacks - I'm just trying to find out if there's a way around this using the console?
Is there any way I can work around this and use the console to edit multi-line SecureString parameters?
Any kind of browser workaround or hack that I might be able to use to tell the browser to use a textarea instead of a "password" type field?
I'm using Chrome, but I'd be happy to work around this by using another browser or something (editing the secrets is pretty rare, and viewing multi-line values in the console works fine).
EDIT
After posting this question, AWS notified me there was a whole new "AWS Systems Manager" UI, but it still has the same problem - I tried the below browser hacks on this new UI, but no luck.
Failed browser hack attempt 1: I tried opening the browser console, running document.getElementById("Value").value = "value1\nvalue2"
and then clicking the save button, which set the value I injectec, but the newline was filtered out.
Failed browser hack attempt 2: I tried using the browser instpector to change the element to a TextArea
and then typed in two lines of input and clicked save, but that didn't set the value at all.
amazon-web-services - 在 AWS SSM 中检索命令调用
我正在尝试将命令发送到正在运行的 ubuntu ec2 实例。我已经配置了适当的角色,并且在 ec2 实例上运行了一个 ssm 代理。使用 boto3 SDK,我能够使用该client.send_command()
函数成功发送 shell 命令,并随后能够获取命令 ID。现在的挑战是轮询结果。我正在尝试使用该 client.get_command_invocation()
功能,但不断收到InvocationDoesNotExist
错误消息。我确信我使用了正确的命令 ID 和实例 ID,因为我已经使用 AWS CLI 对它们进行了测试, aws ssm list-command-invocations --command-id #### --instance-id i-#####
并且这很有效。这是我的代码片段:
这是返回的错误:
botocore.errorfactory.InvocationDoesNotExist: An error occurred (InvocationDoesNotExist) when calling the GetCommandInvocation operation
提前致谢。
amazon-web-services - 安装 SSM 代理后 EC2 实例未托管
我已经使用 EC2 Config ( 4.9.2688.0 ) 在 Windows Server 2012 R2 Standard 实例上安装了SSM代理 ( 2.2.607.0 )。安装后,我在托管实例屏幕上看不到服务器。我在其他服务器(Windows 和 Linux)上执行了相同的步骤,并且成功了。
试图卸载EC2 Config,再次重新安装它没有运气。尝试安装不同的 SSM 代理版本 ( 2.2.546.0 ) 也没有运气。
有什么想法吗?