Cassandra révèle les rôles

Cassandra révèle les rôles
Ce tutoriel vous apprendra à gérer les rôles de base de données dans un cluster Cassandra. Les rôles régissent les autorisations et privilèges accessibles par les utilisateurs de la base de données sur divers objets. Par exemple, vous pouvez avoir des rôles pour permettre à un ensemble d'utilisateurs de lire mais de ne pas écrire dans une base de données donnée.

Explorons comment nous pouvons créer les différents types de rôles dans un cluster Cassandra.

Cassandra Créer une syntaxe de commande de rôle

L'extrait suivant montre la syntaxe du rôle de création dans Cassandra:

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]

Voici les paramètres de la syntaxe donnée:

  1. Role_name - Cela spécifie le nom utilisé pour identifier un rôle donné. Gardez à l'esprit que Cassandra ne sera que le cas à moins que le nom ne soit enfermé en guillemets.
  2. SuperUser - La définition de la valeur du superutilisateur sur True accorde automatiquement à l'autorisation, à l'octroi et à la publication de tous les rôles. Cela permet aux superutilisateurs de gérer les autres rôles dans la base de données.
  3. Connexion - Si elle est définie sur True, le rôle créé est traité comme un compte standard, permettant à ce nom d'utilisateur de se connecter avec un nom d'utilisateur et un mot de passe. Par défaut, cette valeur est définie sur false.
  4. Mot de passe - il spécifie le mot de passe avec lequel le rôle sera utilisé pour se connecter. Associez cette valeur à Login = True. Sinon, sautez.
  5. Options - Spécifie les options de plugins d'authentification configurés.

Exemple 1: Créez un compte de connexion

L'exemple suivant montre comment créer un utilisateur de connexion à l'aide de la commande Create Role:

CQLSH> Créer un rôle Linuxhint
… Avec mot de passe = 'mot de passe'
… Et connexion = vrai;

Définir le mot de passe et la connexion = True vous permet de créer un utilisateur standard. Vous pouvez ensuite vous connecter dans le serveur avec l'utilisateur créé comme suit:

Connexion Linuxhint
La commande vous invite à saisir un mot de passe pour le nom d'utilisateur spécifié. Une fois authentifié, l'invite doit refléter l'utilisateur connecté comme:

linuxhint @ cqlsh>

Exemple 2: Créer un rôle

Pour créer un rôle Cassandra, nous pouvons exécuter la commande suivante:

Cassandra @ CQLSH> Créer un rôle d'administration;

La commande donnée crée un nouveau rôle appelé admin. Gardez à l'esprit qu'un rôle ne contient aucune autorisation par défaut.

Nous pouvons attribuer un rôle avec diverses autorisations en utilisant la commande Grant. Par exemple, nous pouvons attribuer toutes les autorisations au rôle d'administration sur un espace de clé donné en exécutant la commande suivante:

Cassandra @ CQLSH> Accorder toutes les autorisations sur Keyspace LinuxHint à Admin;

La commande précédente attribue toutes les autorisations au rôle d'administration sur l'espace de touche LinuxHint.

Nous pouvons ensuite attribuer le rôle à un utilisateur spécifique comme indiqué dans ce qui suit:

Cassandra @ CQLSH> Grant Admin à LinuxHint;

La commande précédente attribue le rôle d'administration à l'utilisateur de Linuxhint.

Nous pouvons afficher les autorisations de l'utilisateur avec la commande suivante:

Cassandra @ CQLSH> Liste toutes les autorisations de LinuxHint;

Sortir

Rôle | Nom d'utilisateur | Ressource | autorisation
-------+----------+----------------------+------------
Admin | Admin | | CRÉER
Admin | Admin | | MODIFIER
Admin | Admin | | GOUTTE
Admin | Admin | | SÉLECTIONNER
Admin | Admin | | MODIFIER
Admin | Admin | | AUTORISER
(6 rangées)

La commande renvoie les informations d'autorisation détaillées, y compris le rôle auquel appartient ce nom d'utilisateur, l'espace de clés cible et les autorisations.

Cassandra révèle les rôles

Si vous souhaitez supprimer une autorisation spécifique d'un rôle, vous pouvez utiliser la commande Revoke comme indiqué dans la syntaxe suivante:

Révoquer l'autorisation
Sur object_name
De Role_name

Si vous souhaitez supprimer une autorisation d'un rôle donné où l'autorisation fait référence à une autorisation spécifique, ces autorisations incluent:

  1. Toutes les autorisations
  2. MODIFIER
  3. AUTORISER
  4. CRÉER
  5. DÉCRIRE
  6. GOUTTE
  7. EXÉCUTER
  8. MODIFIER
  9. SÉLECTIONNER

Le nom de l'objet fait référence à l'objet cible sur lequel l'autorisation s'applique. Il s'agit notamment de bases de données, de fonctions, de rôles, de tables, etc.

Par exemple, pour supprimer toute l'autorisation du rôle d'administrateur que nous avons créé plus tôt, nous pouvons exécuter la commande suivante:

Cassandra @ CQLSH: LinuxHint> Révoquez toutes les autorisations sur tous les espaces de clés de l'administrateur;

La commande précédente révoque l'autorisation du rôle d'administrateur sur tous les espaces de touches.

Conclusion

Ce message couvre les rôles et les autorisations de Cassandra en utilisant les commandes CQL.

Codage heureux!