stringtranslate.com

Control de acceso basado en atributos

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 la autorización de un sujeto para realizar un conjunto de operaciones se determina evaluando los atributos asociados con el sujeto, el objeto, las operaciones solicitadas y, en algunos casos, los atributos del entorno. [1]

ABAC es un método de implementación de políticas de control de acceso que es altamente adaptable y se puede personalizar utilizando una amplia gama de atributos, lo que lo hace adecuado para su uso en entornos distribuidos o que cambian rápidamente. Las únicas limitaciones de las políticas que se pueden implementar con ABAC son las capacidades del lenguaje computacional y la disponibilidad de atributos relevantes. [2] Las reglas de política de ABAC se generan como funciones booleanas de los atributos del sujeto, los atributos del objeto y los atributos del entorno. [3]

A diferencia del control de acceso basado en roles (RBAC) , que define roles que tienen un conjunto específico de privilegios asociados y a los cuales se asignan los sujetos, ABAC puede expresar conjuntos de reglas complejos que pueden evaluar muchos atributos diferentes. Al definir atributos de sujeto y objeto consistentes en políticas de seguridad, ABAC elimina la necesidad de autorizaciones explícitas para los sujetos de los individuos que se necesitan en un método de acceso que no sea ABAC, lo que reduce la complejidad de administrar listas y grupos de acceso.

Los valores de los atributos pueden ser de valor fijo o de valor atómico. Los atributos de valor fijo contienen más de un valor atómico. Algunos ejemplos son role y project . Los atributos de valor atómico contienen solo un valor atómico. Algunos ejemplos son clearance ysensitive . Los atributos se pueden comparar con valores estáticos o entre sí, lo que permite un control de acceso basado en relaciones. [ cita requerida ]

Aunque el concepto en sí existe desde hace muchos años, ABAC se considera un modelo de autorización de "próxima generación" porque proporciona un control de acceso dinámico, consciente del contexto e inteligente en cuanto al riesgo a los recursos, permitiendo definir políticas de control de acceso que incluyen atributos específicos de muchos sistemas de información diferentes para resolver una autorización y lograr un cumplimiento normativo eficiente, permitiendo a las empresas flexibilidad en sus implementaciones en función de 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:

  1. El PEP o Policy Enforcement Point: es el encargado de proteger las aplicaciones y los datos a los que se desea aplicar ABAC. El PEP inspecciona la solicitud y genera una solicitud de autorización que envía al PDP.
  2. El PDP o punto de decisión de políticas es el cerebro de la arquitectura. Es la parte que evalúa las solicitudes entrantes en función de las políticas con las que se ha configurado. El PDP devuelve una decisión de permitir o denegar. El PDP también puede usar PIP para recuperar metadatos faltantes.
  3. El PIP o Punto de Información de Políticas conecta el PDP con fuentes externas de atributos, por ejemplo, LDAP o bases de datos.

Atributos

Los atributos pueden referirse a cualquier cosa y a cualquier persona. Suelen clasificarse en cuatro categorías diferentes:

  1. Atributos del sujeto: atributos que describen al usuario que intenta acceder, por ejemplo, edad, autorización, departamento, función, puesto de trabajo.
  2. Atributos de acción: atributos que describen la acción que se está intentando, por ejemplo, leer, eliminar, ver, aprobar
  3. Atributos del objeto: atributos que describen el objeto (o recurso) al que se accede, por ejemplo, el tipo de objeto (historial médico, cuenta bancaria), el departamento, la clasificación o sensibilidad, la ubicación.
  4. Atributos contextuales (de entorno): atributos que tratan el tiempo, la ubicación o 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 ser políticas de concesión o denegación. Las políticas también pueden ser locales o globales y pueden redactarse de manera que anulen otras políticas. Algunos ejemplos son:

  1. Un usuario puede ver un documento si el documento está en el mismo departamento que el usuario.
  2. Un usuario puede editar un documento si es el propietario y si el documento está en modo borrador.
  3. Negar el acceso antes de las 9 AM

Con ABAC puedes tener tantas políticas como desees que se adapten a muchos escenarios y tecnologías diferentes. [7]

Otros modelos

Históricamente, los modelos de control de acceso han incluido el control de acceso obligatorio (MAC), el control de acceso discrecional (DAC) y, más recientemente, el 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, y la información dinámica, por ejemplo, la hora del día o la dirección IP del usuario.

ABAC intenta resolver este problema definiendo el control de acceso en función de atributos que describen la entidad solicitante (el usuario), el objeto o recurso de destino, la acción deseada (ver, editar, eliminar) e información ambiental o contextual. Por este motivo, se dice que el control de acceso está basado en atributos. [8]

Implementaciones

Hay tres implementaciones principales de ABAC:

XACML , el lenguaje de marcado de control de acceso extensible, define una arquitectura (compartida con ALFA y NGAC), un lenguaje de políticas y un esquema de solicitud/respuesta. No se ocupa de 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 en manos de las herramientas de IAM tradicionales , las bases de datos y los directorios.

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 de tipo "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 su adopción se está extendiendo en varias agencias gubernamentales y militares. [9]

Aplicaciones

El concepto de ABAC se puede aplicar en cualquier nivel de la pila tecnológica y de la 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 conceder o denegar el acceso.

Una consideración importante al evaluar las soluciones ABAC es comprender su potencial sobrecarga 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 proteger la llamada. Con ABAC, un autor de políticas puede escribir lo siguiente:

El flujo sería el siguiente:

  1. La usuaria, Alice, llama al método API approveTransaction(123)
  2. La API recibe la llamada y autentica al usuario.
  3. Un interceptor en la API llama al motor de autorización (normalmente llamado Punto de decisión de política o PDP) y pregunta: ¿Puede Alice aprobar la transacción 123?
  4. El PDP recupera la política ABAC y los atributos necesarios.
  5. El PDP llega a una decisión, por ejemplo, Permitir o Denegar, y la devuelve al interceptor API.
  6. 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 un acceso denegado.

Seguridad de la aplicación

Una de las principales ventajas de ABAC es que las políticas y los atributos de autorización se pueden definir de forma neutral desde el punto de vista tecnológico. Esto significa que las políticas definidas para las API o las bases de datos se pueden reutilizar en el espacio de la aplicación. Las aplicaciones habituales que pueden beneficiarse de ABAC son:

  1. Sistemas de gestión de contenidos
  2. ERP
  3. Aplicaciones de cosecha propia
  4. Aplicaciones web

Aquí también se aplica el mismo proceso y flujo que el descrito en la sección API.

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 medios para lograr una seguridad de grano fino similar a ABAC.

Un ejemplo sería:

Seguridad de datos

La seguridad de los datos suele ir un paso más allá de la seguridad de las bases de datos y aplica el control directamente al elemento de datos. Esto suele denominarse seguridad centrada en los 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 subcelda mediante controles lógicos con condiciones de filtrado y enmascaramiento basados ​​en atributos. Los atributos pueden estar basados ​​en datos, usuarios, sesiones o herramientas para ofrecer el mayor nivel de flexibilidad a la hora de conceder o denegar dinámicamente el acceso a un elemento de datos específico. En los sistemas de archivos distribuidos y de big data como Hadoop, ABAC aplicado en la capa de datos controla el acceso a carpetas, subcarpetas, archivos, subarchivos y otros granulares.

Seguridad de macrodatos

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. [10] [11]

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) [12] y el lenguaje de definición de descriptores de seguridad (SDDL). SDDL puede considerarse un lenguaje ABAC, ya que utiliza metadatos del usuario (reclamos) y del archivo o carpeta para controlar el acceso.

Véase también

Referencias

  1. ^ División de Seguridad Informática, Laboratorio de Tecnología de la Información (2016-05-24). «Control de acceso basado en atributos | CSRC | CSRC». CSRC | NIST . Consultado el 25 de noviembre de 2021 .
  2. ^ Hu, Vincent C.; Kuhn, D. Richard; Ferraiolo, David F.; Voas, Jeffrey (febrero de 2015). "Control de acceso basado en atributos". Computer . 48 (2): 85–88. doi :10.1109/MC.2015.33. ISSN  1558-0814. S2CID  54967881.
  3. ^ "Guía de servicios web seguros: recomendaciones del Instituto Nacional de Estándares y Tecnología" (PDF) .
  4. ^ 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". Future Generation Computer Systems . 78 : 1–17. doi :10.1016/j.future.2017.07.049. ISSN  0167-739X.
  5. ^ "Descripción general de la tecnología para la gestión de autorizaciones externalizadas". www.gartner.com . Consultado el 31 de mayo de 2017 .
  6. ^ "Leadership Compass: Gestión dinámica de autorizaciones - 71144". KuppingerCole . Consultado el 14 de julio de 2020 .
  7. ^ ab "Alternativas para sistemas de control de acceso a roles/reclamos". stackoverflow.com .
  8. ^ "¿Qué es el control de acceso basado en atributos (ABAC)?". www.okta.com . Consultado el 13 de septiembre de 2023 .
  9. ^ Sanford, Jim. "Encriptación con esteroides: control de acceso basado en atributos (ABAC)". Siemens . Consultado el 13 de octubre de 2023 .
  10. ^ "La autorización dinámica y de grano fino protege los grandes datos".
  11. ^ "El primer control de acceso a datos de grano fino en Hadoop". Archivado desde el original el 23 de marzo de 2016.
  12. ^ "Descripción general del control de acceso dinámico (Windows 10) - Seguridad de Windows".

Enlaces externos