OpenSearch/x-pack/qa
Yogesh Gaikwad a525c36c60 [Kerberos] Add Kerberos authentication support (#32263)
This commit adds support for Kerberos authentication with a platinum
license. Kerberos authentication support relies on SPNEGO, which is
triggered by challenging clients with a 401 response with the
`WWW-Authenticate: Negotiate` header. A SPNEGO client will then provide
a Kerberos ticket in the `Authorization` header. The tickets are
validated using Java's built-in GSS support. The JVM uses a vm wide
configuration for Kerberos, so there can be only one Kerberos realm.
This is enforced by a bootstrap check that also enforces the existence
of the keytab file.

In many cases a fallback authentication mechanism is needed when SPNEGO
authentication is not available. In order to support this, the
DefaultAuthenticationFailureHandler now takes a list of failure response
headers. For example, one realm can provide a
`WWW-Authenticate: Negotiate` header as its default and another could
provide `WWW-Authenticate: Basic` to indicate to the client that basic
authentication can be used in place of SPNEGO.

In order to test Kerberos, unit tests are run against an in-memory KDC
that is backed by an in-memory ldap server. A QA project has also been
added to test against an actual KDC, which is provided by the krb5kdc
fixture.

Closes #30243
2018-07-24 08:44:26 -06:00
..
audit-tests Revert upgrade to Netty 4.1.25.Final (#31282) 2018-06-12 19:26:18 -04:00
core-rest-tests-with-security Rename ranking evaluation `quality_level` to `metric_score` (#32168) 2018-07-23 22:25:02 +02:00
full-cluster-restart Allow Integ Tests to run in a FIPS-140 JVM (#31989) 2018-07-24 12:48:14 +03:00
kerberos-tests [Kerberos] Add Kerberos authentication support (#32263) 2018-07-24 08:44:26 -06:00
ml-basic-multi-node [ML] Account for gaps in data counts after job is reopened (#30294) 2018-05-03 15:08:24 +01:00
ml-disabled Respect accept header on no handler (#30383) 2018-05-04 18:13:50 -04:00
ml-native-multi-node-tests Allow Integ Tests to run in a FIPS-140 JVM (#31989) 2018-07-24 12:48:14 +03:00
ml-no-bootstrap-tests Migrate x-pack-elasticsearch source to elasticsearch 2018-04-20 15:29:54 -07:00
ml-single-node-tests Build: Split distributions into oss and default 2018-04-20 15:33:57 -07:00
multi-cluster-search-security Cross Cluster Search: preserve remote status code (#30976) 2018-06-01 08:53:53 +02:00
multi-node Fix rollup on date fields that don't support epoch_millis (#31890) 2018-07-19 09:34:23 +02:00
openldap-tests Enable testing in FIPS140 JVM (#31666) 2018-07-17 10:54:10 +03:00
reindex-tests-with-security Remove all unused imports and fix CRLF (#31207) 2018-06-11 15:12:12 +02:00
rolling-upgrade Allow Integ Tests to run in a FIPS-140 JVM (#31989) 2018-07-24 12:48:14 +03:00
rolling-upgrade-basic Remove all unused imports and fix CRLF (#31207) 2018-06-11 15:12:12 +02:00
saml-idp-tests Limit the scope of BouncyCastle dependency (#30358) 2018-05-29 19:11:09 +03:00
security-client-tests Revert upgrade to Netty 4.1.25.Final (#31282) 2018-06-12 19:26:18 -04:00
security-example-spi-extension Configurable password hashing algorithm/cost (#31234) 2018-06-28 19:39:39 +03:00
security-migrate-tests Configurable password hashing algorithm/cost (#31234) 2018-06-28 19:39:39 +03:00
security-setup-password-tests Rename users 2018-04-20 15:34:01 -07:00
security-tools-tests Remove BouncyCastle dependency from runtime (#32193) 2018-07-21 00:03:58 +03:00
smoke-test-graph-with-security Rename users 2018-04-20 15:34:01 -07:00
smoke-test-ml-with-security [ML] Validate ML filter_id (#31535) 2018-07-02 12:48:04 +01:00
smoke-test-monitoring-with-watcher [TEST] Redirect links to new locations (#30179) 2018-04-27 09:24:46 -07:00
smoke-test-plugins Test: use trial license in qa tests with security 2018-05-03 10:33:08 -06:00
smoke-test-plugins-ssl Allow Integ Tests to run in a FIPS-140 JVM (#31989) 2018-07-24 12:48:14 +03:00
smoke-test-security-with-mustache Rename users 2018-04-20 15:34:01 -07:00
smoke-test-watcher [Tests] Fix self-referencing tests 2018-06-11 12:45:27 +02:00
smoke-test-watcher-with-security Watcher: Store username on watch execution (#31873) 2018-07-16 14:20:16 -05:00
sql Allow Integ Tests to run in a FIPS-140 JVM (#31989) 2018-07-24 12:48:14 +03:00
third-party Remove unnecessary warning supressions (#32250) 2018-07-23 11:31:04 +02:00
transport-client-tests Revert upgrade to Netty 4.1.25.Final (#31282) 2018-06-12 19:26:18 -04:00
vagrant Packaging: Remove windows bin files from the tar distribution (#30596) 2018-06-18 19:02:51 +02:00
build.gradle Fix unknown licenses (#31223) 2018-06-09 07:28:41 -04:00