Un rôle de base de données fait référence à une collection d'autorisations allouées à un ou plusieurs utilisateurs dans une base de données. Un rôle de base de données peut également être attribué aux autres rôles, permettant à un ensemble de groupes d'effectuer des actions spécifiques sur les bases de données du cluster. Par exemple, Apache Cassandra utilise des rôles et des autorisations pour gérer la sécurité des utilisateurs.
Dans ce tutoriel, vous découvrirez comment gérer les rôles de Cassandra en apprenant à créer et à supprimer les rôles du cluster.
Cassandra créent un rôle
Dans Apache Cassandra, nous pouvons créer un rôle en utilisant la commande de rôle Create Role suivie du nom du rôle.
Un rôle créé n'a pas de fonctionnalité de connexion ou de privilèges de superutilisateur. La syntaxe pour créer un rôle dans Cassandra est comme indiqué:
Créer un rôle [s'il n'existe pas] Role_name
[Avec SuperUser = True | FAUX
| Login = true | FAUX
| Mot de passe = 'mot de passe'
| Options = option_map]
Prenons un exemple simple de création d'un rôle dans un cluster Cassandra.
Cassandra @ CQLSH> Créer des rôles Database_Admin;
Par défaut, la création d'un rôle n'attribue aucun privilège à moins que vous ne spécifiez le privilège du superutilisateur pendant la création.
Vous pouvez affecter ou supprimer les autorisations à un rôle spécifique en utilisant les autorisations de subvention ou de révocation. Par exemple, la commande suivante attribue toutes les autorisations au rôle de Database_Admin sur un Espace donné:
Cassandra @ CQLSH> Accorde toutes les autorisations sur Keyspace LinuxHint à Database_Admin;
Une fois que vous avez attribué les autorisations spécifiques à un rôle spécifique, vous pouvez allouer aux différents utilisateurs ce rôle dans le cluster.
Par exemple, pour attribuer le rôle de Database_Admin à un utilisateur appelé «LinuxHint», nous pouvons exécuter la commande comme:
Cassandra @ CQLSH> Grant Database_Admin à LinuxHint;
Nous pouvons ensuite afficher les autorisations du rôle «Database_Admin» avec la commande suivante:
Cassandra @ CQLSH> Liste toutes les autorisations de Database_Admin;
Cela devrait renvoyer toutes les autorisations du rôle de base de données_admin. Un exemple de sortie est comme indiqué:
Rôle | Nom d'utilisateur | Ressource | autorisation
----------------+----------------+----------------------+------------
database_admin | database_admin || CRÉER
database_admin | database_admin || MODIFIER
database_admin | database_admin || GOUTTE
database_admin | database_admin || SÉLECTIONNER
database_admin | database_admin || MODIFIER
database_admin | database_admin || AUTORISER
Rôle de chute de Cassandra
Une fois qu'un rôle n'est plus pertinent, vous pouvez le supprimer à l'aide de la commande de rôle Drop. La syntaxe est comme indiqué:
Drop role [si existe] role_name;
Par exemple, pour supprimer le rôle de base de données_admin que nous avons créé plus tôt, nous pouvons exécuter la commande suivante:
Cassandra @ CQLSH> Drop Role si existe Database_Admin;
Vous pouvez vérifier les autorisations de ce rôle:
Cassandra @ CQLSH> Liste toutes les autorisations de Database_Admin;
Cela renvoie une erreur car le rôle n'existe plus sur le cluster.
InvaliDrequest: Erreur du serveur: code = 2200 [requête non valide] message = "n'existe pas"
Conclusion
Vous avez appris à créer et à gérer les rôles dans Apache Cassandra dans cet article. Nous avons également discuté de la façon de supprimer les rôles d'un cluster.