AWS EC2 IAM Conditions



我正试图更新IAM策略,将其限制在一个区域内,但我遇到了一个语法错误,似乎无法解决。

以下是策略的JSON:

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Action":[
            "ec2:*"
         ],
         "Resource":[
            "*"
         ],
         "Effect":"Allow",
         "Condition":{
            "condition":{
               "StringEquals":{
                  "ec2:Region":"us-east-1"
               }
            }
         }
      }
   ]
}

这是造成问题的原因,但我似乎不太清楚自己哪里出了问题。我尝试过使用AWS IAM策略生成器来生成它,但当我尝试通过它创建它时,它仍然会给我一个语法错误,所以我猜这是一个语法问题。

我所要做的只是将策略限制为仅在us-east-1中执行EC2操作。

我用这个命令上传

aws iam put-group-policy  --group-name eastern-contractors --policy-document file://ec2.json --policy-name ec2

我得到以下响应

调用时发生客户端错误(MalformedPolicyDocument)PutGroupPolicy操作:此策略中存在无效条件。

我在这个网站上尝试过使用类似的答案,比如AWS IAM EC2权限-控制特定区域特定实例的访问,但似乎不起作用。

这是的工作策略

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1410456206000",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:Region": "us-east-1"
        }
      },
      "Resource": [
        "*"
      ]
    }
  ]
}

嵌套的"条件"就是问题所在。

相关内容

  • 没有找到相关文章

最新更新