Estado |
|
---|
| |||||||||||||||||
Partes interesadas | AREA GOBIERNO TECNOLOGICO | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TAGS |
| ||||||||||||||||
Tomada el |
| |||||||||
Documentación Asociada |
| ||||||||
---|---|---|---|---|---|---|---|---|---|
Solución Afectada | TODAS | ||||||||
|
Asunto a Decidir | Describe brevemente la decisión arquitectónica tomada. Se requiere decidir el mecanismo de autenticación y/o autorización para la comunicación entre sistemas terceros del SAS y AUDITA teniendo en cuenta los requisitos minimos de seguridad exigibles en el SAS a un sistema de registro de actividad con validez legal. |
---|
Identificación de la decisión | Describe brevemente la decisión arquitectónica tomada. Consideramos que la alternativa 3 es la que presenta un mejor balance coste beneficio, y que nos mantiene un modelo claro y sencillo, con capacidades de administración de los clientes autorizados a verter auditoria, manteniéndose además dentro de los estándares, y con un impacto en costes muy reducido tanto evidentes en MVP como ocultos cuando se inicie el proceso de integración en las aplicaciones terceras. Keycloak ya proporciona una solución para el problema planteado esta solución se apoya en un estándar como OAuth2.0. Al usar la misma herramienta y los mismos recursos que para el resto de autentificaciones evitamos introducir un sistema adicional, duplicidades, el aumento de la complejidad y solapamientos con los sobrecostes que conlleva. mantenemos el sistema simple Al seguir la estrategia con Keycloack no es necesario tener diferentes estrategias de seguridad. por ejemplo un servicio invocado por un usuario y por una máquina no necesita una autentificación OAUTH y apy-key, le basta con OAUTH. Keycloak es altamente configurable y adaptable permitiéndonos adaptar la seguridad al nivel exacto que se requiera para cada cliente; es mas completo y flexible. Una vez establecida la configuración deseada se puede generar un JSON con dicha configuración e importarlo para los nuevos clientes, convirtiendo la creación de nuevos clientes en algo trivial. Al mantenernos en la opción de keycloak obtenemos una solución cercana a API-KEY en sencillez, con facilidad para operarlo e integrarlo en DEVOPS. |
---|
Contexto | Describe brevemente la decisión arquitectónica tomada. Durante el desarrollo de AUDITA, se evaluó el uso de Keycloak como mecanismo de autenticación y autorización. Sin embargo DESARROLLO SOFTWARE ECONOMICO-FINANCIERO (NTTDATA) concluye que Keycloak está más enfocado a la autenticación y autorización de personas a sistemas, no de sistemas a sistemas. El MVP de AUDITA contempla la posibilidad de comunicación entre sistemas, pero no la conexión entre personas y sistemasCon la proliferación de la arquitectura de referencia y los desarrollos basados en microservicios unida a la estrategia de autenticación y autorización centralizada (SSO) de la organización. Por lo tanto, se solicita una propuesta de mecanismo de autenticación y autorización que sea adecuado para asegurar la comunicación entre sistemas. |
---|
...
UI Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Por parte de DESARROLLO SOFTWARE ECONOMICO-FINANCIERO (NTTDATA) se propone Se analiza el uso de API Keys y de Client Secret como mecanismo de autenticación y autorización para la comunicación entre sistemas terceros del SAS con AUDITA. Esta propuesta se divide en dos tres alternativas: Alternativa 1: Api key para todos los sistemas igual. Guardar el valor en k8s y obtenerlo desde una variable de entorno. Es sólo autenticación, no incluye autorización (es decir, cualquier sistema puede logar cualquier evento) Alternativa 2: Incluir una autorización por cada sistema productor. En este caso habría que disponer de una persistencia que almacenara API-KEY, sistema y eventos autorizados a logar. Esta alternativa es más elegante aunque más costosa, y permite un grano más fino de autenticación y autorización. Alternativa 3: Como alternativa adicional a las alternativas planteadas por DESARROLLO SOFTWARE ECONOMICO-FINANCIERO (NTTDATA) planteamos Otra alternativa al Ali-key es el uso de Keycloak con Client Id y secret. Este mecanismo permite la autentificación y autorización entre máquinas.
|
...
UI Expand | |||||
---|---|---|---|---|---|
| |||||
Describe brevemente la decisión arquitectónica tomada.
|