AWS IAM策略 - 允许来自IP地址并允许Firehose

时间:2017-07-27 23:06:51

标签: amazon-web-services elasticsearch amazon-iam amazon-kinesis-firehose

我正在尝试设置一个允许从几个IP地址访问的ES实例,此外还允许Kinesis Firehose IAM角色向实例传递数据。

我在组合这两项政策方面遇到了麻烦。每个人都独立工作。只有IP地址策略,我可以从Kibana查看ES,但我无法使用Firehose提供数据。同样只有Firehose策略,我可以提供数据,但不能查询ES。

有人可以帮我看一下构建此访问策略时的错误吗?

以下是ES实例的政策:

"Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::iiiiiiiiiiii:role/firehose_delivery_role"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-west-2:iiiiiiiiiiii:domain/es-test/*"
    },
    {
      "Sid": "1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-west-2:iiiiiiiiiiii:domain/es-test/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "xxx.xxx.xx.xxx",
            "yyy.yy.y.yyy"
          ]
        }
      }
    }
]

1 个答案:

答案 0 :(得分:1)

  1. 在声明之前添加以下内容:“版本”:“2012-10-17”,
  2. 对于您的源IP,您是否指定了/ 32或/ 24之类的子网掩码?每http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IPAddress
  3. 需要它
  4. 在第一个语句中添加一个唯一的“Sid”,第二个语句中有一个。文档说这是可选的,但是除了这些差异之外,我的工作政策与你的政策非常接近。