I have been working for couple of days on trying to setup SAML integration with Jumpcloud.
The both sides Jumpcloud and ELK has been configured, however I have been constantly redirected onto this URL: /customerror?type=samlAuthError#?_g=()
Here is part of my configuration, I will just replace sensitive data with <>:
After comiting changes security script is performed, and on relative path ‘metadata_file’ is .xml file with metadata extracted from Jumpcloud.
On Jumpcloud side we are using SAML1.0 (tried with 2.0 variants, but its still SAML 2.0 communication)unspecified format for parsing SAMLSubject NameID.
Link for ACS is https://:5601/_opendistro/_security/saml/acs
Also mapping username-username, and constant attribute roles tried with “all_access” and “*”.
Everything seemed ok regarding configuration, rechecked couple of times with SAML Opendistro instruction for configuration, however still receiving this kind of URL (https://:5601/customerror?type=samlAuthError#?_g=()), and having no logs explaining the issue in both Kibana or Elasticsearch.
Also added respective lines in log4j2.properties in Elasticsearch (Troubleshoot SAML - Open Distro Documentation), which generates no additional log.
If anyone has an idea what can be more looked into, please advice. I can add additional information if necessary.
Opendistro version is 1.4.0, and ELK version is 7.4.2.
I have tried the way you suggested, looked at your thread also, removed roles, added my user to roles, copied the part regarding logging for SAML/Authentication, and I got response like this:
[2020-05-13T03:36:40,630][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Rest authentication request from <KIBANA INTERNAL IP>:52340 [original: /<KIBANA INTERNAL IP>:52340]
[2020-05-13T03:36:40,630][DEBUG][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Check authdomain for rest internal/0 or 2 in total
[2020-05-13T03:36:40,630][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Try to extract auth creds from basic http authenticator
[2020-05-13T03:36:40,630][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] No 'Authorization' header, send 403
[2020-05-13T03:36:40,630][DEBUG][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Check authdomain for rest noop/1 or 2 in total
[2020-05-13T03:36:40,630][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Try to extract auth creds from saml http authenticator
[2020-05-13T03:36:40,656][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] No 'Authorization' header, send 401 and 'WWW-Authenticate Basic'
That shouldn`t be an issue.
According to Jumpcloud explanation it is:
(Required) This is the unique, case-sensitive identifier used by JumpCloud for this service provider. Please ensure that the value you enter matches the Identity Provider Entity ID you configured on your service provider’s SSO configuration page.
However, I have changed it on both Jumpcloud and Opendistro side to ‘jc-kibana-prod’, updated metadata.xml file, ran security script, and still have same output:
[2020-05-13T13:00:14,906][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Rest authentication request from <KIBANA IP>:54232 [original: /<KIBANA IP>:54232]
[2020-05-13T13:00:14,906][DEBUG][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Check authdomain for rest internal/0 or 2 in total
[2020-05-13T13:00:14,907][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Try to extract auth creds from basic http authenticator
[2020-05-13T13:00:14,907][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] No 'Authorization' header, send 403
[2020-05-13T13:00:14,907][DEBUG][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Check authdomain for rest noop/1 or 2 in total
[2020-05-13T13:00:14,907][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] Try to extract auth creds from saml http authenticator
[2020-05-13T13:00:14,939][TRACE][c.a.o.s.a.BackendRegistry] [phx-dsctes0.bmc.phoenixnap-internal.com] No 'Authorization' header, send 401 and 'WWW-Authenticate Basic'
One question though, our cluster has 3 ES nodes, I make updates on first ones config.yml, and than run security script. Do you know, its that common approach, or config files should be same on all 3 nodes?
The security security script writes the configuration to an index and the two other nodes reload from there. So the configuration files on the nodes don’t have to be the same.