1

Я создаю API-интерфейс golang RESTful и пытаюсь получить доступ к ES с использованием подписанных запросов. я следовал документации по AWS документации упругого пакета поиска клиента Golang AWS Я использую (olivere/эластичный)Имеют проблемы с доступом к ES с подпиской на запрос AWS

После golang коды используется для создания нового клиента

signer := v4.NewSigner(credentials.NewStaticCredentials("IAM_USER_ID", "IAM_USER_SECRET", "")) 
awsClient, err := aws_signing_client.New(signer, nil, "es", "us-east-1") 
if err != nil { 
    return nil, err 
} 
return elastic.NewClient(
    elastic.SetURL("https://my-aws-endpoint.us-east-1.es.amazonaws.com"), 
    elastic.SetScheme("https"), 
    elastic.SetHttpClient(awsClient), 
    elastic.SetSniff(false), // See note below 
) 

В ElasticSearch AWS консоли , я изменил политику доступа как то: selected access policy template access policy

Кажется, я могу открыть узел ES, но когда я пытаюсь выполнить запрос, ES статус возврата HTTP 403 - не имеют разрешения ,

Я также попытался предоставить пользователю IAM политику AmazonESFullAccess, но, похоже, она не имеет никакого эффекта.

ответ