How do you create the first user in Cassandra DB

Pinocchio picture Pinocchio · Mar 6, 2014 · Viewed 42.2k times · Source

How does one create the first user in a cassandra database?

I tried:

CREATE USER username WITH PASSWORD "";

and its says:

Bad Request: Only superusers are allowed to perform CREATE USER queries

But I have never created a user before this attempt, so how do you create the first user in a cassandra database?

This seems a little strange because it's like a chicken and egg problem, but people use Cassandra so I am sure there must be a solution somewhere.

Answer

Aaron picture Aaron · Mar 6, 2014

Once you have enabled Authentication and Authorization, you can log-in (to your local Cassandra instance) as the default Cassandra admin user like this:

./cqlsh localhost -u cassandra -p cassandra

If you are running Cassandra on a Windows Server, I believe you need to invoke it with Python:

python cqlsh localhost -u cassandra -p cassandra

Once you get in, your first task should be to create another super user account.

CREATE USER dba WITH PASSWORD 'bacon' SUPERUSER;

Next, it is a really good idea to set the current Cassandra super user's password to something else...preferably something long and incomprehensible. With your new super user, you shouldn't need the default Cassandra account again.

ALTER USER cassandra WITH PASSWORD 'dfsso67347mething54747long67a7ndincom4574prehensi562ble';

For more information, check out this DataStax article: A Quick Tour of Internal Authentication and Authorization Security in DataStax Enterprise and Apache Cassandra