我在AWS上有一个Elasticsearch Service实例,有一个Elastic Beanstalk实例。
我想授予对beantalk的只读访问权限,但是beantalk没有默认的静态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/*"
}
]
}
答案 0 :(得分:0)
使用这种基于身份的策略代替IP白名单。
{
"Version": "2012-10-17",
"Statement": [
{
"Resource": "arn:aws:es:us-west-2:111111111111:domain/recipes1/*",
"Action": ["es:*"],
"Effect": "Allow"
}
]
}
然后将其附加到Elastic Beanstalk角色。在此处阅读更多内容