sql >> Base de Datos >  >> NoSQL >> MongoDB

Aplicación de controles de acceso basados ​​en roles con ClusterControl

En el lanzamiento reciente de la versión 1.8.2 de ClusterControl de Variousnines, hemos introducido muchas funciones y cambios sofisticados. Una de las características importantes es el sistema de gestión de usuarios recientemente mejorado, que cubre la gestión de nuevos usuarios y LDAP. Una capacidad existente complementaria en ClusterControl es su Control de acceso basado en roles (RBAC) para la administración de usuarios, que es el tema central de este blog.

Control de acceso basado en roles en ClusterControl

Para aquellos que no están familiarizados con los controles de acceso basados ​​en roles (RBAC) de ClusterControl, es una función que le permite restringir el acceso de ciertos usuarios a funciones específicas del clúster de base de datos y acciones o tareas administrativas. Por ejemplo, acceso a funciones de implementación (agregar balanceadores de carga, agregar un clúster existente), administración y supervisión. Esto garantiza que solo los usuarios autorizados puedan trabajar y ver en función de sus roles respectivos y evita intrusiones no deseadas o errores humanos al limitar el acceso de un rol a las tareas administrativas. El acceso a la funcionalidad es detallado, lo que permite que una organización o usuario defina el acceso. ClusterControl utiliza un marco de permisos para definir cómo un usuario puede interactuar con la funcionalidad de administración y monitoreo en función de su nivel de autorización.

El control de acceso basado en roles en ClusterControl juega un papel importante, especialmente para los usuarios administradores que lo utilizan constantemente como parte de sus tareas de DBA. Un DBA de ClusterControl debe estar familiarizado con esta característica, ya que le permite delegar tareas a los miembros del equipo, controlar el acceso a la funcionalidad de ClusterControl y no exponer todas las características y funcionalidades a todos los usuarios. Esto se puede lograr utilizando la función de administración de usuarios, que le permite controlar quién puede hacer qué. Por ejemplo, puede configurar un equipo como analista, devops o DBA, y agregar restricciones de acuerdo con su alcance de responsabilidades para un clúster de base de datos determinado.

El control de acceso de ClusterControl se muestra en el siguiente diagrama,

Los detalles de los términos utilizados anteriormente se proporcionan a continuación. Un equipo se puede asignar a uno o más de los clústeres de bases de datos administrados por ClusterControl. Un equipo consta de usuarios vacíos o múltiples en un equipo. De forma predeterminada, al crear un nuevo equipo, la cuenta de superadministrador siempre estará asociada a él. La eliminación de superadministrador no impide que se vincule a ese nuevo equipo.

Un Usuario y un Clúster tienen que ser asignados a un Equipo; es una implementación obligatoria dentro de ClusterControl. De forma predeterminada, la cuenta de superadministrador está designada para un equipo de administración, que ya se ha creado de forma predeterminada. Los clústeres de bases de datos también se asignan al equipo de administración de forma predeterminada.

Un rol no puede tener un usuario asignado o puede asignarse a múltiples usuarios de acuerdo con su rol de ClusterControl.

Roles en ClusterControl

Los roles en ClusterControl en realidad están configurados de manera predeterminada. Estos roles predeterminados son los siguientes:

  • Superadministrador:es un rol oculto, pero es el rol de superadministrador (superadministrador), lo que significa todas las características están disponibles para este rol. De forma predeterminada, el usuario que creó después de una instalación exitosa representa su rol de superadministrador. Además, al crear un nuevo equipo, el superadministrador siempre se asigna al nuevo equipo de forma predeterminada.

  • Administrador:de forma predeterminada, se pueden ver casi todas las funciones. Ser visible significa que los usuarios con el rol de administrador pueden realizar tareas de administración. Las funciones que no están disponibles para este rol son el Asesor de clientes y la Administración de claves SSL.

  • Usuario:las integraciones, el acceso a todos los clústeres y algunas funciones no están disponibles para este rol y son denegadas por defecto. Esto es útil si desea asignar usuarios regulares que no están destinados a trabajar con bases de datos o tareas administrativas. Hay algunos pasos manuales que se deben realizar para aquellos en el rol de usuario para ver otros clústeres.

Los roles en ClusterControl son arbitrarios, por lo que los administradores pueden crear roles arbitrarios y asignarlos a un usuario en Teams.

Cómo acceder a las funciones de ClusterControl

Puede crear un rol personalizado con su propio conjunto de niveles de acceso. Asigne el rol a un usuario específico en la pestaña Equipos. Se puede llegar a esto ubicando Administración de usuarios en la barra lateral en la esquina derecha. Vea la captura de pantalla, a continuación:

Imposición de controles de acceso basados ​​en roles con ClusterControl

La aplicación de RBAC es específica del dominio del usuario, lo que restringe el acceso de un usuario a las funciones de ClusterControl de acuerdo con sus funciones y privilegios. Con esto en mente, deberíamos comenzar a crear un usuario específico.

Creación de un usuario en ClusterControl

Para crear un usuario, comience en la pestaña Administración de usuarios ➝ Equipos. Ahora, primero creemos un equipo.

Una vez creada, hay una cuenta de superadministrador que se vincula de forma predeterminada una vez que se crea un equipo.

Ahora, agreguemos un nuevo usuario. La adición de un nuevo usuario debe realizarse en un Equipo, por lo que podemos crearlo en DevOps.

Como habrá notado, el nuevo usuario que creamos ahora tiene el rol Usuario, que se agrega de manera predeterminada dentro de ClusterControl. Entonces el equipo también está bajo DevOps.

Básicamente, ahora hay dos usuarios en el equipo de DevOps, como se muestra a continuación:

Tenga en cuenta que los roles son específicos del dominio del usuario, por lo que aplica restricciones de acceso solo a ese usuario específico y no al equipo al que pertenece.

Roles de administrador frente a usuario (roles predeterminados en ClusterControl)

Dado que tenemos dos funciones agregadas de forma predeterminada en ClusterControl, existen limitaciones que se establecen de forma predeterminada. Para saber cuáles son estos, basta con ir a  Gestión de usuarios ➝ Control de acceso. A continuación se muestra una captura de pantalla que muestra las funciones o los privilegios disponibles que puede realizar un usuario que pertenece al rol:

Función de administrador

Rol de usuario

La función de administrador tiene muchos más privilegios, mientras que la función de usuario tiene algunos privilegios que están restringidos. Estos roles predeterminados se pueden modificar de acuerdo con su configuración deseada. Agregar un rol también le permite comenzar y establecer qué roles están permitidos o no. Por ejemplo, crearemos un nuevo Rol. Para crear un rol, simplemente presione el botón "+" más a lo largo de los roles. Puede ver el nuevo rol que hemos creado llamado Visor.

Todas las marcas están desmarcadas. Simplemente marque en la columna Permitir para habilitar la función o el privilegio o marque en la columna Denegar si desea denegar el acceso. La columna Administrar permite a los usuarios en ese rol realizar tareas de administración. Mientras que la columna Modificar le permite habilitar modificaciones que solo están disponibles para privilegios o funciones en Alarmas, Trabajos y Configuración.

Prueba de RBAC

En este ejemplo, los siguientes grupos están presentes en mi controlador como se muestra a continuación:

Esto es visible para la cuenta de superadministrador en este entorno.

Ahora que hemos configurado RBAC para el usuario que acabamos de crear, intentemos iniciar sesión con el correo electrónico y la contraseña que acabamos de configurar.

Esto es lo que se crea,

No hay clústeres disponibles ni visibles, y se niegan algunos privilegios, como se muestra a continuación, como la configuración de administración de claves y las notificaciones por correo electrónico:

Ajuste de RBAC

Dado que los privilegios en los roles son mutables, es fácil administrarlos a través de Administración de usuarios ➝ Control de acceso.

Ahora, permitamos que el usuario creado vea un clúster. Dado que nuestro usuario tiene acceso denegado a todos los clústeres, debemos habilitarlo. Véase más abajo,

Ahora, como dijimos anteriormente en base al diagrama, los clústeres son controlados por el equipo. Por ejemplo, existen las siguientes asignaciones de clúster, a continuación:

Dado que necesitamos asignar el clúster al equipo correcto, al seleccionar el clúster específico y hacer clic en el botón "Cambiar equipo" se mostrará el mensaje que le permitirá reasignarlo al equipo correcto.

Ahora, asignémoslo a DevOps.

Ahora, vuelva a iniciar sesión como el usuario recién creado y podremos ver el clúster.

Resumen

El control de acceso basado en roles (RBAC) en ClusterControl es una función que proporciona un control de acceso restrictivo detallado para cada usuario que haya creado en ClusterControl, lo que permite una mayor seguridad y un control de acceso más restrictivo basado en un rol del usuario.