Amazon web services IAM策略只允许EC2实例API访问修改自身
我正在尝试设置一个应用程序,在启动时配置我的实例,我希望尽可能关闭该应用程序的API访问。我目前的政策如下:Amazon web services IAM策略只允许EC2实例API访问修改自身,amazon-web-services,amazon-ec2,amazon-iam,Amazon Web Services,Amazon Ec2,Amazon Iam,我正在尝试设置一个应用程序,在启动时配置我的实例,我希望尽可能关闭该应用程序的API访问。我目前的政策如下: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1388183890000", "Effect": "Allow", "Action": [ "ec2:AssociateAddress", "ec2:CreateTags",
{
"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策略访问权限仅限于这些实例
检查:
以下是上述示例中的相关代码:
{
"Effect": "Allow",
"Action": "ec2:TerminateInstances",
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/purpose": "test"
}
}
}
通过这种方式,您可以将访问权限限制为只访问那些具有必要标记的实例
阅读更多关于标签的信息。希望这有帮助。要让实例读取自己的标记,您还需要“描述标记”权限
"ec2:DescribeTags"
这适用于常规实例,但不适用于spot实例,因为您可以访问由spot请求启动的实例。我想说您运气不好。如果你找到了解决办法,一定要告诉我。这对我不起作用。我无法根据标记筛选实例。如果要将实例限制为仅处理自身而不使用标记,请帮助检查此解决方案: