Configure HCD Unified Authentication in a live cluster
To implement HCD Unified Authentication in an existing deployment (a live cluster) without downtime or interrupted access, use transitional modes to temporarily support applications and users that don’t have accounts:
-
Update all applications to provide credentials and ensure that they use the latest version of a supported Apache Cassandra driver.
When using
authentication.transitional_mode, you can provide a blank username and password to log in with theanonymousrole.When authentication and authorization are disabled, the credentials portion of the connection request is ignored. After authentication is enabled all connections must provide credentials.
-
Run a full repair of the
system_authkeyspace. -
On each node, enable authentication and authorization in transitional mode:
-
Set
authentication.transitional_modetopermissivein thecassandra.yamlfile. -
Set
authorization.transitional_modetonormalin thecassandra.yamlfile.
For more information, see Enable HCD Unified Authentication.
-
-
Enable logging so you can verify that applications are authenticating successfully.
-
Perform a rolling restart of all nodes in the cluster.
Nodes are vulnerable to malicious activity following this restart. Anybody can access the system using the default
cassandraaccount with passwordcassandra. DataStax recommends isolating the cluster until you disable thecassandraaccount.Additionally, using the default
cassandraaccount can impact performance because all requests, including login, execute with consistency levelQUORUM. DataStax recommends using thecassandraaccount only to create a new superuser (root) account. -
After all nodes restart, use
cqlshto replace thecassandradefault account with a superuser login. -
Switch to the new superuser account, and then configure roles and assign permissions.
-
Disable or drop the default
cassandraaccount. -
Monitor audit logs to verify that all applications can access nodes and have the permissions required to execute requests.
-
In the
cassandra.yamlfile, setauthenticator.parameters.enabledtotrue, and then configure specific authentication schemes, such as LDAP. -
Perform a rolling restart of the cluster.