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

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

我正在尝试建立一个ES实例,该实例除了允许Kinesis Firehose IAM角色将数据传递到实例之外,还允许从多个IP地址进行访问。

我在合并这两个策略时遇到了麻烦。每个人都有自己的作品。仅使用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"
          ]
        }
      }
    }
]

最佳答案

  • 在语句之前添加以下内容:“Version”:“2012-10-17”,
  • 对于源IP,是否指定了/ 32或/ 24之类的子网掩码?每个http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IPAddress
  • 都需要
  • 在第一个语句中添加一个唯一的“Sid”,第二个语句中有一个。文档说这是可选的,但是除了这些区别之外,我有一个非常接近您的工作策略。
  • 关于amazon-web-services - AWS IAM策略-允许来自IP地址并允许Firehose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45362387/

    相关文章:

    elasticsearch - 按 timeUpdated 排序,如果存在,否则 timeCreated

    amazon-web-services - 如何保护实例角色的 S3 存储桶?

    amazon-web-services - 使用 IAM 角色的跨账户 SQS 订阅

    amazon-web-services - 反向代理的 AWS 存储桶策略

    arrays - Hive 横向 View 不起作用 AWS Athena

    java - 登录集成问题,找不到类 CognitoUserPoolsSignInProvider

    python - boto3 ConnectionClosedError python

    elasticsearch - 当单个客户端节点发生故障时,Elasticsearch客户端不会获取结果

    node.js - 如何以编程方式将 AWS lambda 触发器设置为 Alexa Skills

    elasticsearch - 从完整Elasticsearch索引中删除文档