Saltar al contenido principal
En el caso de Midaz, dado que es de código abierto (open source) y se distribuye on-premise (junto con sus plugins), no es necesaria una capa de multi-tenencia incorporada. La mayoría de los clientes ya tienen sus propios mecanismos de autenticación, y nosotros lo respetamos. Aún así, sabemos que implementar controles de seguridad detallados no siempre es sencillo, especialmente cuando se trata de aplicaciones críticas como el libro mayor (ledger). Por eso hemos desarrollado el plugin Access Manager: un componente opcional diseñado para manejar el acceso de usuarios y la gestión de identidad cuando necesitas más control a nivel de aplicación.
  Prueba el plugin Access Manager localmente  Ejecuta los plugins de Lerian sin desplegar en Kubernetes utilizando nuestro repositorio plugins-docker-compose.  Ten en cuenta que estos servicios requieren una licencia válida para ejecutarse. Sin ella, la aplicación no se iniciará. Para obtener detalles de la licencia, consulta nuestra documentación de Licencia.

¿Por qué usar el plugin Access Manager?

Cuando tu estrategia de seguridad requiere un control de acceso nativo y ajustado (fine-tuned) en Midaz y sus plugins, Access Manager es tu opción principal. Te ayuda a gestionar usuarios, credenciales y acceso a aplicaciones pensando en el rendimiento y la flexibilidad.
  Access Manager está disponible como parte del modelo Enterprise. Si deseas obtener más información o evaluarlo para tu caso de uso, ponte en contacto con nuestro equipo.

Componentes

El plugin Access Manager se compone de dos servicios independientes que trabajan juntos:
  • Auth: Actúa como el puente entre tus aplicaciones y tu capa de autenticación/autorización. Maneja:   - Generación de tokens de acceso (OAuth2).   - Refresco de tokens.   - Validación de credenciales.
  • Identity: Proporciona una interfaz clara—a través de la API REST o la Consola—para gestionar usuarios y controles de acceso. Cubre:   - Gestión de Usuarios.   - Credenciales Máquina a Máquina (Machine-to-Machine o M2M).
Todo está construido para el rendimiento, la simplicidad y la extensibilidad.
  Aunque Access Manager está dividido en dos servicios independientes, no funcionan de forma aislada. Cada servicio depende del otro para funcionar correctamente. Asegúrate de que ambos estén activos y en ejecución antes de empezar.

Especificaciones técnicas

  • APIs RESTful e interfaz de Consola disponibles.
  • Midaz y sus plugins incluyen la librería lib-auth, lista para aplicar comprobaciones de autorización.
  • Feature flag disponible a través de la variable de entorno PLUGIN_AUTH_ENABLED para activar/desactivar la validación.
  • Gestión de tokens y flujo de credenciales basados en OAuth2.
  • Listo para la integración con plataformas de autenticación y autorización de terceros.
  • Caching con Valkey para aumentar el rendimiento.
  • Control de acceso basado en roles (RBAC) alineado con la estructura de recursos de Midaz.

Casos de uso

Access Manager es ideal para:
  • Clientes que buscan autenticación y autorización integradas a nivel de aplicación.
  • Organizaciones sin una solución IAM preexistente.
  • Escenarios donde se necesitan integraciones M2M seguras.
  • Equipos que desean un control de acceso unificado en Midaz y todos sus plugins.

Mejores prácticas

Access Manager es potente: maneja la identidad, la autorización y las credenciales en el corazón de tu stack de Midaz. Ese poder conlleva responsabilidad. A continuación, se explica cómo usarlo de forma segura y eficiente.

Credenciales

  1. Crea credenciales en ambos extremos
Si dos plugins necesitan comunicarse entre sí, ambos deben tener las credenciales M2M necesarias creadas. No asumas simetría: define explícitamente en ambos lados.
  1. Asegura el entorno físico
Access Manager almacena las credenciales localmente. Esto significa que cualquiera con acceso al hardware podría potencialmente extraerlas. Asegúrate de que la máquina física o virtual que aloja el plugin esté firmemente asegurada; esta es tu primera línea de defensa.
  1. Evita exponer endpoints que recuperen las credenciales.
Los administradores en Access Manager (a través de Identity) pueden recuperar credenciales, razón por la cual estos endpoints no deben integrarse en ningún sistema de back-office. Mantén las operaciones sensibles aisladas para reducir la posibilidad de exposición accidental.

Recomendaciones de seguridad

  • Utiliza flujos de Aplicación a Aplicación para endpoints sensibles
Para accesos críticos como el Libro Mayor (Ledger), recomendamos interactuar a través de Aplicaciones. Esto garantiza que tengas control total sobre cada credencial. Si algo se filtra, puedes revocar o eliminar la Aplicación sin desactivar todo tu sistema.
  • ¿Acciones manuales? Usa credenciales basadas en usuario
Cuando se requiere acceso humano (para depuración, operaciones o soporte), crea siempre credenciales de usuario utilizando la concesión passwordno client_credentials. Este enfoque te permite gestionar fácilmente el acceso, revocar permisos y activar cierres de sesión forzados cuando sea necesario a través del endpoint apropiado. Recomendamos encarecidamente implementar una política de rotación de credenciales y realizar revisiones de acceso periódicas para minimizar la exposición y garantizar que solo los usuarios autorizados conserven el acceso. Aplica siempre el principio de privilegio mínimo (principle of least privilege), concediendo solo los permisos exactos necesarios — ni más, ni menos — tanto para usuarios como para aplicaciones.
  ¿Buscas fortalecer tu infraestructura? Consulta nuestras Recomendaciones de Seguridad para obtener mejores prácticas y orientación práctica.

Habilitación de Access Manager

Después de instalar el plugin Access Manager, debes habilitarlo para que funcione correctamente. Esto significa actualizar las variables de Auth en los archivos .env de Midaz Ledger, Midaz Console o cualquier plugin donde desees utilizar Access Manager. Tu configuración debería verse así:
# AUTH CONFIGS
PLUGIN_AUTH_ENABLED=true
PLUGIN_AUTH_HOST=http://plugin-auth:4000
Once Access Manager is enabled, all API requests must include an Authorization header with a valid Bearer access token.Without this header, your requests will be rejected, even for public or previously accessible endpoints.Learn how to generate and use access tokens.

Where to update

You’ll find the relevant .env files in these locations:
  • Midaz Ledger and Midaz Console
    • /midaz/components/onboarding
    • /midaz/components/transaction
    • /midaz/components/console
  • Other plugins
    • The .env file should be in the root directory of the plugin.
Can’t see the files? Try adjusting your system settings to show hidden files since.env files are often hidden by default.

Rebuild after changes

After updating the environment, rebuild your Docker images to apply the changes:
1

In your terminal, go to the root of your Midaz project.
2

If Docker is running, stop it:
make down
3

Then rebuild everything:
make rebuild-up
I