A lo largo de los años, me han inculcado el uso del acceso de "mínimo privilegio" siempre y cuando sea posible. Esto se aplica especialmente a los administradores, que gestionan importantes componentes de la infraestructura de TI, como las bases de datos NoSQL, y tienen la libertad de utilizar...
todos los privilegios que ofrece el sistema.
Si has utilizado Couchbase durante el tiempo suficiente, la situación era -
- El administrador completo tenía permiso total para hacer cualquier cosa a través de los recursos del cluster - buckets, vistas, XDCR.
- Sólo había 2 funciones de administrador (del tipo "todo o nada"): administrador completo y administrador de sólo lectura.
Esto significaba que si necesitabas a alguien sólo para configurar XDCR, o tal vez para cambiar la configuración de un simple cubo, esencialmente necesitabas darle credenciales de administrador completo. Ese era el problema principal.
La versión 4.5 ha sido muy interesante desde el punto de vista de la seguridad gracias a la introducción del control de acceso basado en roles (RBAC) para administradores, una forma sencilla de definir y aplicar qué administrador tiene acceso a qué recursos. Con RBAC
para los administradores, ahora puede segregar las funciones de los distintos administradores por motivos de cumplimiento y para satisfacer las normativas de seguridad internas de la organización.
Entonces, ¿qué requisitos aborda realmente RBAC?
RBAC es importante le ayuda a responder a las siguientes preguntas para su base de datos NoSQL:
- ¿Puedo separar las funciones de mis administradores de couchbase?
- ¿Qué administradores tienen acceso a qué recurso?
- ¿Cómo centralizo la autenticación de los administradores en mi entorno?
Entonces, ¿cómo cumple RBAC los requisitos?
La forma más fácil de entender RBAC es a través de un ejemplo.
Digamos que tienes un equipo de 3-4 administradores responsables de Couchbase - Adam, Mary, Don y Kirk. Con suerte, no querrás que todos ellos tengan privilegios de administrador completos, de lo contrario esta característica no te será útil. Además, en una prueba de desarrollo
es posible que desee permitir a los administradores el control total sobre el clúster para que puedan explorar la configuración de Couchbase libremente sin ser restringido y ajustar la configuración del clúster para prepararse para la producción.
A medida que se acerque el despliegue de producción, tendrá que empezar a pensar en el bloqueo de su clúster (es decir, pensar en cómo puede segregar sus funciones de administrador y averiguar qué administradores necesitarán acceso a qué recursos). En la mayoría de los casos
despliegues empresariales, centralizar la autenticación de usuarios a través de LDAP es bastante común en producción.
El primer paso para configurar RBAC es crear sus usuarios administrativos en LDAP. Si ya tiene LDAP configurado en su empresa, primero debe configurar Couchbase para usar LDAP.
En este ejemplo se necesitan 4 usuarios: Adam, Mary, Don, Kirk y una cuenta de usuario para ti.
Usuario |
Título |
Descripción del puesto |
Antes del 4,5 |
En 4.5 |
Usted mismo |
Jefe de equipo de administración de Couchbase |
Control total del clúster |
Administración completa |
? |
Adam |
Administrador Sr. de Couchbase |
Control total del clúster sin privilegios para controlar la configuración de seguridad |
Administración completa |
? |
Mary |
Administrador del equipo de aplicaciones |
Los equipos de aplicaciones llaman a Mary cuando hay que editar la configuración de un bucket de aplicación |
Administración completa |
? |
Don |
Consultor de HA |
Persona clave para el establecimiento de XDCR entre clusters |
Administración completa |
?
|
Kirk |
Consultor del equipo de aplicaciones |
Persona clave para definir y desplegar vistas para una aplicación |
Administración completa |
? |
Asignación de permisos a los administradores mediante la pertenencia a una función
A continuación, tendrás que averiguar qué nivel de permiso dar a tus administradores en función de sus funciones. Couchbase proporciona seis conjuntos distintos de permisos agrupados por roles. Esto hace que sea más fácil para ti asignar y entender el acceso de administrador
sin tener que establecer permisos individuales para todas y cada una de las acciones posibles.
Estos seis conjuntos de permisos son:
Administración completa: Puede hacer cualquier cosa posible a los recursos de Couchbase. Este es el administrador completo con el que ya estás familiarizado. Este es el nivel más alto de acceso que un usuario administrador puede tener. Entonces, ¿qué puede ver un full-admin en la UI? Bastante
todo, incluida la configuración de seguridad (en la nueva pestaña de seguridad añadida en 4.5)
Administrador del clúster: Similar a Full Admin, pero con algunas restricciones sobre el control de seguridad. Esta opción es la más adecuada cuando se desea que un grupo de administradores gestione el clúster pero no se les puede otorgar ningún privilegio de seguridad, como la capacidad de realizar auditorías.
activar/desactivar, cambiar la pertenencia al rol de administrador.
¿Qué puede ver un administrador de clúster en la interfaz de usuario? Todo menos la pestaña de seguridad.
Cubo Admin: Esto es lo más adecuado cuando se desea un grupo de administradores que respondan a las solicitudes de los equipos de aplicación para modificar la configuración de los buckets: restablecer la contraseña de un bucket, cambiar las cuotas de memoria del bucket, etc. ¿Qué puede ver un administrador de bucket?
en la interfaz de usuario, en la pestaña de cubos de datos? Sólo los buckets que está administrando.
Para el resto de pestañas (como nodos de servidor), es de sólo lectura para los administradores de bucket
Ver Admin: Digamos que tienes un administrador trabajando con el equipo de aplicaciones para configurar y desplegar las vistas de la aplicación. Para ello, tenemos el rol de administrador de vistas.
Replicación Admin: Esto es para los administradores responsables de tu estrategia XDCR. Estos son los administradores que configuran XDCR referencias de clúster entre clústeres,
iniciar/detener réplicas.
Y por último, Sólo lectura Admin: Mira, pero no toques. Puede ver e inspeccionar recursos, pero nada más. Este no es un rol nuevo en 4.5 pero es algo que puedes usar para tu
Recuerde que estas funciones se solapan, y el siguiente diagrama resume la jerarquía de funciones -
Puesta en común
Así que, ahora que ya conoces los roles, se trata de conseguir que Adam, Mary, Don y Kirk sean miembros de los roles correspondientes.
Usuario |
Título |
Descripción del puesto |
Antes del 4,5 |
En 4.5 |
Usted mismo |
Jefe de equipo de administración de Couchbase |
Control total del clúster |
Administración completa |
Administración completa |
Adam |
Administrador Sr. de Couchbase |
Control total del clúster sin privilegios para controlar la configuración de seguridad |
Administración completa |
Administración del clúster |
Mary |
Administrador del equipo de aplicaciones |
Los equipos de aplicaciones llaman a Mary cuando hay que editar la configuración de un bucket de aplicación |
Administración completa |
Cubo Admin |
Don |
Consultor de HA |
Persona clave para el establecimiento de XDCR entre clusters |
Administración completa |
Administración de la replicación |
Kirk |
Consultor del equipo de aplicaciones |
Persona clave para definir y desplegar vistas para una aplicación |
Administración completa |
Ver Administración |
En Couchbase 4.5, esto se puede configurar a través de la interfaz de usuario, REST y CLI
En resumen
RBAC es importante le ayuda a responder a las siguientes preguntas para su base de datos NoSQL:
- ¿Puedo separar las funciones de mis administradores de couchbase? Sí, ahora con RBAC para administradores en 4.5 se puede.
- ¿Qué administradores tienen acceso a qué recurso? Es fácil y sencillo - depende del papel
- ¿Cómo centralizo la autenticación de los administradores en mi entorno? LDAP necesita ser utilizado con RBAC y comúnmente es una forma de centralizar la autenticación para los administradores.
Esperamos que haya encontrado útil esta visión general del Control de Acceso Basado en Roles. Estamos muy entusiasmados con RBAC y esperamos construir más características de nivel empresarial para Couchbase Server en el futuro. Buena suerte usando RBAC para administradores en tu Couchbase Server.
¡4,5 despliegues!
Esperamos sus comentarios.