Kerberos guidelines
Provides DataStax recommendations and requirements for setting up Kerberos.
In order to allow DSE clients to authenticate using Kerberos tickets, ensure that your environment meets the DataStax Enterprise requirements and recommendations to establish DSE as a Service Principal. When DSE Authorizer is also enabled, you can map User Principal (including Realm) to roles for database access control.
Note: The Kerberos Tutorial provides step-by-step instructions on
establishing client-DSE Kerberos authentication in DataStax Enterprise and
OpsCenter. Kerberos is a network authentication protocol designed to provide strong
authentication for client/server applications using secret-key cryptography. For
information on installing and setting up Kerberos, see the MIT Kerberos
Consortium documentation.
Kerberos guidelines
The following general guidelines apply to setting up Kerberos and configuring DataStax Enterprise as a Kerberos Service Principal:
- Familiarity with Kerberos and understand how to use these commands:
kinit
,klist
, andkdestroy
. - Write permission on the cassandra.yaml and dse.yaml files and access to all nodes in the cluster.
- Ability to restart the cluster after the configuration is complete.
- Fully operational Kerberos Key Distribution Center (KDC) servers. DataStax
recommends using multiple KDC servers, with a single primary or administration
KDC server and all others as secondary.Warning: For security purposes, DataStax recommends running the KDC on a secured server outside the DSE cluster. Never install KDC servers on DataStax Enterprise nodes.
- Proper security for the KDC servers, such as firewalls and physically protecting the KDC machines.
- Privilege to manage Kerberos principals and export keytab files (or access to a KDC administrator that does).
- Always secure the DSE keytab files; the DSE service account should own the
keytab file and have read/write access (
chmod 600
). - When using Oracle Java 8, DataStax recommends using the latest version. The minimum version must be at least 1.8.0_151.
CAUTION: When using Kerberos security, be aware of the scope of Kerberos
tickets. Using the su or sudo command leaves existing credentials behind and
requires you to re-authenticate as that new user. If you encounter authentication
issues, ensure that you have a proper Kerberos ticket.
Using Kerberos with DataStax Enterprise
The following topics provide information on using Kerberos with various DataStax
Enterprise features and other software:
- Connecting to SSL-enabled nodes using cqlsh
- Using dsetool with Kerberos enabled cluster
- When using audit logging with Kerberos authentication, the login events take place on Kerberos and are not logged in DataStax Enterprise. Authentication history is available only on Kerberos. When DataStax Enterprise is unable to authenticate a client with Kerberos, a LOGIN_ERROR event is logged, see Setting up database auditing.
Important: DataStax recommends using either Kerberos connection encryption
(qop=auth-conf) or SSL. Enabling both double encrypts the connection, which waste resources.