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?

asked 4 years ago947 views
1 Answer
0
Accepted Answer

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.

answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions