我试图限制特定IAM组可以描述的图像。如果我的组具有以下策略,则组中的用户可以描述任何EC2映像:
{
"Effect": "Allow",
"Action": ["ec2:DescribeImages"],
"Resource": ["*"]
}
我只想让群组描述单个图片,但是当我尝试设置"Resource": ["arn:aws:ec2:eu-west-1::image/ami-c37474b7"]
时,我尝试将图片描述为群组成员时会遇到异常:
AmazonServiceException Status Code: 403,
AWS Service: AmazonEC2,
AWS Request ID: 911a5ed9-37d1-4324-8493-84fba97bf9b6,
AWS Error Code: UnauthorizedOperation,
AWS Error Message: You are not authorized to perform this operation.
我从IAM Policies for EC2获得了EC2图像的ARN格式,但是我的ARN可能有问题吗?我已经验证,当资源值为"*"
时,描述图像请求才能正常工作。
答案 0 :(得分:13)
不幸的是,错误消息具有误导性,问题是Resource-Level Permissions for EC2 and RDS Resources尚无法用于所有API操作,请参阅Amazon Resource Names for Amazon EC2中的此说明:
重要强>
目前,并非所有API操作都支持单个ARN;我们稍后会为其他Amazon EC2资源添加对其他API操作和ARN的支持。有关您可以使用哪些ARN的信息 使用Amazon EC2 API操作以及支持的条件 每个ARN的密钥,请参阅Supported Resources and Conditions for Amazon EC2 API Actions。
特别是,在撰写本文时,Supported Resources and Conditions for Amazon EC2 API Actions仍然缺少所有ec2:Describe*
次操作,这意味着除了"Resource": ["*"]
ec2:DescribeImages
之外,您不能使用{{1}}。< / p>
Granting IAM Users Required Permissions for Amazon EC2 Resources上引用的页面还提到AWS将在2014年添加对其他操作,ARN和条件密钥的支持 - 他们确实经常扩展资源级别的权限范围。大约一年左右,但到目前为止只有创建或修改资源的行动,而不是任何只需要阅读权限的行动,许多用户希望和期望的东西,包括我自己。