将 SSM:GetParameter 添加到 AWS EC2 实例
Posted
技术标签:
【中文标题】将 SSM:GetParameter 添加到 AWS EC2 实例【英文标题】:Add SSM:GetParameter to AWS EC2 Instance 【发布时间】:2022-01-22 22:40:41 【问题描述】:第一次将应用程序部署到 AWS,这是一次冒险。我当前的错误:
Dec 21 03:49:33 ip-172-31-31-185 web: botocore.exceptions.ClientError: 调用 GetParameter 操作时发生错误 (AccessDeniedException):用户:arn:aws:sts::[my account number]:assumed-role/aws-elasticbeanstalk-ec2-role/[实例号] 无权执行:ssm:GetParameter on resource:arn:aws:ssm:us-east-2:[my account number] :parameter/Dev/WebServer/[我想得到的东西] 因为没有基于身份的策略允许 ssm:GetParameter 操作
文档非常擅长告诉我需要做什么——看来我需要使用 AWS 系统管理器向实例添加 IAM 策略。我什至有政策——但不太擅长告诉我如何去做。您可以在 AWS 控制台中的何处添加实例策略?
【问题讨论】:
【参考方案1】:根据错误信息 - 它来自 Beanstalk,文档是 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles-instance.html
您很可能已经拥有基于现有角色的实例配置文件。这就是你需要改变的角色。该策略在 IAM(而不是 Systems Manager)中管理,只需在其中添加 ssm:GetParameter 规则,或者使用星号(这可能足以在开发环境中调试),如果它有效,则将其限制为您的 arn,如果您arn:aws:ssm:us-east-2:[my account number]:parameter/Dev/WebServer/[thing I want to get]
使[thing I want to get]
类似于myapp-prefix-[thing I want to get]
然后您可以轻松地将访问权限限制为仅属于此给定应用程序的参数。或者你可以使用标签。
【讨论】:
很抱歉,我才意识到我忘了对此发表评论。谢谢您的帮助!这个障碍似乎已经完成。到下一个。以上是关于将 SSM:GetParameter 添加到 AWS EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章
[贪心] aw3627. 最大差值(贪心+aw周赛002_2)
[多源bfs] aw173. 矩阵距离(多源bfs+模板题)
[递推] aw3777. 砖块(思维+递推+CF1271B)