我正在尝试设置一个在启动时配置我的实例的应用程序,并且我想尽可能关闭该应用程序的 API 访问。我目前的政策如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1388183890000",
"Effect": "Allow",
"Action": [
"ec2:AssociateAddress",
"ec2:CreateTags",
"ec2:DescribeInstances",
"ec2:RebootInstances"
],
"Resource":"*"
}
]
}
但是,这允许应用程序对 EC2 中的任何内容执行任何这些操作。有没有办法可以将 ec2 实例上的应用程序的操作锁定到该特定实例或具有相同 IAM 角色的所有框?
最佳答案
是的,可以。您需要首先为相关 EC2 实例分配一些相关且通用的标签。然后使用 ec2:ResourceTag/tag-key
将 IAM 策略访问限制为仅对那些实例。
检查this example:
以下是上面示例中的相关代码:
{
"Effect": "Allow",
"Action": "ec2:TerminateInstances",
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/purpose": "test"
}
}
}
这样,您就可以将访问限制为仅具有必要标签的实例。
了解有关标记 here 的更多信息。希望这会有所帮助。
关于amazon-web-services - IAM 策略仅允许 EC2 实例 API 访问以修改自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864429/