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 -

  1. El administrador completo tenía permiso total para hacer cualquier cosa a través de los recursos del cluster - buckets, vistas, XDCR.
  2. 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:

  1. ¿Puedo separar las funciones de mis administradores de couchbase?
  2. ¿Qué administradores tienen acceso a qué recurso?
  3. ¿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)

Screen Shot 2016-05-11 at 11.50.07 AM.png

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.

Screen Shot 2016-05-11 at 11.47.42 AM.png

¿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.

Screen Shot 2016-05-11 at 12.01.07 PM.png

Para el resto de pestañas (como nodos de servidor), es de sólo lectura para los administradores de bucket

Screen Shot 2016-05-11 at 12.12.09 PM.png

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.

Screen Shot 2016-05-11 at 1.50.03 PM.png

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

Screen Shot 2016-05-11 at 6.16.20 PM.png

En resumen

RBAC es importante le ayuda a responder a las siguientes preguntas para su base de datos NoSQL:

  1. ¿Puedo separar las funciones de mis administradores de couchbase? Sí, ahora con RBAC para administradores en 4.5 se puede.
  2. ¿Qué administradores tienen acceso a qué recurso? Es fácil y sencillo - depende del papel
  3. ¿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.

Autor

Publicado por Don Pinto, Director Principal de Producto, Couchbase

Don Pinto es Gerente Principal de Producto en Couchbase y actualmente está enfocado en avanzar las capacidades de Couchbase Server. Es un apasionado de la tecnología de datos, y en el pasado ha escrito varios artículos sobre Couchbase Server, incluyendo blogs técnicos y libros blancos. Antes de unirse a Couchbase, Don pasó varios años en IBM, donde desempeñó el papel de desarrollador de software en el grupo de gestión de la información DB2 y, más recientemente, como director de programa en el equipo de SQL Server en Microsoft. Don tiene un máster en informática y una licenciatura en ingeniería informática por la Universidad de Toronto, Canadá.

Dejar una respuesta