Я пытаюсь отправить документы в индекс Elasticsearch из сценария Lambda Python, работающего как роль, к которой прилагается политика AmazonESFullAccess. Я создаю запросы с библиотекой python elasticsearch и подписываю их с библиотекой aws_requests_auth.Разрешения на роль службы AWS Elasticsearch
cred = boto3.session.Session().get_credentials()
es_host = '<elasticsearch-server>'
auth = AWSRequestsAuth(
aws_access_key=cred.access_key,
aws_secret_access_key=cred.secret_key,
aws_host=es_host,
aws_region='us-east-1',
aws_service='es')
ES_CLIENT = Elasticsearch(
host=es_host,
port=80,
connection_class=RequestsHttpConnection,
http_auth=auth)
Затем отправка насыпной создавать запросы следующим образом:
ES_CLIENT.bulk(
index='test_index',
body=docs)
Это неудачу со следующим:
TransportError (403, и '{ "сообщение": «Маркер безопасности включенное в запрос . "} '): АвторизацияException ...
Хотя тот же код работает при работе с ключами доступа администратора.
Почему эти запросы не выполняются при выполнении роли с «полным доступом к ES»?