【问题标题】:AWS IAM User Permission for a specific EC2 server not working特定 EC2 服务器的 AWS IAM 用户权限不起作用
【发布时间】:2017-03-16 11:19:11
【问题描述】:

我试图限制用户启动/停止特定的 EC2 实例 (TESTSYS),为此,我在 IAM 策略下创建并分配给测试用户 (TESTUSER):

{
    "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-east-1a:XXXXXXXXXXXX:instance/i-abcdefgh012345678",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Name": "TESTSYS"
                }
            }
        }
    ]
}

当我以该测试用户身份登录并尝试启动“TESTSYS”实例时,我收到错误消息You are not authorized to perform this operation. Encoded authorization failure message:。以下是解码后的消息:

{
   "DecodedMessage": {
      "allowed": false,
      "explicitDeny": false,
      "matchedStatements": {
         "items": []
      },
      "failures": {
         "items": []
      },
      "context": {
         "principal": {
            "id": "ABCDEFGHIJK0123456789",
            "name": "testuser",
            "arn": "arn:aws:iam::XXXXXXXXXXXX:user/testuser"
         },
         "action": "ec2:StopInstances",
         "resource": "arn:aws:ec2:us-east-1:XXXXXXXXXXXX:instance/i-abcdefgh012345678",
         "conditions": {
            "items": [
               {
                  "key": "ec2:Tenancy",
                  "values": {
                     "items": [
                        {
                           "value": "default"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:PlacementGroup",
                  "values": {
                     "items": [
                        {
                           "value": "arn:aws:ec2:us-east-1:XXXXXXXXXXXX:placement-group/App Servers"
                        }
                     ]
                  }
               },
               {
                  "key": "XXXXXXXXXXXX:Name",
                  "values": {
                     "items": [
                        {
                           "value": "TESTSYS"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:ResourceTag/System",
                  "values": {
                     "items": [
                        {
                           "value": "TESTSYS"
                        }
                     ]
                  }
               },
               {
                  "key": "XXXXXXXXXXXX:System",
                  "values": {
                     "items": [
                        {
                           "value": "TESTSYS"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:AvailabilityZone",
                  "values": {
                     "items": [
                        {
                           "value": "us-east-1a"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:Region",
                  "values": {
                     "items": [
                        {
                           "value": "us-east-1"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:ResourceTag/Name",
                  "values": {
                     "items": [
                        {
                           "value": "TESTSYS"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:ebsOptimized",
                  "values": {
                     "items": [
                        {
                           "value": "true"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:InstanceType",
                  "values": {
                     "items": [
                        {
                           "value": "c4.large"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:RootDeviceType",
                  "values": {
                     "items": [
                        {
                           "value": "ebs"
                        }
                     ]
                  }
               },
               {
                  "key": "ec2:InstanceProfile",
                  "values": {
                     "items": [
                        {
                           "value": "arn:aws:iam::XXXXXXXXXXXX:instance-profile/EC2_TESTSYS"
                        }
                     ]
                  }
               }
            ]
         }
      }
   }
}

当我尝试为 StartInstanceStopInstance 的同一测试用户模拟此策略时,我确实看到该权限是允许的。

你能告诉我我错过了什么吗?

感谢您的帮助。

谢谢!

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-iam


    【解决方案1】:

    您指定的是可用区而不是区域。试试us-east-1

    "Resource": "arn:aws:ec2:us-east-1:XXXXXXXXXXXX:instance/i-abcdefgh012345678",
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 2017-08-11
      • 2021-10-24
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 2017-12-31
      相关资源
      最近更新 更多