El control de acceso basado en atributos ( ABAC ), también conocido como control de acceso basado en políticas para IAM , define un 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. [1]Las políticas pueden utilizar cualquier tipo de atributos (atributos de usuario, atributos de recursos, objeto, atributos del entorno, etc.). Este modelo admite la lógica booleana, en la que las reglas contienen declaraciones "SI, ENTONCES" sobre quién realiza la solicitud, el recurso y la acción. Por ejemplo: SI el solicitante es un administrador, ENTONCES permita el acceso de lectura / escritura a los datos confidenciales. El marco NIST introduce los conceptos principales de ABAC como sus entidades, es decir, PAP (Punto de administración de políticas), PEP (Punto de aplicación de políticas), PDP (Punto de decisión de políticas) y PIP (Punto de información de políticas). [2] [3]
A diferencia del control de acceso basado en roles (RBAC), que emplea roles predefinidos que llevan un conjunto específico de privilegios asociados con ellos y a los que se asignan sujetos, la diferencia clave con ABAC es el concepto de políticas que expresan un complejo conjunto de reglas booleanas. que puede evaluar muchos atributos diferentes. Los valores de los atributos pueden tener un valor fijo o un valor atómico. Los atributos de conjunto de valores contienen más de un valor atómico. Los ejemplos son rol y proyecto . Los atributos de valor atómico contienen solo un valor atómico. Algunos ejemplos son el aclaramiento y la sensibilidad. Los atributos se pueden comparar con valores estáticos o entre sí, lo que permite el control de acceso basado en relaciones.
Aunque el concepto en sí existió durante muchos años, ABAC se considera un modelo de autorización de "próxima generación" porque proporciona un control de acceso dinámico, sensible al contexto e inteligente de riesgos a los recursos, lo que permite que se apliquen políticas de control de acceso que incluyen atributos específicos de muchos sistemas de información diferentes. definidos para resolver una autorización y lograr un cumplimiento normativo eficiente, permitiendo a las empresas flexibilidad en sus implementaciones en base a sus infraestructuras existentes.
El control de acceso basado en atributos a veces se denomina control de acceso basado en políticas ( PBAC ) o control de acceso basado en notificaciones ( CBAC ), que es un término específico de Microsoft. Los estándares clave que implementan ABAC son XACML y ALFA (XACML). [4]
Dimensiones del control de acceso basado en atributos
ABAC puede verse como:
Componentes
Arquitectura
ABAC viene con una arquitectura recomendada que es la siguiente:
- El PEP o Policy Enforcement Point: es responsable de proteger las aplicaciones y los datos a los que desea aplicar ABAC. El PEP inspecciona la solicitud y genera una solicitud de autorización que envía al PDP.
- El PDP o Policy Decision Point es el cerebro de la arquitectura. Esta es la pieza que evalúa las solicitudes entrantes contra las políticas con las que se ha configurado. El PDP devuelve una decisión de Permiso / Denegación. El PDP también puede usar PIP para recuperar metadatos faltantes
- El PIP o Policy Information Point conecta el PDP con fuentes externas de atributos, por ejemplo, LDAP o bases de datos.
Atributos
Los atributos pueden ser sobre cualquier cosa y cualquier persona. Suelen clasificarse en 4 categorías diferentes:
- Atributos del asunto: atributos que describen al usuario que intenta el acceso, por ejemplo, edad, autorización, departamento, función, puesto de trabajo ...
- Atributos de acción: atributos que describen la acción que se intenta, por ejemplo, leer, eliminar, ver, aprobar ...
- Atributos del objeto: atributos que describen el objeto (o recurso) al que se accede, por ejemplo, el tipo de objeto (historia clínica, cuenta bancaria ...), el departamento, la clasificación o sensibilidad, la ubicación ...
- Atributos contextuales (ambientales): atributos que se refieren al tiempo, la ubicación o los aspectos dinámicos del escenario de control de acceso [7]
Políticas
Las políticas son declaraciones que reúnen atributos para expresar lo que puede suceder y lo que no está permitido. Las políticas en ABAC pueden otorgar o denegar políticas. Las políticas también pueden ser locales o globales y pueden escribirse de manera que anulen otras políticas. Ejemplos incluyen:
- Un usuario puede ver un documento si el documento está en el mismo departamento que el usuario
- Un usuario puede editar un documento si es el propietario y si el documento está en modo borrador
- Denegar el acceso antes de las 9 a. M.
Con ABAC puede tener tantas políticas como desee que se adapten a muchos escenarios y tecnologías diferentes. [7]
Otros modelos
Históricamente, los modelos de control de acceso han incluido control de acceso obligatorio (MAC), control de acceso discrecional (DAC) y, más recientemente , control de acceso basado en roles (RBAC). Estos modelos de control de acceso están centrados en el usuario y no tienen en cuenta parámetros adicionales como la información del recurso, la relación entre el usuario (la entidad solicitante) y el recurso, e información dinámica, por ejemplo, la hora del día o la IP del usuario. ABAC intenta abordar esto definiendo el control de acceso basado en atributos que describen la entidad solicitante (el usuario), el objeto o recurso objetivo, la acción deseada (ver, editar, eliminar ...) e información ambiental o contextual. Por eso se dice que el control de acceso se basa en atributos.
Implementaciones
Un estándar que implementa el control de acceso basado en atributos y políticas es XACML , el Lenguaje de marcado de control de acceso extensible. XACML define una arquitectura, un lenguaje de políticas y un esquema de solicitud / respuesta. No maneja la gestión de atributos (asignación de atributos de usuario, asignación de atributos de objeto, asignación de atributos de entorno) que se deja a las herramientas, bases de datos y directorios tradicionales de IAM .
Las empresas, incluidas todas las ramas del ejército de los Estados Unidos, han comenzado a utilizar ABAC. En un nivel básico, ABAC protege los datos con reglas 'SI / ENTONCES / Y' en lugar de asignar datos a los usuarios. El Departamento de Comercio de los Estados Unidos ha hecho de esto una práctica obligatoria y la adopción se está extendiendo a través de varias agencias gubernamentales y militares. [1] [8]
Aplicaciones
El concepto de ABAC se puede aplicar a cualquier nivel de la pila de tecnología y una infraestructura empresarial. Por ejemplo, ABAC se puede utilizar en el firewall, el servidor, la aplicación, la base de datos y la capa de datos. El uso de atributos aporta un contexto adicional para evaluar la legitimidad de cualquier solicitud de acceso e informar la decisión de otorgar o denegar el acceso.
Una consideración importante al evaluar las soluciones de ABAC es comprender sus posibles gastos generales en el rendimiento y su impacto en la experiencia del usuario. Se espera que cuanto más granulares sean los controles, mayor será la sobrecarga.
Seguridad de API y microservicios
ABAC se puede utilizar para aplicar una autorización detallada basada en atributos a los métodos o funciones de la API. Por ejemplo, una API bancaria puede exponer un método ApproveTransaction (transId). ABAC se puede utilizar para asegurar la llamada. Con ABAC, un autor de políticas puede escribir lo siguiente:
- Política : los gerentes pueden aprobar transacciones hasta su límite de aprobación
- Atributos utilizados : rol, ID de acción, tipo de objeto, monto, límite de aprobación.
El flujo sería el siguiente:
- El usuario, Alice, llama al método de API aproveTransaction (123)
- La API recibe la llamada y autentica al usuario.
- Un interceptor en la API llama al motor de autorización (normalmente llamado Punto de decisión de políticas o PDP) y pregunta: ¿Puede Alice aprobar la transacción 123?
- El PDP recupera la política ABAC y los atributos necesarios.
- El PDP toma una decisión, por ejemplo, Permitir o Denegar y la devuelve al interceptor API.
- Si la decisión es Permitir, se llama a la lógica empresarial de la API subyacente. De lo contrario, la API devuelve un error o acceso denegado.
Seguridad de la aplicación
Uno de los beneficios clave de ABAC es que las políticas y atributos de autorización se pueden definir de una manera tecnológica neutral. Esto significa que las políticas definidas para API o bases de datos se pueden reutilizar en el espacio de la aplicación. Las aplicaciones comunes que pueden beneficiarse de ABAC son:
- sistemas de gestión de contenido
- ERP
- aplicaciones de cosecha propia
- aplicaciones web
El mismo proceso y flujo que el descrito en la sección API también se aplica aquí.
Seguridad de la base de datos
La seguridad de las bases de datos ha sido durante mucho tiempo específica de los proveedores de bases de datos: Oracle VPD, IBM FGAC y Microsoft RLS son todos los medios para lograr una seguridad detallada similar a ABAC.
Un ejemplo sería:
- Política: los gerentes pueden ver las transacciones en su región
- Política reelaborada de forma centrada en los datos: los usuarios con
role == manager
pueden hacer la acción== SELECT on table == TRANSACTIONS if user.region == transaction.region
Seguridad de datos
La seguridad de los datos suele ir un paso más allá que la seguridad de la base de datos y aplica el control directamente al elemento de datos. Esto a menudo se conoce como seguridad centrada en datos. En las bases de datos relacionales tradicionales, las políticas ABAC pueden controlar el acceso a los datos en la tabla, columna, campo, celda y subcélula mediante controles lógicos con condiciones de filtrado y enmascaramiento basado en atributos. Los atributos pueden estar basados en datos, usuarios, sesiones o herramientas para ofrecer el mayor nivel de flexibilidad al otorgar / denegar dinámicamente el acceso a un elemento de datos específico. En big data y sistemas de archivos distribuidos como Hadoop, ABAC aplicado en la capa de datos controla el acceso a carpetas, subcarpetas, archivos, subarchivos y otros granulares.
Seguridad de Big Data
El control de acceso basado en atributos también se puede aplicar a sistemas de Big Data como Hadoop. Se pueden aplicar políticas similares a las utilizadas anteriormente al recuperar datos de lagos de datos. [9] [10]
Seguridad del servidor de archivos
A partir de Windows Server 2012, Microsoft ha implementado un enfoque ABAC para controlar el acceso a archivos y carpetas. Esto se logra mediante el control de acceso dinámico (DAC) [11] y el lenguaje de definición de descriptores de seguridad (SDDL). SDDL puede verse como un lenguaje ABAC ya que utiliza metadatos del usuario (reclamos) y del archivo / carpeta para controlar el acceso.
Ver también
- Lista de control de acceso
- Control de acceso basado en contexto (CBAC)
- Seguridad centrada en datos
- Control de acceso discrecional (DAC)
- Control de acceso basado en gráficos (GBAC)
- Control de acceso basado en celosía (LBAC)
- Control de acceso basado en transacciones (TxBAC)
- Control de acceso obligatorio (MAC)
- Control de acceso basado en organización (OrBAC)
- Control de acceso basado en roles (RBAC)
- Control de acceso basado en reglas (RSBAC)
- Seguridad basada en capacidad
- Autenticación basada en la ubicación
- Autenticación basada en riesgos
- Información clasificada
- Identidad federada
- Redes impulsadas por la identidad
- Gestión de identidad
- Sistema de gestión de identidad
- Protocolo ligero de acceso a directorios
- OAuth
- PERMIS
- Lenguaje de marcado de afirmación de seguridad
- Servicio de token de seguridad
- Inicio de sesión único
- Software de aprovisionamiento de usuarios
- XACML
Referencias
- ^ División de seguridad informática, Laboratorio de tecnología de la información (24 de mayo de 2016). "Control de acceso basado en atributos | CSRC | CSRC" . CSRC | NIST . Consultado el 22 de noviembre de 2020 .
- ^ NIST, ABAC (2014). "Guía para la definición y consideraciones del control de acceso basado en atributos (ABAC)" (PDF) .
- ^ NIST (2016). "Una comparación de estándares de control de acceso basado en atributos (ABAC) para aplicaciones de servicios de datos" (PDF) .
- ^ Silva, Edelberto Franco; Muchaluat-Saade, Débora Christina; Fernandes, Natalia Castro (1 de enero de 2018). "ACROSS: Un marco genérico para el control de acceso basado en atributos con políticas distribuidas para organizaciones virtuales" . Sistemas informáticos de futura generación . 78 : 1-17. doi : 10.1016 / j.future.2017.07.049 . ISSN 0167-739X .
- ^ "Visión general de la tecnología para la gestión de autorizaciones externalizada" . www.gartner.com . Consultado el 31 de mayo de 2017 .
- ^ "Brújula de liderazgo: gestión de autorización dinámica - 71144" . KuppingerCole . Consultado el 14 de julio de 2020 .
- ^ a b "Alternativas para los sistemas de control de acceso de roles / reclamos" . stackoverflow.com .
- ^ Coffey, Alisa (28 de marzo de 2019). "Control de acceso basado en atributos (ABAC) - cifrado en esteroides" . Comunidad PLM de Siemens . Consultado el 1 de abril de 2019 .
- ^ "Autorización dinámica y detallada asegura Big Data" .
- ^ "Primer control de acceso a datos detallado en Hadoop" .
- ^ https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/dynamic-access-control
enlaces externos
- ¿Qué es el control de acceso basado en atributos?
- ¿Qué es PBAC?
- CONTROL DE ACCESO BASADO EN ATRIBUTOS (ABAC) - DESCRIPCIÓN GENERAL
- Modelo unificado de control de acceso basado en atributos (ABAC) que cubre DAC, MAC y RBAC
- Modelos de control de acceso basados en atributos (ABAC) e implementación en infraestructura de nube como servicio
- ABAC, no RBAC: Bienvenido al mundo (IoT) de la seguridad contextual, 2015, Lori MacVittie
- Brújula de mercado: Gestión dinámica de autorizaciones, 2020, Graham Williamson