Functional Story 6: Auto-Asignar Plantilla de Autorización al Crear Perfil
1. Propósito de Negocio
UMS debe reducir administración manual asignando la plantilla correcta cuando un nuevo perfil coincide con reglas de negocio aprobadas.
2. Actores
| Actor |
Responsabilidad |
|
| Administrador de Seguridad |
Configura reglas de asignación. |
|
| Motor de Reglas UMS |
Aplica reglas coincidentes durante la creación del perfil. |
## 3. Precondiciones de Negocio |
- Existe al menos una regla de asignación activa.
- El perfil creado contiene atributos evaluables.
- Existe una plantilla coincidente activa.
4. Flujo Funcional Principal
- El administrador define una regla que vincula atributos de perfil con una plantilla.
- Se crea un nuevo perfil.
- UMS evalúa el perfil contra reglas de asignación activas.
- Si una regla coincide, UMS asigna automáticamente la plantilla correspondiente.
- El perfil queda marcado como asignado automáticamente.
- Los usuarios afectados reciben los permisos resultantes.
5. Flujos Alternativos y Excepciones
A. Ninguna Regla Coincide
Si ninguna regla activa coincide con el perfil, el perfil queda sin asignación automática y puede gestionarse manualmente.
B. Múltiples Reglas Coinciden
Si más de una regla coincide, UMS aplica la regla de mayor prioridad y registra por qué fue seleccionada.
6. Reglas de Negocio
- La asignación automática debe ser explicable.
- La prioridad de reglas debe ser determinística.
- La asignación manual permanece disponible cuando la automatización no coincide.
- Las asignaciones automáticas deben ser auditables.
7. Criterios de Aceptación
- Una regla coincidente asigna una plantilla automáticamente.
- Un perfil sin regla coincidente queda disponible para asignación manual.
- La prioridad resuelve múltiples coincidencias consistentemente.
- La razón de asignación es visible para administradores.
8. Requisitos Técnicos
[!WARNING]
ESTADO DE IMPLEMENTACIÓN: DIFERIDO
En la fase actual, la lógica automatizada de reglas de auto-asignación (TemplateAssignmentRule) está diferida en el dominio principal de C# y se maneja mediante referencias externas o asignaciones directas y manuales en los perfiles.
- Persistir el estado de asignación en la relación perfil/plantilla.
- Invalidar la caché del grafo de autorización para usuarios afectados.
- Emitir eventos de dominio y auditoría para las asignaciones de plantillas.
9. Trazabilidad
- Entidades:
Profile (AR), PermissionTemplate (AR), TemplateAssignmentRule (Diferido)
- ADRs: ADR-0042, ADR-0043, ADR-0035
- Technical Enabler: TE-01