Hi all, I’m trying to join Opensearch and Opensearch-Dashboards with Keycloak IdP. When I type on browser the opensearch dashboard url (behind a traefik reverse proxy), I can correctly authenticate on the keyclock login page, but unfortunately, after that, I’m stuck on a redirect loop and the browser (e.g.: firefox) says: “The page isn’t redirecting properly”.
My infrastructure is on k8s (opensearch deployed by Helm). Heres my config:
-
opensearch-dashboards/values.yaml
…
opensearch_dashboards.yml: |opensearch_security.auth.type: “openid”
opensearch_security.openid.connect_url: “https://<keycloak_url>/auth/realms/<my_realm>/.well-known/openid-configuration”
opensearch_security.openid.root_ca: my_cert.crt
opensearch_security.openid.verify_hostnames: false
opensearch_security.openid.client_id: “opensearch-dashboards-sso”
opensearch_security.openid.client_secret: “…”
opensearch_security.openid.base_redirect_url: “https://<opensearch_dashboard_external_url>”
opensearch.hosts: [https://opensearch-cluster-master:9200]
opensearch.username: “kibanaserver”
opensearch.password: “kibanaserver”
opensearch.ssl.verificationMode: none
opensearch.requestHeadersWhitelist: [“securitytenant”, “Authorization”]
opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.enable_private: true
opensearch_security.multitenancy.tenants.preferred: [“Private”, “Global”]
opensearch_security.multitenancy.enable_filter: false
opensearch_security.cookie.secure: false
opensearch_security.openid.scope: openid profile email groups
… -
opensearch/master.yaml
…
config.yml: |
basic_internal_auth_domain:
http_enabled: true
transport_enabled: true
order: 0
http_authenticator:
type: basic
challenge: false
authentication_backend:
type: internalopenid_auth_domain:
http_enabled: true
transport_enabled: true
order: 1
http_authenticator:
type: openid
challenge: false
config:
openid_connect_idp:
enable_ssl: true
verify_hostnames: false
pemtrustedcas_filepath: /usr/share/opensearch/config/my_cert.crt
subject_key: preferred_username
roles_key: roles
openid_connect_url: “https://<keycloak_url>/auth/realms/<my_realm>/.well-known/openid-configuration”
skip_users:
- kibanaro
- kibanaserver
- logstash
- adminp
- admin
- filebeat_internal
- kibanauser
authentication_backend:
type: noop
…
OpenSearch version: 2.0.1
Keycloack version: 15.0.1
On Keycloak the conf is pretty standard, I created the client/secret, etc…
Client Protocol: openid-connect
Access Type: Confidential
Root URL: https://<opensearch_dashboard_external_url>
Valid Redirect URIs: https://<opensearch_dashboard_external_url>/*
Base URL: /app/home
Admin URL: https://<opensearch_dashboard_external_url>
_
Have you ever found this type of error?
Thanks for any help