ES | EN
Table of Contents |
---|
...
Table of Contents |
---|
Intro
Entendiendo la plataforma como la herramienta centralizadora de toda la información, es crítico garantizar la privacidad y seguridad de los datos almacenados y/o gestionados en ella.
En un entorno compartido de recursos, se debe garantizar el envío y la recepción segura de datos mediante la autenticación de los elementos que generan los datos de los que se nutre la plataforma y de las aplicaciones que leerán de ella.
Los usuarios de la plataforma serán personas o aplicaciones, por lo que es necesario clasificar el tipo de acceso en función del rol que cada uno desempeña dentro del sistema, limitando la información que se mostrará a cada uno de los usuarios, los informes y cuadros de mando que pueden ver y las acciones que pueden realizar dentro de la plataforma.
La seguridad es una pieza clave dentro parte fundamental de la plataforma. La plataforma cumple completamente plenamente con la normativa vigente en materia de seguridad y protección de datos, así como con el Esquema Nacional de Seguridad.
La plataforma es capaz de puede proporcionar mecanismos de autenticación, autorización (por roles) y encriptación cifrado (información cifradaencriptada), tanto en la transferencia de información desde los sistemas y dispositivos a la plataforma, como en el consumo de la información almacenada. Se Esto garantiza así la confidencialidad y la e integridad de la información almacenada.
Funcionalidades
La seguridad y la privacidad de la plataforma se garantiza están garantizadas a diversos varios niveles:
Comunicación segura y confidencial: La plataforma puede configurarse para que sólo soporte comunicación SSL. La Plataforma se configurará para soportar la comunicación con certificados a nivel de identificación y autenticación y actuar, estos certificados podrán ser emitidos por cualquier entidad certificadora autorizada.
Autenticación y autorización Perfiles de acceso: el acceso a la plataforma admite la diferenciación de roles. Así, se puede gestionar fácilmente qué usuarios tienen acceso a qué información.
Autenticación de los clientes de la Plataforma: cualquier cliente de la plataforma, sea un sistema o un dispositivo debe autenticarse contra esta. En función del protocolo y el módulo usado esta autenticación se realiza de diversa forma, así, por ejemplo:
Cuando se utiliza comunicación HTTPS, por ejemplo, vía las APIS REST de plataforma, la plataforma ofrece un Identity Manager que actúa como OAuth2Server que debe invocarse para que nos genere el token OAuth2
...
Para simplificar la integración se ofrecen librerías clientes que hacen transparente esta comunicación.
El Digital Broker dentro de su protocolo de comunicación gestiona los tokens de conexión de sus clientes (Digital Clients) desde el propio Control Panel.
...
...
: soporta varios protocolos.
Privacidad de los datos: permite configurar niveles de privacidad en la información. Por defecto, la información (ontologías) puede ser pública o privada, es decir, visible para todo el mundo o solo sólo para el “propietario” "propietario" de dicha esa ontología. La plataforma además también permite al que el propietario de cada ontología proporcionar proporcione a ciertos determinados usuarios permisos de lectura, de escritura o ambos sobre sus ontologías, o si lo prefiere, incluso puede decidir hacer públicas sus ontologías públicas para así hacerlas que sean visibles para todos los usuarios de la plataforma, fomentando así la colaboración.
Asignación de permisos de una ontología a otros roles y usuarios:
...
Encriptado de atributos de una ontología: la plataforma permite encriptar atributos de una ontología de forma transparente al repositorio donde se almacena gestionando la plataforma su encriptado y desencriptado:
...
Perfiles de acceso. se soporta la diferenciación por roles en el acceso a la plataforma. De esta manera, es fácilmente gestionable qué usuarios tienen acceso a qué información.
En el Control Panel se manejan un conjunto de roles predefinidos:
ADMINISTRATOR: Este rol tiene acceso de administración al Control Panel de la Plataforma, desde ahí puede gestionar todos los conceptos de una instancia de la plataforma creados por el resto de usuarios, incluyendo gestión de usuarios, ontologías, permisos, ...
DEVELOPER: Este rol puede usar todas las capacidades DaM e IoT de la plataforma sin restricciones, puede crear ontologías, APIS, reglas, ... Es el usuario tipo de la plataforma, y el que se crea por defecto. Tiene limitada su acceso a las capacidades IA de la plataforma, para controlar el consumo de recursos de la instalación.
ANALYTICS: este rol amplía las capacidades del rol Developer, permitiendo el acceso a las herramientas analíticas e IA, por tanto, tiene acceso al DataFlow, a los Notebooks, a los Modelos, ...
USER: Este rol tiene acceso en modo consulta a la plataforma, es decir, puede consumir información de la plataforma generada por otros, pero no subir información, puede por tanto consumir dashboards, APIs, consultar ontologías, ...
A través del concepto de Realm de Plataforma se pueden crear nuevos roles de aplicación a un proyecto/vertical, que la plataforma gestiona a través de su Identity Manager:
...
Con esta funcionalidad se pueden mapear usuarios a roles:
...
Extensibilidad: para escenarios que requerían configuraciones de seguridad particulares, y como característica adicional, la plataforma permite el desarrollo de plugins para adaptar la seguridad de la plataforma. Así por ejemplo la plataforma permite:
Integrar con un LDAP existente para el mapeo de los usuarios y grupos de este con los usuarios de Plataforma:
...
Integración con otras piezas, como Apereo CAS, generación de tokens JWT específicos, …
Soporte normativa GDPR: garantizando la seguridad de los datos sensibles del usuario contemplando Derecho de acceso, Derecho de borrado, Registros de actividades de procesamiento.
...
Auditoría: La plataforma dispone de un sistema de auditoría que permite que cada operación que ocurre en la plataforma sea auditada. Entre estas operaciones se incluye inicios de sesión y cierres de sesión en el Panel de control, comunicaciones entre dispositivos y sistemas, …
...
Comunicación segura y confidencial: la plataforma puede configurarse para soportar únicamente la comunicación SSL. La plataforma se configurará para soportar la comunicación con certificados a nivel de identificación y autenticación, y actuar. Estos certificados pueden ser emitidos por cualquier entidad certificadora autorizada.
Extensibilidad: para escenarios que requieran configuraciones específicas de seguridad, y como característica adicional, la plataforma permite el desarrollo de plugins para adaptar la seguridad de la plataforma (por ejemplo, para SSO).
Identity Manager
Todos los elementos de la plataforma están asegurados por un Gestor de Identidades que, por defecto, proporciona el modelo de seguridad nativo de la plataforma basado en OAuth2, pero es extensible mediante plugins para conectarse a los servicios de directorio o autenticación existentes que demande la organización.
Ofrecemos 2 sabores de este Gestor de Identidades:
Base: desarrollo a medida sobre Spring Cloud Security: Base IM
Avanzado: construido sobre Keycloak. Más información sobre: Advanced IM
Roles
La plataforma admite diferentes roles en función del uso que cada usuario hará de ella y de su información.
Los roles contemplados son:
Administrador: Corresponde a un administrador de la plataforma.
Analista: Perfil de científico de datos, que habilita herramientas específicas.
Visor de datos: Perfil de consulta de datos y visualización de cuadros de mando.
Desarrollador: Desarrollador de proyectos en la plataforma.
DevOps y Operaciones: Perfiles de soporte para el desarrollo y las operaciones del proyecto en la plataforma.
Socio: Socio de la plataforma, es el propietario de un producto de comercialización conjunta.
SysAdmin: Administrador del sistema. Puede realizar determinados cambios de configuración.
Usuario: Usuario sin privilegios, básicamente puede comprobar los elementos a los que otros usuarios le han autorizado.
Proyectos y Realms
La plataforma como elemento de soporte para el desarrollo de aplicaciones, proporciona los conceptos de Proyecto y Realm.
Un Proyecto proporciona a un grupo de usuarios implicados en un mismo proyecto de desarrollo un entorno colaborativo en la plataforma donde comparten los diferentes elementos asociados al proyecto (entidades de datos, modelos de dispositivos, Dashboards...). Asociados al proyecto, pueden crear lo que se denomina Realm. Un Realm proporciona una infraestructura de autenticación y perfilado al proyecto, que incluye
Definición de los roles específicos del proyecto (independientes de los de la plataforma).
Importación de los usuarios que pueden utilizar el proyecto (desde la plataforma o el directorio corporativo).
Asociación de usuarios a los roles del proyecto.
Servicio de login OAuth para integrarse con el login de la aplicación.
De esta forma, los proyectos desarrollados en la plataforma se liberan de la integración con los servicios de autenticación de la organización.
Encriptación de los atributos de las ontologías
La Plataforma permite encriptar los datos almacenados en los atributos de las ontologías.
Para usar estoutilizarlo:
En la ontología se tiene hay que marcar como que contiene atributos encriptablesencriptados, a través del WizardAsistente.
Cada atributo que se quiera encriptar, se tiene que marcar a encriptar debe ser marcado como tal en el Wizard asistente de creación de la ontologíaontologías.
Cuando llega un dato de una ontología encriptable encriptada llega al broker, este éste se encarga de encriptar los atributos marcados como taltales.
La Plataforma ofrece una implementación base de Encryptor en plataformaon Platform, que es la pieza encargada parte responsable de las acciones de encriptarencriptación/desencriptardesencriptación, que utiliza lo siguiente:
Cifrado Encriptación AES de 128 bits, más concretamente concretamente AES / CBC / PKCS5PADDING
La clave de cifrado (KEY) y el vector de inicialización (IV) se cargan de desde un fichero archivo de configuración interno de la plataforma, y se usan utilizan los mismos valores para todas las ontologías
La pieza Encryptor, parte del encriptador puede ser sustituida con por el mecanismo de plugin plugins que ofrece la plataforma (1Ver ¿Cómo crear Plugins para Módulos de Plataforma?), pudiendo desarrollar una pieza parte que se conecte con a un HSM como Key Vault para obtener las claves de cifrado e IV de forma externa y segura.(1) ¿Cómo crear Plugins para Módulos de Plataforma?