All -
When building a Cassandra DB 5.0.4 single node database instance on a VM with RHEL9, I am unable to log in once I enable authentication/authorization. With authentication/authorization disabled, I am unable to add an additional superuser role or any role at all. Despited several adjustments, no error messages have appeared in the log files. I'm rather stumped and would appreciate help and recommendations.
My expectations is that I'm missing or failing to understand something from the docs, but I can't see what it is at this point. Given I haven't seen anybody else reporting it.
Once variables are set up, if I start with authentication/authorization enabled, it fails to log me in with the default cassandra:cassandra combination and the message: "AuthenticationFailed('Remote end requires authentication')"
If I start with authentication off, cqlsh let's me in, but when I try to change cassandra's password it fails and adding an additional super user fails with: "Only superusers can create a role with superuser status"
I have tried starting with authentication off, running "ALTER KEYSPACE system_auth WITH replication = { 'class': 'NetworkTopologyStrategy', 'DC1': 1 };", enabling authentication/authorization, and restarting. This results in the same AuthenticationFailed message.
This is being done via Chef, so each try is on a clean node.
On a fresh install "SELECT * from system_auth.roles;" gives me:
| role | can_login | is_superuser | member_of | salted_hash |
|---|---|---|---|---|
| cassandra | True | True | null | $2a$10$inuELV6CK.WVoZi8NOQJFOzbZHFz0mRMLPa9hKiLktT68RBl2xKNW |
nodetool responds correctly with UN.
In addition, I have:
- confirmed my quotes were correct, not 'smart quotes'
- Tried actions with both Network and Simple topologies
- Tried adding an additional superuser.
- Downloaded a fresh 5.0.4 and compared checksums - they match.
Outline of the current process.
- Install OpenJDK from tar bundle.
- Install Cassandra from tar bundle.
- Confirm directories/permissions.
- Configure, but do not start, Cassandra service.
- Configure Cassandra
- deploy updated conf/cassandra-env.sh
- jmx port, ssl = false, authenticate = false, host = IP.
- java performance settings (min/max, dumps, etc.)
- deploy updated conf/logback.xml
- enabled info logging for org.cisecurity.workbench
- backup default cassandra.yaml (will be removed for final cookbook)
- deploy conf/cassadra-rackdc.properties
- set dc name
- set rack name (default)
- deploy cassandra.yaml
- modified listen address (server IP)
- modified rpc address (server IP)
- data file directory location
- commit log directory location
- saved transactions directory location
- cluster name
- authenticator - AllowAllAuthenticator
- authorizer - AllowAllAuthorizer
- role manager - CassandraRoleManager
- Start Cassandra
- Execute sql to update system_auth keyspace to NetworkTopologyStrategy and dc:1 (1 for single node)
- (disabled) deploy updated cassandra.yaml
- authenticator - PasswordAuthenticator
- authorizer - CassandraAuthorizer
- deploy updated conf/cassandra-env.sh