Недавно я начал использовать новую службу Amazon Elasticsearch, и я не могу понять, какую политику доступа мне нужно, чтобы я мог обращаться к службам только из своих экземпляров EC2, у которых есть определенная роль IAM, назначенная им.
Вот пример политики доступа, которую я сейчас назначил для домена ES:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::[ACCOUNT_ID]:role/my_es_role",
]
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:[ACCOUNT_ID]:domain/[ES_DOMAIN]/*"
}
]
}
Но, как я уже сказал, это не работает. Я вхожу в экземпляр EC2 (к которому привязана роль my_es_role
) и пытается запустить простой вызов curl на конечной точке https://*.es.amazonaws.com, я получаю следующую ошибку:
{ "Сообщение": "Пользователь: анонимный не имеет права выполнять: es: ESHttpGet на ресурсе: arn: aws: es: us-east-1: [ACCOUNT_ID]: domain/[ES_DOMAIN]/" }
Кто-нибудь знает, что мне нужно изменить в политике доступа, чтобы это работало?