Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature-Proposal] Enable Multiple Authentication for OpenSearch Dashboard #2100

Closed
aoguan1990 opened this issue Aug 9, 2022 · 5 comments · Fixed by opensearch-project/security-dashboards-plugin#1110
Assignees
Labels
enhancement New feature or request v2.4.0 'Issues and PRs related to version v2.4.0'

Comments

@aoguan1990
Copy link
Contributor

aoguan1990 commented Aug 9, 2022

What are you proposing?

Leverage the functionality to allow OpenSearch Dashboards administer to enable multiple authentication types on demand by setting up OpenSeach Dashboards configuration. For OpenSearch Dashboards with Security Plugin enabled, at least one authentication type should be configured.

  In Scope Out of Scope
Single Authentication Mode Basic, OpenID Connect, SAML, Proxy, JWT  
Multiple Authentication Mode Basic, OpenID Connect, SAML Proxy, JWT

How did you come up with this proposal?

As for now, OpenSearch Dashboards supports many types of authentications including Basic, OIDC, SAML, LDAP, Proxy and Client-Certificate based authentication. However, only one authentication type can be configured in OpenSearch Dashboard while there is a high demand shows the opposite way. After capturing and analyzing customer requests from both GitHub and OpenSearch Community, the great value of enabling multiple authentication types simultaneously in OpenSearch Dashboards is self-evident.

Related Customer Request

  1. GitHub Issues:
  1. OpenSeach Community Issues:

Authentication Use Cases

Use Case 1:

Authentication Type: Basic and OIDC / SAML
IDP:

  • Internal IDP for Basic Auth: OpenSearch
  • External IDP for OIDC / SAML Auth: Enterprise based IDP

This use case is applied to the organization, which uses a dedicated third-party IDP to manage OpenSearch Dashboards User Identity. This solution can further integrate the OpenSearch Dashboards authentication solution with these organizations’ Single-Sign-On Solution . In this use case, OpenSearch serves as an Internal IDP to maintain authentication information for Admin or Service OpenSearch Dashboards accounts. Enterprise-based IDP serves as an external IDP to maintain authentication information for *Regular OpenSearch Dashboards account.

Use Case 2:

Authentication Type: Basic and OIDC
IDP:

  • Internal IDP for Basic Auth: OpenSearch
  • External IDP for OIDC Auth: Social based IDP

This use case is applied to the organization, which uses Social IDP to manage OpenSearch Dashboards User Identity. This solution can remove the identity management burden from the OpenSearch Dashboards admins’ shoulders. However, challenges still exist on access controls for Social SignIn accounts. In this use case, OpenSearch serves as an Internal IDP to maintain authentication information for Admins or Service OpenSearch Dashboards accounts. Social-based IDP serves as an external IDP to maintain authentication information for *Regular OpenSearch Dashboards accounts.

What is the user experience going to be?

  1. Administrators setup authentication types and IDP related endpoint configuration in opensearch-dashboards.yml
  2. Administrators start OpenSearch Dashboards service
  3. User clicked on the preferred method to login to OpenSearch Dashboards
  4. Based on authentication type get picked by User, OpenSearch Dashboards redirect authentication request to different IDP Endpoints to retrieve authentication information
  5. User is authenticated and session cookie is updated properly with limited time period

Image

@dblock
Copy link
Member

dblock commented Sep 16, 2022

There are links into docs internal at Amazon here that should be removed.

@aoguan1990
Copy link
Contributor Author

There are links into docs internal at Amazon here that should be removed.

Links are removed. Thanks!

@davidlago
Copy link

Linking related issue to add documentation for this feature: opensearch-project/documentation-website#1488

@seraphjiang seraphjiang added the v2.4.0 'Issues and PRs related to version v2.4.0' label Oct 17, 2022
@kavilla
Copy link
Member

kavilla commented Oct 24, 2022

@aoguan1990 is this possible for 2.4 I believe feature freeze is next week if this is going to open as PR it might require some time to review.

@aoguan1990
Copy link
Contributor Author

@kavilla Thank you so much for following up on this feature. Here is the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request v2.4.0 'Issues and PRs related to version v2.4.0'
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants