Ejemplo de escenario funcional en la plataforma X-Road
En este ejemplo se mostrará un escenario funcional, en él podemos observar un servidor de seguridad: cpd.gob.cr (owner), y otro miembro: seguridad.gob.cr, los cuales tienen sus respectivos enpoints para consultar o proveer información.
Al abrir el subsistema data-provider podemos observar, en el apartado Service Clients, con quienes se puede compartir la información.
Pantalla que muestra los Services clients de un escenario funcional
Los servicios definidos son un REST API llamado datostest.gob.cr, este servicio se puede habilitar o deshabilitar.
Pantalla que muestra el REST API definido para el Service datostest.gob.cr.
El Service que se muestra se llama estudiantes y tiene los siguientes parámetros:
Servicio URL (http://datostest.gob.cr:9443), corresponde a un URL al que se envían las solicitudes dirigidas al servicio.
Timeout: 60 (seg): Tiempo de espera, que es la duración máxima de una solicitud a la base de datos, en segundos.
Verificación TLS (deshabilitada): alterna la verificación del certificado cuando se establece una conexión TLS.
Pantalla que muestra los parámetros definidos para el Service estudiantes
En esta misma ventana se detalla quienes tienen derechos de acceso identificados por Member name / Group description, ID / Group Code, Type, y desde cuando se le dio el acceso; desde esta ventana es posible remover los derechos de acceso.
Algunos endpoints se puede definir con más de una comunicación, un REST API con diferentes puntos de llamada como se muestra en la siguiente pantalla.
Pantalla que muestra los derechos de acceso definidos para el Service estudiantes
Los REST API definidos se pueden actualizar (modificarlos) o borrarlos inclusive.
Pantalla que muestra la posibilidad de manipular la configuración de los REST API definidos
En Internal Servers se definió el tipo de conexión, el certificado TLS y el certificado del servidor de seguridad.
Pantalla que muestra para data-provider los parámetros definidos de Internal Servers
No se tienen local groups definidos para esta conexión.
Pantalla que muestra los Service Parameters del Service estudiantes
En este caso este servicio aprovisiona un JSON con información hecha a mano, pero esto puede estar conectado a un CSV, a una BD, a un API externo que provea información.
Para poder obtener la información, se creó un cliente que consume información de X-Road y la presenta a través de código fuente desde donde se realizó un llamado a un cliente TLS; se brinda el URL que nos daría el acceso donde los parámetros suministrados van en función de Clase, código, subsistema y el endpoint (http://cdp.gob.cr/r1/xroad-micitt/GOB/gob0001/dataprovider/estudiantes).
Pantalla que muestra los parámetros de la conexión establecida a través de un JSON
El tratamiento de los datos no es parte del alcance de esta guía , pero si consideramos importante presentar un ejemplo de cómo se pueden mostrar los datos.
Pantalla que muestra un ejemplo de presentación de los datos obtenidos
En el service Estudiantes, puedo remover los derechos de acceso definidos sobre GESTION:ges0001:consulta-datos.
Pantalla que muestra la posibilidad de remover los derechos de acceso
Revocados los permisos de acceso, ya no se puede consultar la información, la alerta cambia, e indica que el acceso está denegado.
Pantalla que muestra el error definido cuando los parámetros de conexión no son los correctos
Al igual que si para la API definida no se dan los parámetros correctos en cuanto a miembro y subsistema la consulta no arrojará la información solicitada.
Para volver a dar los derechos de acceso debe ir nuevamente al servidor central, Clients 🡪 Data provider 🡪 Services client y acá se puede observar quienes pueden tener acceso.
Dar clic en ADD subject, acá se enumera quienes pueden acceder a la información. Ubicar el servidor de seguridad, con el código de consulta de datos y seleccionarlo.
Pantalla que muestra los subject definidos con permisos de acceso
Dar clic en Next, en el siguiente paso se selecciona el endpoint disponible 🡪 Add select y ya el cliente vuelve a tener acceso a la consulta de datos.