Я пытаюсь получить доступ к своему AWS Elasticsearch из функции Lambda.
Используя Serverless Framework и политику доступа на основе IP, я уже смог достичь этого локально.
Для развернутой лямбда-функции я попытался использовать в моей политике доступа ARN функции Lambda Function Role и ARN функции Lambda (в правом верхнем углу при просмотре функции в консоли).
К сожалению Я все еще получаю следующую ошибку: User: anonymous is not authorized to perform: es:ESHttpPost
Это моя AWS Политика доступа:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn-of-lambda-function-role"
},
"Action": "es:*",
"Resource": "my-resource-arn"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "my-resource-arn",
"Condition": {
"IpAddress": {
"aws:SourceIp": "my-ip"
}
}
}
]
}