La versión 7.0 de Couchbase Server introduce algunos cambios importantes como parte del sistema de autorización de control de acceso basado en roles (RBAC). Couchbase Server ha permitido controles de acceso de grano fino a la plataforma con RBAC para administradores desde la versión 4.5 y todos los usuarios desde la versión 5.0. En el entrada anterior, describí cómo los DBA pueden controlar algunos roles para restringir el acceso a un ámbito o nivel de colección. En este post, me gustaría mostraros algunos de los cambios de roles y roles adicionales que se han creado.
He aquí un resumen de los cambios:
-
- Security Admin ha sido sustituido por Local o External User Security Admin
- Dos nuevas funciones Full Admin: Administrador completo de eventos y Administrador completo de copias de seguridad
- Ocho nuevas funciones para las funciones definidas por el usuario de consultas SQL
- Dos funciones operativas adicionales: Gestionar ámbitos y Lector de estadísticas externas
Administración de seguridad
Algunos clientes nos comentaron que RBAC no definía con suficiente precisión la función existente de administrador de seguridad. Decidimos que podíamos mejorar la seguridad permitiendo a los administradores elegir si un Administrador de Seguridad podía gestionar Usuarios Locales, Usuarios Externos o ambos. Con Couchbase Server 7.0, dividimos el rol de Administrador de Seguridad en dos roles distintos: Administrador de Seguridad de Usuarios Locales y Administrador de Seguridad de Usuarios Externos.
Al actualizar un clúster desde una versión anterior en la que un usuario tiene la función Administrador de seguridad, la definición de su función cambiará para heredar las dos nuevas funciones en lugar de la función Administrador de seguridad heredada.
El nuevo Usuario local Seguridad Admin permite a un administrador añadir/eliminar/modificar usuarios definidos y almacenados. localmente en el cluster. Este rol no permite al administrador cambiar la configuración de autenticación externa.
En Usuario externo Seguridad Admin permite a un administrador añadir/eliminar/modificar usuarios definidos y gestionados. externamente al clúster en un sistema como LDAP o Active Directory. Además, este rol permite la modificación de la configuración de autenticación externa.
Un administrador que posea tanto Local User Security Admin como External User Security Admin puede gestionar todos los usuarios no administradores del clúster.
Nuevas funciones de administrador
Hemos creado dos nuevos roles en Couchbase Server 7.0 para facilitar las operaciones en todo el cluster para Eventing y Backups: Eventing Full Admin y Backup Full Admin.
Eventing Full Admin es un potente rol de administrador. Tiene la mayoría de las mismas capacidades que un Full Admin, pero no permite modificar la configuración de seguridad, como añadir o eliminar usuarios o modificar XDCR.
Copia de seguridad Full Admin es también un potente rol de administrador. También tiene la mayoría de las mismas funciones que un administrador completo, pero no permite modificar la configuración de seguridad. Los administradores que deseen realizar copias de seguridad de datos de eventos deberán tener este rol o el rol de administrador completo.
Nuevas funciones SQL++ Query definidas por el usuario
Se han añadido ocho nuevos roles a Couchbase Server 7.0 para gestionar o ejecutar el nuevo SQL++ Funciones definidas por el usuario (N1QL UDFs). Se aplican tanto a nivel global como a nivel inline y externo para las funciones:
-
- Gestionar funciones globales
- Ejecutar funciones globales
- Gestionar funciones de alcance
- Ejecutar funciones de alcance
- Gestionar funciones externas globales
- Ejecutar funciones externas globales
- Gestionar el alcance Funciones externas
- Ejecutar funciones externas de alcance
Una función Global se crea dentro de un espacio de nombres al mismo nivel que los buckets dentro del espacio de nombres; mientras que una función de Ámbito se crea dentro de un ámbito, al mismo nivel que las colecciones dentro del ámbito. Al crear una función definida por el usuario, el contexto de consulta actual determina si se crea como función Global o como función de Ámbito. También puede incluir la ruta completa a la función cuando especifique el nombre de la función.
Una función inline utiliza el lenguaje SQL++ para definir las capacidades de la función mientras que una función externa utiliza un lenguaje externo como JavaScript.
He aquí algunos ejemplos:
|
1 2 |
SUBVENCIÓN query_manage_global_functions A usuario1; SUBVENCIÓN query_execute_external_functions EN por defecto:prueba.ámbito1 A usuario1; |
Al proporcionar la granularidad de la gestión o ejecución de las funciones SQL++ y permitir sólo ámbitos y lenguajes de ejecución específicos, permite a los administradores proporcionar sólo la cantidad mínima de privilegios, en lo que se conoce como la principio del menor privilegio (PoLP).
Nuevas funciones operativas
Por último, hemos añadido dos funciones de tipo operativo. El rol Manage Scopes y el rol External Stats Reader.
El rol Gestionar Ámbitos permite a un administrador de Cluster o Bucket delegar la adición/eliminación de Ámbitos y Colecciones a nivel de Bucket o la adición/eliminación de Colecciones a nivel de Ámbito, dependiendo del parámetro dado al asignar el rol a un usuario.
El rol Lector de estadísticas externas permite acceder a los puntos finales de estadísticas que proporcionan datos que se almacenan en el almacenamiento de estadísticas del sistema Prometheus integrado.
Conclusión
En este artículo te he mostrado qué nuevos roles RBAC se han añadido a Couchbase Server 7.0 y para qué se utilizan.
Si la seguridad es importante para ti, te recomiendo que leas algunas entradas de blog adicionales sobre nuestras características RBAC que ayudan a mantener tus datos de Couchbase protegidos.
- Autenticación y autorización con RBAC
- Autenticación y autorización con RBAC (Parte 2)
- Introducción a la seguridad de control de acceso basado en roles (RBAC) para colecciones en Couchbase 7.0
- Pruebe estas últimas funciones con nuestra prueba gratuita de 30 días alojada en la nube en Couchbase Capella
- Más información Lanzamiento de Couchbase 7 y sus novedades
- Más información Ámbitos y colecciones