Cassandra is a distributed wide-column store. climpt connects over CQL with a role that holds SELECT and nothing else. You only need to name one reachable node — the driver discovers the rest of the cluster itself.
Credentials
- Host
- A contact point — hostname or IP of at least one node, for example
cassandra.example.com. - Port
- The CQL native transport port,
9042by default. - Keyspace
- The keyspace to query, for example
analytics. - Username
- The read-only role created below.
- Password
- That role’s password.
Before you start
Both authentication and authorization must be switched on in cassandra.yaml. With AllowAllAuthenticator in place, grants are not enforced at all.
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizerChange the default cassandra/cassandra superuser password if you have not already.
Creating a read-only role
Connect with cqlsh as a superuser.
CREATE ROLE climpt_readonly
WITH PASSWORD = 'strong_password_here'
AND LOGIN = true;
GRANT SELECT ON KEYSPACE analytics TO climpt_readonly;
-- Optional: schema introspection
GRANT DESCRIBE ON ALL KEYSPACES TO climpt_readonly;Granting SELECT on specific tables rather than the whole keyspace is tighter, if you know which tables you want analysed.
Client encryption
client_encryption_options:
enabled: true
keystore: /path/to/keystore.jks
keystore_password: keystore_passRestart Cassandra after changing this, then open port 9042 only to the addresses that need it.
Managed Cassandra
- DataStax Astra — download the Secure Connect Bundle from the Astra dashboard. TLS is on by default, and user and role management happens in the Astra console rather than in CQL.
- AWS Keyspaces — connects over TLS on port 9142 with service-specific credentials from IAM, and requires the Starfield digital certificate.
Worth knowing
- Grant only SELECT.
MODIFY,CREATE,ALTERandDROPare all access climpt will not use. - Rotating credentials means creating a new role and revoking the old one, rather than changing a password in place.