3

我在 AWS 上有一个 Elasticsearch Service 实例和一个 Elastic Beanstalk 实例。

我想授予对 beanstalk 的只读访问权限,但是 beanstalk 没有默认的静态 IP 地址,并且通过一些谷歌搜索添加一个太麻烦了。

因此,我授予了对 aws 帐户的访问权限,但这似乎不起作用。我仍然收到错误:

“用户:匿名无权执行:es:ESHttpPost

当我将它设置为公共访问时,一切正常,所以我确定我在这里做错了什么:

{
 "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::xxx:root"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:eu-central-1:xxx:domain/xxx-elastic-search/*"
    }
  ]
}
4

1 回答 1

0

使用诸如此类的基于身份的策略,而不是 IP 白名单。

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Resource": "arn:aws:es:us-west-2:111111111111:domain/recipes1/*",
   "Action": ["es:*"],
   "Effect": "Allow"
  }
 ]
}

然后将其附加到 Elastic Beanstalk 角色。在这里阅读更多

https://aws.amazon.com/blogs/security/how-to-control-access-to-your-amazon-elasticsearch-service-domain/

于 2018-11-17T15:13:54.047 回答