Autorización basada en reclamaciones vs Control de acceso basado en atributos

9

¿Hay alguna diferencia entre Control de acceso basado en atributos que generalmente se asocia con XACML y Autorización basada en reclamaciones , que parece ser un término acuñado por Microsoft?

¿Es este último simplemente el nombre / implementación de Microsoft para ABAC? ¿O son los dos conceptos completamente diferentes?

Encontré ambos términos durante mi investigación y me parecen cosas similares, si no idénticas, pero tal vez me esté faltando algo. ¿Son las afirmaciones y los atributos solo nombres diferentes para la misma idea?

Atributos:

  

El control de acceso basado en atributos define un nuevo paradigma de control de acceso mediante el cual los derechos de acceso se otorgan a los usuarios mediante el uso de políticas que combinan atributos. (Wikipedia)

Claims:

  

La autorización basada en reclamaciones es un enfoque en el que la decisión de autorización para otorgar o denegar el acceso se basa en una lógica arbitraria que utiliza los datos disponibles en las reclamaciones para tomar la decisión. (MSDN)

    
pregunta magnattic 28.04.2014 - 21:32
fuente

2 respuestas

6

ABAC y CBAC son prácticamente lo mismo. Microsoft no llama a los atributos de las cosas, pero se refiere a ellos como reclamos porque los atributos tienden a estar asociados con SAML, mientras que los reclamos son en su mayoría agnósticos del protocolo.

XACML es un modelo / implementación que expone ABAC, mientras que no hay ningún modelo o implementación de CBAC concreto, de todas formas no es de Microsoft. Esto se debe principalmente a que los modelos de autorización genéricos son una molestia en el extremo y son demasiado complicados, y lo esencial de la guía fue que cada aplicación tiene diferentes permisos, por lo que debe resolverlo por su cuenta.

    
respondido por el Steve 29.04.2014 - 03:00
fuente
3

CBAC (control de acceso basado en notificaciones) y ABAC (control de acceso basado en atributos) son esencialmente los mismos por lo que una declaración es un "atributo" afirmado. Por ejemplo, toma un atributo de Active Directory y lo convierte en una reclamación.

Sin embargo, hay algunos problemas con CBAC:

  • En primer lugar, es un término específico de Microsoft, no un modelo per se como ABAC o RBAC.
  • en segundo lugar, los mismos Microsoft usan CBAC para significar cosas diferentes. CBAC en .NET, CBAC en Windows Server 2012 (Windows Server 8) y CBAC en Sharepoint, por nombrar solo algunas
  • CBAC no define la autorización en sí, sino cómo se obtienen las reclamaciones o los atributos. Deja la caja completa de "cómo le da sentido a los reclamos" a la implementación, por lo que CBAC no significa necesariamente lo mismo en SharePoint como lo haría en una aplicación .NET.
    • En SharePoint, se otorga acceso si un usuario tiene al menos una reclamación que tiene el recurso
    • en Windows Server, hay un lenguaje de política llamado SDDL que define lo que se permite según las reclamaciones (reclamaciones sobre el usuario proveniente de AD y reclamaciones sobre el archivo proveniente de la clasificación del archivo).
    • en una aplicación .NET, depende del desarrollador decidir qué hacer con el reclamo.

ABAC en el otro es un modelo que implementa XACML, el lenguaje de marcado de control de acceso eXtensible. ABAC y XACML definen cómo usar los atributos para definir la autorización. La autorización se define utilizando políticas basadas en atributos. Las políticas utilizan los atributos para definir qué se permite y qué se niega.

En XACML, siempre está claro qué se puede permitir o denegar. Las políticas son definidas y mantenidas centralmente. XACML también define una arquitectura estándar (que por cierto no fue inventada por XACML) con la noción de punto de decisión de política y punto de aplicación de política.

Le recomendaría que lea sobre ABAC y XACML aquí:

Saludos, David.

    
respondido por el David Brossard 29.04.2014 - 13:05
fuente

Lea otras preguntas en las etiquetas