Un rol de base de datos se refiere a una colección de permisos asignados a uno o más usuarios dentro de una base de datos. También se puede asignar un rol de base de datos a los otros roles, lo que permite que un conjunto de grupos realice acciones específicas en las bases de datos en el clúster. Por ejemplo, Apache Cassandra utiliza roles y permisos para administrar la seguridad del usuario.
En este tutorial, descubrirá cómo administrar los roles de Cassandra aprendiendo cómo crear y eliminar los roles del clúster.
Cassandra crea papel
En Apache Cassandra, podemos crear un papel usando el comando Crear rol seguido del nombre del rol.
Un rol creado no tiene una funcionalidad de inicio de sesión o privilegios de superusor. La sintaxis para crear un papel en Cassandra es como se muestra:
Crear rol [si no existe] rol_name
[Con Superuser = True | FALSO
| Login = True | FALSO
| Contraseña = 'contraseña'
| Opciones = opción_map]
Tomemos un ejemplo simple de crear un papel en un clúster de Cassandra.
cassandra@cqlsh> crear rol de datos de datos_admin;
Por defecto, la creación de un rol no asigna ningún privilegio a menos que especifique el privilegio de superusuario durante la creación.
Puede asignar o eliminar los permisos a un papel específico utilizando la subvención o los permisos de revocar. Por ejemplo, el siguiente comando asigna todos los permisos al rol de base de datos_admin en un espacio de teclas determinado:
cassandra@cqlsh> otorgue todos los permisos en keyspace linuxhint a database_admin;
Una vez que asigne los permisos específicos a un rol específico, puede asignar a los diversos usuarios ese papel en el clúster.
Por ejemplo, para asignar el rol de Database_Admin a un usuario llamado "Linuxhint", podemos ejecutar el comando como:
Cassandra@cqlsh> Grant Database_admin a Linuxhint;
Luego podemos ver los permisos del papel "Database_admin" con el siguiente comando:
cassandra@cqlsh> enumere todos los permisos de database_admin;
Esto debería devolver todos los permisos del rol de base de datos_admin. Una salida de ejemplo es como se muestra:
papel | nombre de usuario | recurso | permiso
----------------+----------------+----------------------+------------
base de datos_admin | base de datos_admin || CREAR
base de datos_admin | base de datos_admin || ALTERAR
base de datos_admin | base de datos_admin || GOTA
base de datos_admin | base de datos_admin || SELECCIONAR
base de datos_admin | base de datos_admin || MODIFICAR
base de datos_admin | base de datos_admin || AUTORIZAR
Papel de caza de cassandra
Una vez que un rol ya no es relevante, puede eliminarlo utilizando el comando de rol de caída. La sintaxis es como se muestra:
Drop rol [if existe] rol_name;
Por ejemplo, para eliminar el rol de base de datos_admin que creamos anteriormente, podemos ejecutar el siguiente comando:
cassandra@cqlsh> Drop rol Si existe Database_admin;
Puede verificar los permisos de ese papel:
cassandra@cqlsh> enumere todos los permisos de database_admin;
Esto devuelve un error ya que el papel ya no existe en el clúster.
InvalidRequest: Error desde el servidor: código = 2200 [consulta inválida] mensaje = "no existe"
Conclusión
Aprendiste a crear y administrar los roles en Apache Cassandra en este artículo. También discutimos cómo eliminar los roles de un clúster.