1

I want to be able to create multiple users on my Cassandra app such that a user can only access specific databases. I've tried following the official docs of DataStax to create users. However, cosmosdB doesn't let me add users or even LIST USERS as it gives a No Host Available error. I've tried altering the system_auth keyspace to change the replication strategy as mentioned in this thread but to no avail. Gives me message="system_auth keyspace is not user-modifiable."

How can I use the Database Users feature of Cassandra on CosmosDB?

What alternatives do I have to create logins such that a user is only able to access a specific keyspace

Erick Ramirez
  • 13,964
  • 1
  • 18
  • 23
AbP
  • 25
  • 6
  • Welcome to Stack Overflow! A friendly reminder that this site is for getting help with coding, algorithm, or programming language problems. I have cast a vote to have your post moved to dba.stackexchange.com instead. Cheers! – Erick Ramirez Oct 25 '22 at 05:47

1 Answers1

2

Azure Cosmos DB for Apache Cassandra (the product) is not a true Cassandra cluster. Instead, Cosmos DB provides an API that is CQL compliant so you can connect to Cosmos DB using Cassandra drivers.

There are limits to what Cosmos DB's API can provide and there are several Cassandra features which are not supported which include (but not limited to) the following CQL commands:

  • CREATE ROLE
  • CREATE USER
  • LIST ROLES
  • LIST USERS

From what I understand, Cosmos DB uses role-based access control (RBAC) and you'll need to provision access to your DB using the Azure portal.

Cosmos DB also does not provide support for Cassandra permissions so you will not be able to grant granular permissions in the same way that you would in a traditional Cassandra cluster.

For more information, see Apache Cassandra features supported by Azure Cosmos DB. Cheers!

Erick Ramirez
  • 13,964
  • 1
  • 18
  • 23