En este artículo, analizaremos los roles de la base de datos en Cassandra Query Language. Es muy importante crear diferentes roles para diferentes tipos de usuarios para proporcionar acceso con requisitos específicos. Se utiliza para proporcionar seguridad a los usuarios de la base de datos o a un grupo de usuarios.
Un nombre de función se puede definir simplemente de la siguiente manera.
role_name ::= identifier | string
- CREAR ROL:
En CQL podemos crear un rol usando la instrucción de comando CREAR. El comando CREAR ayuda a crear roles para usuarios o grupos de usuarios.
Sintaxis:
create_role_statement ::= CREATE ROLE [ IF NOT EXISTS ] role_name [ WITH role_options ] role_options ::= role_option ( AND role_option )* role_option ::= PASSWORD '=' string | LOGIN '=' boolean | SUPERUSER '=' boolean | OPTIONS '=' map_literal | ACCESS TO DATACENTERS set_literal | ACCESS TO ALL DATACENTERS
syntax : CREATE ROLE new_role_name;
-
Por ejemplo:
para crear un usuario simple y un rol de superusuario, utilice la siguiente consulta CQL.
CREATE ROLE Ashish WITH PASSWORD = 'pass_a' AND LOGIN = true; CREATE ROLE Rana WITH PASSWORD = 'pass_r' AND LOGIN = true AND SUPERUSER = true;
-
Para crear funciones de base de datos para el usuario con más restricciones, de modo que si un usuario solo puede acceder a centros de datos específicos, para crear dicho tipo de función se utiliza la siguiente consulta CQL.
CREATE ROLE user1 WITH OPTIONS = { 'option1' : 'option1_value', 'option2' : 98 }; CREATE ROLE Ashish WITH PASSWORD = 'pass_a' AND LOGIN = true AND ACCESS TO DATACENTERS {'DC1', 'DC4'}; CREATE ROLE Rana WITH PASSWORD = 'pass_r' AND LOGIN = true AND ACCESS TO ALL DATACENTERS;
-
Si queremos crear un rol condicionalmente, podemos usar la siguiente consulta CQL.
CREATE ROLE IF NOT EXISTS role_name;
-
- ALTER ROLE:
si queremos cambiar el rol existente que ya se creó después de eso, podemos modificar el rol con la instrucción ALTER ROLE.
Syntax : alter_role_statement ::= ALTER ROLE role_name WITH role_options
-
Por ejemplo:
antes de alterar el rol
CREATE ROLE Rana WITH PASSWORD = 'pass_r' AND LOGIN = true AND SUPERUSER = true;
- Después de alterar el rol
ALTER ROLE Rana WITH PASSWORD = 'pass_r' AND SUPERUSER = false;
- DROP ROLE:
si un usuario desea eliminar el rol existente, podemos usar la siguiente consulta CQL para eliminar el rol.
sintaxis:
drop_role_statement ::= DROP ROLE [ IF EXISTS ] role_name
-
Por ejemplo:
DROP ROLE Ashish;
- GRANT ROLE:
Se utiliza para otorgar el ROLE para otros usos.
sintaxis:
grant_role_statement ::= GRANT role_name TO role_name
-
Por ejemplo:
GRANT user1 TO Ashish;
- Esta declaración otorga el rol de usuario1 a Ashish. Ashish también adquiere todos los permisos otorgados a user1.
- REVOKE ROLE:
si un usuario desea revocar el rol de la base de datos, podemos usar la instrucción REVOKE ROLE.
sintaxis:
revoke_role_statement ::= REVOKE role_name FROM role_name
- Por ejemplo:
REVOKE user1 FROM Ashish;
-
La declaración de consulta de CQL anterior revoca el rol de usuario 1 de Ashish. Cualquier permiso que Ashish haya adquirido a través del rol de usuario1 también se revoca.
- LIST ROLE:
si un usuario desea enumerar todos los roles, podemos usar la siguiente consulta CQL para enumerar todos los roles.
sintaxis:
list_roles_statement ::= LIST ROLES [ OF role_name ] [ NORECURSIVE ]
- Por ejemplo:
LIST ROLES;
- Esta instrucción de consulta CQL devuelve todos los roles conocidos en el sistema que requieren el permiso DESCRIBE en el recurso de roles de la base de datos.
Publicación traducida automáticamente
Artículo escrito por Ashish_rana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA