Skip to main content

Introducción a XAML

https://bookstack.soffid.com/books/xacml/page/introduction-to-xacml


¿Qué es XACML?

XACML «eXtensible Access Control Markup Language» es un lenguaje estándar abierto basado en XML. El estándar define un lenguaje declarativo de políticas de control de acceso de grano fino basado en atributos, una arquitectura y un modelo de procesamiento que describe cómo evaluar las solicitudes de acceso de acuerdo con las reglas definidas en las políticas. (*Wikipedia definition)

Lenguaje de políticas XACML: se utiliza para describir requisitos generales de control de acceso.

Protocolo de solicitud/respuesta XACML: se utiliza para consultar un motor de toma de decisiones que evalúa las solicitudes de acceso del mundo real en función de las políticas XACML existentes.

Arquitectura de referencia XACML: proporciona un estándar para el despliegue de los módulos de software necesarios para lograr una aplicación eficaz de las políticas XACML.

Terminología

  • PAP - Policy Administration:: Punto que gestiona las políticas de autorización de acceso.
  • PDP - Policy Decision Point: Punto que evalúa las solicitudes de acceso con respecto a las políticas de autorización antes de emitir decisiones de acceso.
  • PEP - Policy Enforcement Point: Punto que intercepta la solicitud de acceso del usuario a un recurso, realiza una solicitud de decisión al PDP para obtener la decisión de acceso.
  • PIP - Policy Information Point: Es la entidad del sistema que actúa como fuente de valores de atributos. Proporciona información adicional sobre los atributos que necesita el PDP (Policy Decision Point) para tomar decisiones de autorización.
  • PRP - Policy Retrieval Point:  Punto donde se almacenan las políticas de autorización de acceso XACML, normalmente una base de datos o el sistema de ficheros.

Flujo

image.png

  1. Un usuario envía una solicitud de peticion de acceso a un recurso que es interceptada por el PEP.
  2. El PEP convierte la solicitud en una solicitud de autorización XACML y reenvía la solicitud de autorización alPolicy Decision Point (PDP).
  3. El PDP evalúa la solicitud de autorización en función de las políticas configuradas. Las políticas se obtienen a través del punto de recuperación de políticas (PRP) y las gestiona el punto de administración de políticas (PAP).
  4. Si es necesario, también recupera valores de atributos de los puntos de información de políticas (PIP) subyacentes.
  5. El PDP toma una decisión (Permitir / Denegar / NoAplicable / Indeterminada) y la devuelve al PEP.

En Soffid, PAP y PIP se implementan en la Consola.

 

??????????????

https://www.nextlabs.com/blogs/what-is-a-policy-information-point-pip/

image.png

 

Soffid XACML

Usando el addon XACML es posible añadir controles de acceso estándar XACML a la consola Soffid. En este caso, Soffid puede ser capaz de añadir reglas más complejas y restringidas a las autorizaciones.


(*) https://en.wikipedia.org/wiki/XACML

(**) https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml#XACML20