Café en Couchbase: Cómo establecer parámetros de canal de forma segura en Sync Gateway

Del anterior Café en Couchbase Sync Gateway, exploramos cómo autenticar a los usuarios y también cómo utilizar los canales en Sync Gateway. Sync Gateway proporciona la capa de orquestación de datos para Couchbase Mobile y anteriormente vimos cómo el enrutamiento de datos puede realizarse mediante validación de los tipos de documentos desde la función de sincronización.

En el siguiente vídeo, nos acompañan de nuevo Chris Anderson que debatiremos juntos sobre Sync Gateway y profundizaremos en cómo asegurar tus aplicaciones móviles con el uso de Channels. Seguiremos utilizando el Stackoverflow y las etiquetas que hemos importado.

El administrador puede especificar cualquier canal que quiera ver desde el puerto de administración, que está protegido por un cortafuegos. El puerto público es donde los usuarios finales se conectan a través de los privilegios que se establecen a partir de la clave "usuarios". Esto se define como:

donde el usuario puede ver el canal 'android'; esto es las preguntas de Stackoverflow que contienen todas las etiquetas android estarán disponibles para el usuario si la etiqueta específica está contenida en la clave 'admin_channels'. Si un usuario en particular accede a un canal para el que no ha sido autorizado, el usuario final verá un conjunto vacío. Esta es la configuración del canal en el lado del servidor donde los usuarios/clientes no necesitan especificar el canal en el que están interesados.

API de administrador

Si queremos que nuestros usuarios tengan diferentes accesos a los canales aparte de los establecidos explícitamente en el lado del servidor, una forma de establecerlo es utilizar el método API de administrador. La API REST de Admin se ejecuta en el puerto 4985 y podemos actualizar el registro de usuario con un JSON como :

y a través de la API REST de Admin, podemos dar acceso al usuario GUEST a un conjunto diferente de canales ejecutando el comando:

El envío de la solicitud anterior a Sync Gateway permitirá al usuario GUEST acceder también al canal 'html'. Hay un punto final de la API que es GET/{db}/_cambios que nos permitiría ver todas las peticiones de cambio de documentos realizadas a la base de datos desde el puerto 4984. Desde la perspectiva de un administrador, esto le permite proporcionar permisos a lo que sus usuarios se les permite ver y por lo tanto controlar el acceso READ a sus datos.

Si ahora proporcionamos los nombres de las etiquetas 'html' y 'android' para los canales en el comando de abajo:

el usuario GUEST tendrá ahora acceso a ambos canales y el conjunto de datos se ampliará en consecuencia con los documentos 'android' y 'html' en el endpoint '_changes'. Esto controla qué canales puede ver un usuario y controla el acceso de LECTURA a la base de datos. El modelo de seguridad de los canales puede controlarse con la API REST de administración y, a través de los requisitos del usuario, usted, como desarrollador, puede incorporar un control detallado de la base de datos.

Pasarela de sincronización

En la serie Coffee on Couchbase Sync Gateway, hemos hablado de Canales y cómo puede proteger o restringir las proporciones de su base de datos a través de varias funciones habilitadas en la función de sincronización. Exploraremos Pasarela de sincronización y profundizaremos en la encriptación de datos en nuestra próxima serie con ForestDB como nuestro nuevo motor de almacenamiento en Couchbase Lite.

No dejes de conectarte con nosotros en nuestro Foros para desarrolladores de móviles para cualquier pregunta o en Stackoverflow.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por William Hoang, Defensor del Desarrollador Móvil, Couchbase

William fue Developer Advocate en el equipo de Mobile Engineering/Developer Experience de Couchbase. Su amor por el café y el código le ha trascendido al mundo de los móviles, al tiempo que aprecia las experiencias presenciales fuera de línea. Anteriormente, William trabajó en el equipo de Relaciones con Desarrolladores en Twitter, BlackBerry y Microsoft, además de haber sido ingeniero de Software Embedded GPS en Research In Motion. William se licenció en Ingeniería Eléctrica de Software por la Universidad McGill.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.