web-dev-qa-db-fra.com

Comment créez-vous le premier utilisateur dans Cassandra DB

Comment créer le premier utilisateur dans une base de données cassandra?

J'ai essayé:

CREATE USER username WITH PASSWORD "";

et son dit:

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

Mais je n'ai jamais créé d'utilisateur avant cette tentative, alors comment créer le premier utilisateur dans une base de données cassandra?

Cela semble un peu étrange car c'est comme un problème de poulet et d'oeufs, mais les gens utilisent Cassandra donc je suis sûr qu'il doit y avoir une solution quelque part.

16
Pinocchio

Une fois que vous avez activé l'authentification et l'autorisation, vous pouvez vous connecter (à votre instance locale Cassandra) en tant qu'utilisateur par défaut Cassandra admin comme ceci:

./cqlsh localhost -u cassandra -p cassandra

Si vous exécutez Cassandra sur un serveur Windows, je crois vous devez l'invoquer avec Python :

python cqlsh localhost -u cassandra -p cassandra

Une fois entré, votre première tâche devrait être de créer un autre compte de super-utilisateur.

CREATE USER dba WITH PASSWORD 'bacon' SUPERUSER;

Ensuite, c'est une très bonne idée de définir le mot de passe du superutilisateur actuel Cassandra sur autre chose ... de préférence quelque chose de long et d'incompréhensible. Avec votre nouveau super utilisateur, vous ne devriez pas avoir besoin de la valeur par défaut Cassandra compte à nouveau.

ALTER USER cassandra WITH PASSWORD 'dfsso67347mething54747long67a7ndincom4574prehensi562ble';

Pour plus d'informations, consultez cet article DataStax: Présentation rapide de la sécurité de l'authentification interne et des autorisations dans DataStax Enterprise et Apache Cassandra

25
Aaron

Changement

authenticator: AllowAllAuthenticator 

À

authenticator: PasswordAuthenticator 

dans cassandra.yamlconfiguration file et redémarrez Cassandra.

Cela créera un superutilisateur cassandra pour vous avec le redémarrage. Assurez-vous que vous avez Phthon27, thrift-0.91, Cassandra (édition de la communauté de datastax 2.0.9), etc.) Maintenant, lorsque vous vous connectez à cassandra, il vous permet d'entrer en tant que superutilisateur. Vous pouvez maintenant créer un nouveau superutilisateur et modifier le mot de passe du superutilisateur existant également.

python cqlsh localhost -u cassandra -p cassandra 
Connected to Test Cluster at localhost:9160. 
[cqlsh 4.1.1 | Cassandra 2.0.9 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

Utilisez HELP pour obtenir de l'aide.

cqlsh> create user abc with password 'xyz' superuser; 
cqlsh> alter user cassandra with password 'gaurav'; 
cqlsh> exit
6
user3183457

Re: Une fois que vous avez activé l'authentification et l'autorisation (du commentaire du 6 mars à 14:41 par BryceAtNetwork23)

Tout d'abord, la modification de l'autorisation est-elle nécessaire pour configurer l'authentification? Je suppose que non.

Deuxièmement, la configuration de l'autorisation n'est pas très simple si vous avez configuré la réplication de style de centre de données. J'ai configuré l'autorisation en suivant les étapes suivantes:

  • Dans conf/cassandra.yaml, authentificateur modifié de AllowAllAuthenticator en PasswordAuthenticator pour tous les nœuds
  • Redémarrage de tous les nœuds
  • Modification du mot de passe par défaut 'cassandra' comme décrit ci-dessus et ajout d'autres superutilisateurs
  • Modification de l'espace de clés system_auth pour qu'il soit redondant (conformément aux instructions du fichier cassandra.yaml) en exécutant: "ALTER KEYSPACE system_auth WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'MY_DATACENTER_NAME': N}"
  • J'ai défini N était défini sur le nombre de nœuds dans mon centre de données (c'est-à-dire, entièrement redondant)
  • Ran bin/nodetool repair on each node serial

Cela semble-t-il raisonnable pour les gens qui savent ce qu'ils font?

3
Ben Slade

Pour commencer à utiliser l'authentification, la paire nom d'utilisateur/mot de passe du superutilisateur par défaut est cassandra/cassandra. Cela devrait résoudre le problème du poulet et des œufs.

Source: http://www.datastax.com/docs/datastax_enterprise3.0/security/native_authentication

3
Blue Ice