我想为新创建的IAM用户设置权限,以便用户只能访问给定区域中的特定ec2实例。
例如。我有三个ec2实例在aws us-east中运行,即N. Virginia 我希望限制用户重启,启动和停止只有1个ec2服务器
我写了一个类似下面的政策,但它不起作用。我不确定我在这里缺少什么。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "TheseActionsSupportResourceLevelPermissions",
"Effect": "Allow",
"Action": [
"ec2:StopInstances",
"ec2:StartInstances",
"ec2:RebootInstances",
"ec2:Describe*"
],
"Resource": "arn:aws:ec2:us-east-1:accountid:instance/i-d4f1b83a"
}
]
}
提前感谢您的帮助。
答案 0 :(得分:2)
您的政策有效。我测试了它并成功使用它来启动特定的实例。
有些注意事项:
accountid
替换为您自己的12位帐户ID(可在“结算/帐户”页面中找到)可以通过政策定义旁边的模拟政策链接测试IAM政策,该链接指向 Policy Simulator 。这是调试权限问题的绝佳工具。
答案 1 :(得分:0)
我做过这样的事情对我有所帮助。但仍然所有资源都是IAM用户可见的,我实际上并不想要。任何进一步的答案都将是一个很大的帮助。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Resource": "arn:aws:ec2:us-west-1:accountid:instance/instance-id",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Name": "Test"
}
}
}
]
}