我正在尝试使用IAM设置组策略,以便使用特定的vpc访问特定区域的用户 . 在引用AWS文档时,尝试使用vpc ID来过滤实例,因为资源标记不适用于ec2(如果使用EC2,ResourceTag将是更好的选择) . 为此创建了以下规则,但它没有帮助,
{ "Version": "2012-10-17",
"Statement": [ {
"Action": [
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:Describe*" ],
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ec2:Vpc": "arn:aws:ec2:us-west-2:*:vpc/vpc-123456"
}
}
} ] }
结果显示EC2页面上“获取实例数据时出错” .
我有什么建议可以解决这个问题吗?
谢谢
谢谢你回复Rico :-)
不幸的是,根据我的要求,给定的政策对我不起作用 .
需要为特定区域的用户提供访问权限,并且用户应该可以访问基于特定资源标记或VPC或子网或安全组的实例 .
用户不应具有启动或编辑任何内容的权限,用户应该能够根据上面提到的过滤器列出实例,以查看实例详细信息(只读) .
通过考虑上述方面,我已经定义了具有双重条件的类似策略,因为ARN对我而言不适合使用Resources .
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*",
"Condition": {
"StringEquals": {
[
"ec2:Region": "us-west-2",
"ec2:ResourceTag/Name": "Test"
]
}
}
}
]
}
当我使用ARN作为资源时,它对我来说不适用于以下格式,
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "arn:aws:ec2:us-west-2:1234567890:*/*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Name": "Test"
}
}
}
]
}
我尝试过使用资源标记,实例ID,安全组和子网过滤实例 .
现在我从你的回复中了解到目前无法使用VPC过滤器 .
请参阅图像以获取我的实例的资源标记 .
您的及时回复将受到高度赞赏 .
提前致谢!
我已经与AWS Solution架构师讨论了以及给定的以下更新,
我们正在努力将对资源级访问控制的支持扩展到更多操作,但我们无法提供可用于Describe * API的日期 .
是否支持资源级权限取决于操作,请参阅上面的链接 . 特别是,目前无法将EC2描述*操作限制为资源,但上述ARN可用于限制修改资源的操作 .
IAM策略语句的"Condition"部分支持资源标记,子网,安全组和vpc,但仅适用于某些操作 - 有关可用密钥,请参阅http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html#amazon-ec2-keys . 但是,Describe * API的条件不支持资源标记,子网,安全组和vpc .
最后,我只是通过限制只有区域的用户来结束解决方法 .