AmazonESFullAccessポリシーが付与されたロールとして実行されているPython Lambdaスクリプトから、Elasticsearchインデックスにドキュメントを送信しようとしています。私はpython elasticsearchライブラリでリクエストを作成し、aws_requests_authライブラリで署名しています。AWS Elasticsearchサービスロールのアクセス許可
TransportError(403、U '{ "メッセージ":これは、以下で失敗している
ES_CLIENT.bulk( index='test_index', body=docs)
:「セキュリティトークンを
次に、以下のようにバルク要求を作成する送信します リクエストに含まれています。 "} '):AuthorizationException ...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)
adminユーザーのアクセスキーで実行しても同じコードが機能します。
なぜ「フルESアクセス」の役割として実行しているときにこれらの要求が失敗するのですか?