Define cómo auditar un modelo RBAC para permisos efectivos, alcance de inquilino, desviaciones, rutas denegadas y cambios privilegiados sin tratar las etiquetas de roles como prueba de aplicación.
Estado del paquete: contexto de referencia listo para revisión humana. El contrato y los escenarios de prueba están completos, pero no se afirma que una implementación adoptante los haya superado.
Decisión
Auditar la política realmente evaluada en los puntos de aplicación. Construir un grafo de permisos efectivos a partir de concesiones de roles versionadas, alcance de recursos, condiciones y asignaciones; compararlo con una línea base de política aprobada y ejercitar casos de denegación.
Alcance
- Registros de rol, permiso, asignación, alcance, versión de política, registro de decisiones y evidencia de auditoría.
- Detección automática de desviaciones más verificación representativa de permisos permitidos y denegados.
- Revisión de cambios privilegiados en la política y visibilidad de emergencia (break-glass).
Fuera de este bloque
- Elegir entre RBAC, ABAC o autorización basada en relaciones para un sistema nuevo.
- Usar registros de auditoría como mecanismo de aplicación.
Contrato
- Cada decisión de autorización resuelve sujeto, acción, recurso, alcance de inquilino u organización y versión de política.
- Denegar es el valor predeterminado cuando ninguna concesión coincide o los datos de política no están disponibles.
- Las auditorías expanden roles heredados y condiciones a permisos efectivos antes de la comparación.
- La suite incluye casos de denegación entre inquilinos, roles eliminados, sesiones obsoletas y referencia directa a objetos.
- Los cambios en la política registran actor, cambio aprobado, resúmenes antes/después y versión de despliegue.
- La evidencia de auditoría evita contenido sensible de recursos y está protegida contra alteraciones por administradores ordinarios.
Guía de implementación
- Generar una instantánea de política desde la misma fuente consumida por la aplicación en producción.
- Reproducir decisiones muestreadas contra la versión de política desplegada, usando identificadores seudónimos de sujeto y recurso.
- Separar el acceso de lectura del registro de auditoría del acceso a la mutación de política.
- Requerir revisión de dos personas o flujo de trabajo protegido equivalente para la expansión de roles privilegiados.
Manejo de fallos y salvaguardas
- Si el resumen de la política desplegada difiere de la instantánea aprobada, fallar la auditoría y mostrar las concesiones exactas cambiadas.
- Si el registro de decisiones no está disponible, fallar cerrado para la evidencia requerida en lugar de asumir que las decisiones fueron correctas.
- El uso de break-glass crea un evento de alta severidad y una asignación con límite de expiración.
Verificación y operaciones
- Rastrear hallazgos de permisos no autorizados, denegaciones inesperadas, duración de desviaciones de política, roles huérfanos, antigüedad de asignaciones privilegiadas y uso de break-glass.
- Ejecutar comparación de línea base en cada despliegue de política y pruebas completas de rutas de denegación según programación.
- Revisar registros para contexto adecuado y exceso de datos personales o sensibles.
Los ejemplos con apariencia ejecutable en este paquete son fixtures y contratos de aceptación. Ejecute
python tools/validate.py desde la raíz de la colección para verificar la estructura y metadatos del paquete; luego
implemente y ejecute los escenarios en el repositorio objetivo.
Supuestos de adopción
- Los nombres y valores numéricos en
example.yamlson un perfil de adopción, no valores predeterminados universales. - El equipo adoptante debe mapear actores, clases de datos, vocabulario de errores y propiedad a su sistema.