Secure your clusters with Kerberos
editSecure your clusters with Kerberos
editYou can secure your Elasticsearch clusters and Kibana instances in a deployment by using the Kerberos-5 protocol to authenticate users.
Before you begin
editThe steps in this section require an understanding of Kerberos. To learn more about Kerberos, check our documentation on configuring Elasticsearch for Kerberos authentication.
Configure the cluster to use Kerberos
editWith a custom bundle containing the Kerberos files and changes to the cluster configuration, you can enforce user authentication through the Kerberos protocol.
- Create or use an existing deployment that includes a Kibana instance.
-
Create a custom bundle that contains your
krb5.conf
andkeytab
files, and add it to your cluster.You should use these exact filenames for Elasticsearch Add-On for Heroku to recognize the file in the bundle.
-
Edit your cluster configuration, sometimes also referred to as the deployment plan, to define Kerberos settings as described in Elasticsearch documentation.
xpack.security.authc.realms.kerberos.cloud-krb: order: 2 keytab.path: es.keytab remove_realm_name: false
The name of the realm must be
cloud-krb
, and the order must be 2:xpack.security.authc.realms.kerberos.cloud-krb.order: 2
-
Update Kibana in the user settings configuration to use Kerberos as the authentication provider:
xpack.security.authc.providers: kerberos.kerberos1: order: 0
This configuration disables all other realms and only allows users to authenticate with Kerberos. If you wish to allow your native realm users to authenticate, you need to also enable the
basic
provider
like this: - Use the Kibana endpoint URL to log in.