Доступ к AWS Elasticsearch из лямбда-функции - PullRequest
1 голос
/ 18 апреля 2020

Я пытаюсь получить доступ к своему 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"
        }
      }
    }
  ]
}

1 Ответ

1 голос
/ 18 апреля 2020

Вы подписываете свои запросы к экземпляру ES? В соответствии с https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-ac.html#es -managedomains-signature-service-запросы

Чтобы совершать вызовы API-интерфейсов Elasticsearch, вы должны подписывать свои собственные запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...