Доступ к AWS Elasticsearch из AWS Beanstalk
У меня есть экземпляр службы Elasticsearch Service в AWS и 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/*"
}
]
}
1 ответ
Используйте политику на основе идентичности, такую как эта, вместо белых списков IP.
{
"Version": "2012-10-17",
"Statement": [
{
"Resource": "arn:aws:es:us-west-2:111111111111:domain/recipes1/*",
"Action": ["es:*"],
"Effect": "Allow"
}
]
}
Затем присоедините его к роли Elastic Beanstalk. Узнайте больше здесь