Combining Basic Auth & Cognito Auth in ES

0

A customer wants to use HTTP Basic Auth for direct ES API access and use Cognito based federate Auth for Kibana access. Leaving aside the security issues with using Basic Auth, do we have any caveat that I should be aware of in this approach?

已提问 4 年前958 查看次数
1 回答
0
已接受的回答

You can use Internal master user option. WIth this, the HTTP Basic Auth for direct ES API will work with a username password as well as Cognito integration will work seamlessly. (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/fgac.html)

With the internal master user, The rest APIs and signing request will require username and password. See below for examples :

Rest :

curl --user 'username:Password01' https://vpc-testgranular01-xxxxxx.us-west-2.es.amazonaws.com

Signed Req:

es = Elasticsearch(
    hosts = [{'host': host, 'port': 443}],
    http_auth = ('username','Password01'),
    use_ssl = True,
    verify_certs = True,
    connection_class = RequestsHttpConnection
)

The Cognito Kibana will work too without any issues. However if youchoose IAM for the master user and don't enable Amazon Cognito authentication, Kibana displays a nonfunctional sign-in page and basic auth will not work.

已回答 4 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则