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, and kdestroy.
  • 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).
  • Latest build of a Technology Compatibility Kit (TCK) Certified OpenJDK version 8 or Oracle Java SE Runtime Environment 8 (JRE or JDK). Earlier or later versions are not supported.
    Attention: Although Oracle JRE/JDK 8 is supported, DataStax does more extensive testing on OpenJDK 8. This change is due to the end of public updates for Oracle JRE/JDK 8. Java 9 is not supported.
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:
Important: DataStax recommends choosing either Kerberos or SSL because of overlap in features, and using it for both encryption and authentication.