我正在尝试允许我们 AWS 账户中的所有 EC2 实例自行停止(使用使用 aws cli 的自动化脚本)。我尝试通过使用适当的策略创建 AWS IAM 角色来实现此目的。但是,我找不到如何定义仅允许实例停止自身(而不是其他实例)的策略。
我尝试了以下政策
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:StopInstances"
],
"Resource": [
"${ec2:SourceInstanceARN}"
]
}
]
}
但是在验证时,这给了我错误
This policy contains the following error: The following resources are invalid : ${ec2:SourceInstanceARN}
有没有办法让实例停止自己(并且只有自己)?如果是这样,我应该怎么做?
最佳答案
关闭行为解决了终止问题,但可能还有其他场景需要对 API 请求的有限访问(即自我标记)。所以这是一个带有 IAM 策略的解决方案:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:DeleteTags",
"ec2:DescribeTags",
"ec2:CreateTags",
"ec2:TerminateInstances",
"ec2:StopInstances"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ARN": "${ec2:SourceInstanceARN}"
}
}
}
]
}
关于amazon-web-services - AWS IAM : Allow EC2 instance to stop itself,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39018803/