En este artículo, discutiremos cómo podemos asegurar un clúster de Cassandra e involucra tareas como autenticación, autorización, etc. Discutamos uno por uno.
- Hay cuatro conceptos para proteger Cassandra Autorización, Autenticación, Cifrado, Firewalls.
-
Autenticación:
en esto, verificaremos cómo permitimos que las aplicaciones y los usuarios inicien sesión en el clúster. - Autorización:
En esta nos ocupamos del otorgamiento de permisos tales que el usuario quiera crear, leer y escribir datos, etc. para acceder a una base de datos oa objetos de la base de datos como tablas y vistas materializadas. - Cifrado:
En esto, nos referimos al uso de Secure Socket Layer (SSL) , que son capas de seguridad para proteger las comunicaciones entre los clientes y las bases de datos de Cassandra, y entre los Nodes de un clúster. - Cortafuegos:
en esto, la gestión del puerto del cortafuegos, de modo que 9042 es un puerto de cliente para el acceso de Cassandra (cliente), implica saber qué puertos debe mantener abiertos.
Ahora, vamos a usar cqlsh con privilegios de administrador. Cassandra viene con un rol incorporado Cassandra y la contraseña también es Cassandra. La consulta cqlsh utilizada para acceder al rol integrado es la siguiente.
cqlsh 127.0.0.1 -u cassandra -p cassandra
Producción:
Ahora, si intentamos crear un nuevo rol, alterar el rol, eliminar el rol, etc., podemos recibir el siguiente error como
InvalidRequest: Error from server: code=2200 [Invalid query]message="org.apache.cassandra.auth.CassandraRoleManager doesn't support PASSWORD.
Configuración de la autenticación:
todas las autorizaciones y autenticaciones se realizan a través de roles de base de datos. Utilice los comandos CREATE ROLE, ALTER ROLE, DROP ROLE, LIST ROLES y LIST_PERMISSIONS en su lugar.
Para resolver el siguiente error, cambie los valores de autenticación predeterminados en el archivo cassandra.yaml.
//default value #authenticator: AllowAllAuthenticator // set the authenticator value authenticator: org.apache.cassandra.auth.PasswordAuthenticator //default value #authorizer: AllowAllAuthorizer //set the authorizer value authorizer: org.apache.cassandra.auth.CassandraAuthorizer
Después de cualquier cambio en el archivo Cassandra.yaml, guarde el archivo y luego reinicie la base de datos y vuelva a iniciar sesión en cqlsh con las credenciales del superusuario predeterminado Cassandra.
cqlsh -u cassandra -p cassandra
Ahora, vamos a crear un nuevo rol, listar rol, soltar rol, etc.
Crear un nuevo rol:
para crear un nuevo rol, utiliza la siguiente consulta CQL.
cassandra@cqlsh> create user 'User' with password 'User';
Podemos ver el resultado de la siguiente consulta usando los comandos de «listar roles».
Producción:
En Cassandra De forma predeterminada, la propiedad LOGIN en la instrucción CREATE ROLE tiene el valor False. Cuando está creando un rol de inicio de sesión, debe establecer esta propiedad en True. podemos ver los roles en una base de datos consultando la tabla system_auth.roles , que se muestra aquí:
//system_auth.roles: Stores roles and role members. select * from system_auth.roles;
Producción:
Permisos de rol:
al usar la consulta cql de permisos de rol, podemos verificar los permisos, como que un rol puede crear, leer, eliminar, etc., operaciones de datos en una base de datos en particular y un rol creado por un superusuario.
cassandra@cqlsh> select * from system_auth.role_permissions;
Producción:
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