autenticacion
ABAC
- Control de acceso basado en atributos (Attribute-Based Access Control)
- autenticacion
- ciberseguridad
-
[¿Qué es el control de acceso basado en rol de Azure (RBAC)? Microsoft Learn](https://learn.microsoft.com/es-es/azure/role-based-access-control/overview)
Conceptos Clave
- Atributos de usuario: Características del usuario, como departamento, nivel jerárquico, ubicación, etc.
- Atributos de recurso: Propiedades del recurso a proteger, como tipo de archivo, confidencialidad, propietario.
- Atributos ambientales/contextuales: Factores externos como hora del día, ubicación geográfica, dispositivo utilizado.
- Políticas de acceso: Reglas que combinan atributos para determinar permisos dinámicamente.
- Evaluación en tiempo real: Acceso otorgado o denegado basado en atributos actuales y contexto de la solicitud.
Beneficios
- Mayor flexibilidad y granularidad que RBAC.
- Adaptable a entornos dinámicos y complejos.
- Mejora la seguridad al considerar contexto y condiciones adicionales.
- Facilita cumplimiento de políticas de seguridad avanzadas.
Comparativa ABAC vs RBAC
- RBAC: Basado en roles predefinidos; más simple de administrar pero menos flexible.
- ABAC: Basado en atributos; mayor granularidad y control dinámico, pero más complejo de implementar.
- Posible integración: ABAC puede complementarse con RBAC para crear un modelo híbrido más seguro y eficiente.
Ejemplo de política ABAC en Python
usuarios = {
"alice": {"departamento": "finanzas", "nivel": "senior"},
"bob": {"departamento": "marketing", "nivel": "junior"}
}
recursos = {
"reporte_finanzas": {"tipo": "confidencial", "departamento": "finanzas"},
"blog_publico": {"tipo": "publico", "departamento": "marketing"}
}
def puede_acceder(usuario, recurso):
u = usuarios.get(usuario, {})
r = recursos.get(recurso, {})
return u.get("departamento") == r.get("departamento") and r.get("tipo") != "confidencial"
print(puede_acceder("alice", "reporte_finanzas")) # True
print(puede_acceder("bob", "reporte_finanzas")) # False
`
Buenas Prácticas
- Definir atributos claros y consistentes para usuarios y recursos.
- Mantener políticas de acceso centralizadas y auditables.
- Revisar periódicamente atributos y políticas según cambios organizativos.
- Integrar ABAC con IAM Gestión de Identidades y Acceso para gestión eficiente de identidades y accesos dinámicos.
¿Te gusta este contenido? Suscríbete vía RSS