参考此Doc 我创建了IAM策略,只允许访问一个EC2实例。我创建了一个具有该策略策略的IAM用户。但是当我使用该用户登录我的AWS账户时,我收到错误“获取实例数据时出错:您无权执行此操作。”
政策文件:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:*"
],
"Condition": {
"StringEquals": {
"ec2:ResourceTag/test": "test"
}
},
"Resource": [
"arn:aws:ec2:us-east-1:AccountNumber:instance/*
],
"Effect": "Allow"
}
]
}
答案 0 :(得分:1)
您必须添加EC2 describe来描述所有EC2资源,然后根据其他语句按标签过滤资源。
但是根据此政策,其他IAM帐户仍然可以在未经许可的情况下查看其他EC2实例。
这就是你需要的。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1507182214000",
"Effect": "Allow",
"Action": [
"ec2:*"
],
"Condition": {
"StringEquals": {
"ec2:ResourceTag/TAG_NAME": "TAG_VALUE"
}
},
"Resource": [
"arn:aws:ec2:AWS_REGION:AWS_ACCOUNT:instance/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeTags"
],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": "*"
}
]
}