Blank white background with no objects or features visible.

Te ofrecemos acceso gratuito al informe completo Gartner Hype Cycle for AI Governance 2026. Consigue tu copia →

RBAC frente a ABAC: Elegir un modelo de control de acceso para agentes de IA

Por Ashish Dubey

Actualizado: November 3, 2026

Published: September 21, 2026

⚡ Resumen (TL;DR)
  • RBAC concede permisos a roles asignados y vincula sujetos a dichos roles. ABAC evalúa una política basada en los atributos del sujeto, el recurso, la acción y el entorno en el momento de la solicitud.
  • La diferencia real entre RBAC y ABAC no es la capacidad de expresión, sino la capacidad de respuesta: con RBAC se puede consultar quién tiene acceso mediante una tabla. Con ABAC hay que ejecutar el motor de políticas para averiguarlo.
  • El control de acceso para agentes de IA parece el caso de uso teórico ideal para ABAC: un sujeto no humano cuyos permisos dependen de la herramienta, de los datos y de la persona en cuyo nombre actúa.
  • Lo que realmente se implementa en producción es RBAC con vinculaciones acotadas a nivel de recurso, además de algunos controles contextuales puntuales. Esto es lo que implementa TrueFoundry: sujeto + recurso + rol, no un motor de políticas.
  • La mayoría de los equipos no necesitan ABAC. Necesitan roles vinculados a recursos individuales en lugar de a todo el tenant, junto con algunas verificaciones en tiempo de ejecución para acciones críticas.

Qué es realmente RBAC

El control de acceso basado en roles (RBAC) añade una capa intermedia entre los usuarios y los permisos. En lugar de conceder directamente a Priya la capacidad de leer un grupo de secretos, se define un rol llamado Secret Group Viewer que contiene ese permiso y se le asigna a Priya.

El modelo de control de acceso basado en roles consta de tres componentes:

Componente Descripción
Permiso Una única acción permitida sobre un tipo de elemento, como mcp-server:CreateMcpServer
Rol Un conjunto de permisos con nombre, como Workspace Admin
Asignación El enlace entre un sujeto y un rol, también denominado vinculación de rol (role binding)

El valor principal radica en la indirección. Cuando el equipo de seguridad decide que los lectores ya no deben ver valores secretos, modifica un solo rol y el cambio se aplica al instante a todos los lectores. El NIST formalizó este modelo hace décadas, razón por la cual todas las consolas cloud incluyen una página de roles.

Su debilidad radica también en esta indirección. Los roles son conjuntos estáticos. Si un permiso solo debe aplicarse desde una IP corporativa o sobre registros de la propia región del solicitante, el modelo RBAC básico no puede expresarlo. Los equipos suelen responder creando más roles: analyst-eu, analyst-eu-readonly, analyst-eu-readonly-prod. Esto genera una explosión de roles, la razón más habitual por la que se evalúa la transición a ABAC.

Qué es realmente ABAC

El control de acceso basado en atributos elimina el paquete estático de permisos. En lugar de comprobar qué rol tiene un sujeto, evalúa una expresión de política en tiempo de solicitud a partir de cuatro categorías de atributos:

Categoría de atributo Ejemplos
Sujeto Departamento, nivel de acceso, estado laboral, responsable, propietario del agente
Recurso Clasificación, equipo propietario, región de datos, etiqueta de sensibilidad
Acción Lectura, escritura, eliminación, invocación, aprobación
Entorno Hora del día, IP de origen, estado del dispositivo, puntuación de riesgo de la solicitud

Una política típica sigue una estructura como: permitir lectura cuando subject.department == resource.owning_team y resource.classification != "restricted" y env.network == "corp". NIST SP 800-162 es la especificación de referencia; en la práctica, ABAC se implementa mediante lenguajes de políticas como XACML, Rego o Cedar integrados en un servicio de autorización.

ABAC ofrece una capacidad de expresión superior. Una regla bien definida puede reemplazar a un centenar de roles y permite gestionar relaciones que RBAC no puede representar, como por ejemplo: "el médico asignado a este paciente".

Sin embargo, esta flexibilidad tiene un coste. Las políticas son código: requieren revisión, pruebas, control de versiones y un análisis de cómo interactúan las distintas reglas. Además, la pregunta fundamental en cualquier auditoría —¿quién tiene acceso a estos datos?— deja de tener una respuesta directa mediante consulta. Se debe enumerar cada sujeto y evaluar la política para cada uno de ellos. Aunque algunos motores ofrecen herramientas de consulta inversa para abordar esto, la mayoría de los despliegues no las utilizan.

Diferencias entre RBAC y ABAC de un vistazo

Criterio de decisión Roles asignados al sujeto Atributos de sujeto, recurso, acción y entorno
Ubicación de la política Tabla de roles Archivo o motor de políticas
Respuesta a "¿quién tiene acceso?" Consultar las vinculaciones Evaluar la política sobre todos los sujetos
Sensibilidad al contexto Sin soporte nativo Soporte nativo de primer nivel
Permisos de gran granularidad Añadiendo roles o acotando el alcance Añadiendo condiciones a la regla
Modo de fallo a escala Explosión de roles Proliferación de políticas difícil de auditar
Coste de implantación Horas Semanas, más una fuente de verdad para atributos
Escenario ideal El acceso se mapea bien con la función laboral El acceso depende del contexto de ejecución

Un aspecto que la tabla no muestra: ABAC requiere un requisito previo fundamental, atributos fiables. Una política basada en resource.data_region solo será tan precisa como la disciplina de etiquetado que mantenga ese campo. La mayoría de las organizaciones que intentan implementar ABAC descubren que tienen un problema de datos sin etiquetar antes de tener un problema de autorización. Además, ambos modelos no son excluyentes: el enfoque de producción más habitual utiliza RBAC como estructura base con algunas condiciones de atributos superpuestas.

Errores habituales en la adopción

Considerar la explosión de roles como un motivo para cambiar de modelo. La explosión de roles suele ser un error de delimitación del alcance (scoping), no un fallo del modelo. Si existen roles como analyst-team-a, analyst-team-b y analyst-team-c, no se necesitan atributos: basta con un único rol de analista vinculado de forma independiente a los recursos de cada equipo. La mayor parte de las dificultades atribuidas a RBAC surgen al conceder permisos a nivel de todo el tenant cuando la vinculación debería haberse aplicado a un recurso específico.

Adoptar una flexibilidad que no se puede auditar. ABAC permite redactar reglas que el equipo de cumplimiento normativo no puede interpretar fácilmente. Ese compromiso a veces es aceptable, pero nunca debe asumirse de forma no planificada. Antes de adoptar un motor de políticas, conviene definir quién responderá al cuestionario de revisión de accesos del siguiente trimestre y mediante qué procedimiento.

Olvidar que las concesiones de acceso se combinan. Un sujeto puede tener acceso directo y también heredarlo a través de un equipo; revocar un acceso no elimina el otro. La complejidad aumenta al integrar un motor de políticas sobre esta estructura, ya que dos sistemas diferentes pueden conceder permisos de manera independiente.

Configurar permisos para el usuario e ignorar al agente. Todos los controles aplicados al usuario son irrelevantes si el agente que ha configurado se ejecuta con un token de servicio compartido con acceso a todo el tenant.

¿Quieres ver el acceso acotado en práctica?
Inicia TrueFoundry y asigna un rol a un solo recurso en lugar de a todo el tenant: solo lleva un par de minutos.

Por qué los agentes de IA parecen el caso de uso ideal para ABAC

Un agente de IA es un sujeto no humano cuya autoridad efectiva no es estática. Puede leer un repositorio público en un paso y acceder a un registro de cliente en el siguiente. Actúa en nombre de diferentes personas en diferentes momentos. Sus entradas pueden ser manipuladas por terceros: el contenido malicioso de un issue puede redirigir al agente hacia una herramienta que no debería ejecutar. Y a diferencia de un usuario humano, no se detiene a evaluar si una acción es adecuada.

Al trasladar esto a un requisito de seguridad, el planteamiento coincide con la estructura de ABAC: permitir esta llamada a la herramienta cuando el usuario ejecutante tenga acceso previo al destino, la herramienta no sea destructiva y la solicitud no proceda de contenido no confiable. Tres atributos, una sola regla. ¿Por qué, entonces, casi ningún sistema se despliega así en producción?

Porque los atributos no siempre están disponibles de forma fiable en el momento de tomar la decisión. Determinar si "esta solicitud procede de contenido no confiable" no es un simple campo de datos, sino un problema técnico complejo. Verificar si "el usuario ejecutante tiene acceso previo" es posible, pero la forma más eficiente y precisa de hacerlo es consultar al sistema de destino utilizando las propias credenciales del usuario, en lugar de replicar su modelo de permisos en un motor de políticas local con el riesgo de que la copia quede desactualizada.

Además, el impacto en la auditabilidad es crítico en el entorno donde operan los agentes. Los permisos de los agentes son el punto principal de inspección en las revisiones de seguridad, y responder que "la política permite el acceso bajo estas condiciones" ofrece menor certeza que una tabla que confirme que este agente dispone del rol MCP Server User en tres servidores específicos.

Por lo tanto, los agentes requieren un acceso más restringido y más auditable que el de los usuarios humanos. ABAC aporta lo primero, pero dificulta lo segundo. Esto explica el patrón de despliegue predominante: RBAC con una delimitación estricta de recursos, combinado con controles contextuales específicos donde el contexto sea realmente crítico.

Cómo funciona este modelo en TrueFoundry

TrueFoundry implementa RBAC con vinculaciones de roles acotadas por recurso. No es un motor de políticas ABAC, y es importante remarcarlo de forma transparente. El modelo responde a una pregunta clara: ¿quién puede hacer qué y dónde?

  • Un sujeto es la identidad que recibe el acceso: un usuario, un equipo, una cuenta virtual o un agente.
  • Un recurso es el elemento al que se accede: una cuenta de proveedor de modelos, un servidor MCP, un agente, un cluster, un workspace, un repositorio o un grupo de secretos.
  • Un rol es un conjunto definido de acciones permitidas.

Asignar un rol a un sujeto sobre un recurso genera una vinculación de rol (role binding). El acceso se gestiona de manera independiente a la configuración del recurso, lo que permite modificar los permisos de acceso sin necesidad de redesplegar componentes.

Las concesiones de acceso se realizan directamente desde el propio recurso: al abrir su menú de tres puntos y seleccionar Access Control:

Three-dot menu on the nm-gemini2 model provider account with the Access Control option selected
Menú de tres puntos en la cuenta de proveedor de modelos nm-gemini2 con la opción Access Control seleccionada

A continuación, se seleccionan uno o varios sujetos y un rol. El panel lateral muestra las acciones incluidas en cada rol, permitiendo verificar los permisos antes de confirmarlos:

Grant Access drawer showing the subject selector with the Manager and User roles available for a provider account
Panel Grant Access con el selector de sujetos y los roles Manager y User disponibles para una cuenta de proveedor

Los roles disponibles dependen del tipo de recurso: Manager y User en una cuenta de proveedor de modelos; MCP Server Manager, MCP Server User y MCP Server Approver en un servidor MCP; Agent Manager y Agent Access en un agente. Los clusters, workspaces y grupos de secretos cuentan con sus propios niveles de administración, miembro y lector.

Tres niveles de alcance

Los roles operan en tres niveles de alcance diferenciados:

Alcance Aplica a Ejemplos
Recurso Un recurso específico MCP Server User en un único servidor
Tenant Todos los elementos del tenant Admin, Member, Read-Only Member, roles personalizados
Equipo Un equipo y sus Virtual Accounts asociadas Team Member, Team Manager

Los roles Admin y Read-Only Member son fijos y no se pueden modificar. El rol Member sí se puede editar: es la base que recibe cada usuario por defecto y, de forma predeterminada, solo incluye cluster:ReadCluster, environment:ListEnvironments, settings:ListSettings, user:ListUsers, repository:CreateRepository, secret-group:CreateSecretGroup y agent:CreateAgent. No otorga acceso directo a ningún modelo, servidor MCP o workspace individual; estos permisos se obtienen mediante vinculaciones de recursos o pertenencia a equipos.

Default Roles list showing the Member role available to edit alongside the uneditable built-in roles
Lista de roles por defecto mostrando el rol Member disponible para editar junto a los roles predefinidos no editables

Los roles de equipo representan el concepto más cercano a una condición por atributo en este modelo. El rol Team Member incluye virtual-account:ReadVirtualAccount, acotado a las Virtual Accounts propiedad de los equipos a los que pertenece el usuario. El permiso es idéntico para todos los usuarios; el conjunto de objetos al que da acceso varía según cada persona.

Edit Role drawer for Team Member showing the team-scoped Virtual Account permissions
Panel Edit Role para Team Member mostrando los permisos de Virtual Account acotados al equipo

Este mecanismo se basa en la propiedad del recurso (ownership scoping), no en ABAC: sin expresiones de políticas ni evaluación de atributos en tiempo de ejecución, únicamente una relación fija entre un equipo y sus recursos. Cubre el caso de uso habitual que suele motivar el uso de atributos, manteniendo la simplicidad y legibilidad.

Roles personalizados para permisos de alta granularidad

Cuando los roles predefinidos a nivel de tenant resulten demasiado amplios o restringidos, es posible crear roles personalizados utilizando el catálogo de permisos. Cada permiso sigue la estructura recurso:Accion, agrupado por tipo de recurso:

Custom Roles page with the Create Role button highlighted
Página Custom Roles con el botón Create Role destacado
Custom role form showing the available tenant permissions grouped by resource type
Formulario de rol personalizado mostrando los permisos de tenant disponibles agrupados por tipo de recurso

Una regla clave rige su uso: los permisos de un rol personalizado se aplican a todos los recursos del tipo seleccionado. Un rol personalizado con mcp-server:ReadMcpServer dará acceso a todos los servidores MCP del tenant. Para restringir el acceso a un solo recurso, debe utilizarse la página de Access Control de dicho recurso. Confundir este principio puede provocar que un rol diseñado para un único servidor otorgue acceso de lectura a nivel de todo el tenant.

Mecanismos de control contextual

TrueFoundry integra sensibilidad al contexto en cuatro puntos específicos. Ninguno utiliza políticas basadas en atributos y todos son plenamente auditables:

Mecanismo Efecto de la condición
Vinculaciones de rol por recurso La autoridad aplica exclusivamente al recurso indicado, no a todo el tenant
OAuth por usuario en llamadas salientes Cada usuario autoriza su propia cuenta externa, aplicando los permisos del sistema de destino por solicitud
Habilitación y deshabilitación de herramientas Las herramientas deshabilitadas se omiten en tools/list y no pueden ser invocadas
Políticas de aprobación humana Las llamadas a herramientas sensibles permanecen en espera hasta que las revise un MCP Server Approver

El segundo mecanismo cubre la mayor parte de las necesidades asociadas habitualmente a ABAC. Cuando un agente invoca una herramienta en nombre de un usuario mediante OAuth por usuario, el servicio de destino evalúa los permisos reales de dicho usuario. En lugar de replicar las listas de control de acceso (ACL) de un sistema externo como GitHub dentro de un motor de políticas, la evaluación se delega directamente en el sistema propietario, evitando inconsistencias por datos desactualizados. El modelo de control de acceso de MCP se basa directamente en este principio.

Una consideración importante: los tokens de Virtual Account otorgan el mismo nivel de acceso a todas las solicitudes. Son adecuados para la comunicación entre servicios (service-to-service), pero no deben utilizarse cuando se requiera gestionar permisos a nivel de usuario individual.

Ejemplo práctico de configuración

Dos escenarios habituales de la documentación ilustran el funcionamiento del modelo desde distintas perspectivas.

Conceder acceso de solo lectura a un auditor. Asignar el rol Read-Only Member desde Access > Users. Se trata de un rol predefinido a nivel de tenant que proporciona acceso de solo lectura en los tipos de recursos compatibles y no se puede modificar, garantizando que un rol de auditoría no pueda ser ampliado de forma no controlada. Para un grupo de auditores, se recomienda asignarlo a un equipo para que los nuevos miembros lo hereden automáticamente. Si el auditor solo debe acceder a recursos específicos, no se debe asignar un rol a nivel de tenant, sino conceder el rol de viewer o access directamente en cada recurso.

Permitir la creación de servidores MCP sin otorgar el rol de Admin. La tendencia habitual es asignar el rol de Admin porque la creación de un servidor requiere un permiso que Member no incluye. En su lugar, es preferible crear un rol personalizado que incluya exclusivamente mcp-server:CreateMcpServer:

Custom role form with the Create MCP Server permission selected
Formulario de rol personalizado con el permiso Create MCP Server seleccionado

A continuación, se asigna desde Access > Users o Access > Teams:

Assigning the custom MCP server creation role to a user
Asignación del rol personalizado de creación de servidores MCP a un usuario

El comportamiento resultante es el punto clave: Create MCP Server permite a un usuario crear un nuevo servidor, pero no otorga acceso a los servidores existentes. Tras crear el servidor, el creador se asigna a sí mismo el rol MCP Server Manager desde la página de Access Control de ese servidor específico.

La autoridad de creación y la autoridad de acceso permanecen separadas sin interferir entre sí. Una política ABAC podría expresar esta misma regla, pero requeriría un análisis detallado para verificar su comportamiento exacto. En este modelo, equivale a dos filas en dos tablas. El patrón también es aplicable a menor escala: para permitir que los usuarios vean los controles del gateway sin ser Admin, basta con editar el rol Member y añadir gateway-controls:ListGatewayControls.

Member role form with the List Gateway Controls permission selected
Formulario del rol Member con el permiso List Gateway Controls seleccionado
¿Listo para delimitar el alcance de tu primer agente?
Crea un rol personalizado, vincúlalo a un servidor MCP y verifica con precisión a qué puede acceder tu agente.

Consideraciones técnicas clave

Las concesiones de acceso se combinan y revocar una no elimina las demás. Un sujeto puede recibir acceso de forma directa y también mediante su pertenencia a un equipo. Al analizar por qué un usuario conserva acceso a un recurso, se deben revisar tanto las vinculaciones directas como las heredadas de sus equipos.

Modificar un rol por defecto de equipo afecta a todos los equipos. Los roles Team Member y Team Manager se editan en Access > Default Roles, y los cambios se aplican de forma global. Añadir virtual-account:ManageVirtualAccount para que un equipo gestione tokens otorgará esa capacidad a los miembros de todos los demás equipos. Cada usuario seguirá acotado a sus propios equipos, pero la funcionalidad estará disponible globalmente.

Los roles de tenant se combinan con los roles de tenant asignados a equipos. Un usuario tiene un rol de tenant asignado directamente. Si además pertenece a un equipo que posee un rol de tenant, sus permisos efectivos serán la unión de ambos. Por ello, la autoridad real de un usuario no siempre se refleja únicamente en su registro individual. Los equipos pueden crearse manualmente, aprovisionarse desde un IdP mediante SCIM o aplicarse con tfy apply utilizando un archivo YAML de equipo, pudiendo mapear un valor de claim del IdP directamente a un equipo.

Team form showing the identity provider FQN and claim value mapping fields
Formulario de equipo mostrando los campos de mapeo para el FQN del proveedor de identidad y el valor del claim

Lecturas relacionadas

Conclusión

El debate entre RBAC y ABAC no debe reducirse a una elección ambigua. ABAC es adecuado cuando el acceso depende de un contexto en tiempo de ejecución medible y fiable, y se dispone de la infraestructura y el equipo para mantener el código de las políticas. Para los demás escenarios, RBAC con una adecuada delimitación de alcance cumple el objetivo manteniendo una estructura clara y auditable por personas.

Los agentes de IA introducen nuevos retos en este esquema, requiriendo un enfoque ajustado: un alcance más acotado que el de los usuarios humanos, credenciales por usuario en lugar de tokens compartidos y supervisión humana para operaciones críticas. Ninguno de estos requisitos exige un motor de políticas complejo; basta con utilizar roles acotados a recursos individuales en lugar de a todo el tenant, acompañados de verificaciones puntuales en tiempo de ejecución.

Este es el enfoque que implementa TrueFoundry mediante un modelo RBAC estructurado. Cuando una auditoría de seguridad solicite verificar a qué recursos tiene acceso un agente, la respuesta debe ser una lista precisa y fácil de auditar.

Delimita el alcance de tu primer agente en TrueFoundry

Try now.

One gateway for all your models, MCP servers, and agents.
No credit card needed.

Inscríbase
Tabla de contenido

Controle, implemente y rastree la IA en su propia infraestructura

Reserva 30 minutos con nuestro Experto en IA

Reserve una demostración

La forma más rápida de crear, gobernar y escalar su IA

Demo del libro
Summarize with
ChatGPT logo by OpenAI
Perplexity AI logo
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Descubra más

No se ha encontrado ningún artículo.
October 7, 2026
|
5 minutos de lectura

Integración del AI Firewall de DeepKeep en TrueFoundry AI Gateway como Custom Guardrail

No se ha encontrado ningún artículo.
TrueFoundry AI gateway governs production systems in enterprise AI deployments
June 6, 2026
|
5 minutos de lectura

¿Qué es un sistema de producción en IA? Guía completa para equipos de empresa

No se ha encontrado ningún artículo.
October 8, 2026
|
5 minutos de lectura

¿Qué es OpenRouter? Una guía técnica sobre qué le ocurre a tu solicitud

No se ha encontrado ningún artículo.
TrueFoundry AI gateway enables Multi-Model orchestration across enterprise LLM providers
October 12, 2026
|
5 minutos de lectura

¿Qué es la orquestación multimodelo? Guía práctica para equipos empresariales

No se ha encontrado ningún artículo.
No se ha encontrado ningún artículo.

Blogs recientes

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.

Preguntas frecuentes

RBAC vs. ABAC: ¿cuál es la diferencia real?

RBAC concede permisos a roles con nombre y asigna sujetos a esos roles, de modo que una decisión es una consulta de las vinculaciones de rol del sujeto. ABAC evalúa una política en el momento de la solicitud sobre atributos del sujeto, el recurso, la acción y el entorno, de modo que una decisión es un cálculo. RBAC es más fácil de auditar; ABAC es más expresivo. La diferencia se nota cuando alguien pregunta quién puede acceder a un recurso: RBAC responde a partir de una tabla, mientras que ABAC exige evaluar la política.

‍

¿Es ABAC mejor que RBAC para los agentes de IA?

Sobre el papel, sí: la autoridad adecuada de un agente varía según la herramienta que invoca, los datos que toca y la persona en cuyo nombre actúa. En la práctica, la mayoría de los equipos despliega RBAC con vinculaciones acotadas a recursos, porque los atributos que necesitaría una política para agentes o bien no están disponibles en el momento de la decisión, o bien se resuelven mejor delegando en el sistema de origen mediante credenciales por usuario. Además, la pérdida de auditabilidad afecta sobre todo a los agentes, que es lo que más examina la revisión de seguridad.

¿Se pueden usar RBAC y ABAC conjuntamente?

Sí, y es el despliegue real más habitual. Los roles forman la columna vertebral y se aplican unas pocas condiciones donde está justificado. La versión de TrueFoundry consiste en vinculaciones de roles RBAC más cuatro controles: alcance por recurso, OAuth por usuario para que se apliquen los permisos del sistema de origen, activación y desactivación por herramienta, y aprobación humana en las llamadas a herramientas sensibles. Deliberadamente, eso no es un motor de políticas.

¿Puedo desplegar TrueFoundry en mi propia VPC o en on-prem?

Sí. TrueFoundry se ejecuta en su VPC, on-prem, en entornos air-gapped o híbridos, de modo que los prompts y las respuestas nunca salen de su dominio, incluso cuando enruta entre muchos proveedores.

¿Admite TrueFoundry MCP y agentes de IA en general?

Sí. Incluye un MCP Gateway, un Agent Gateway y un MCP & Agents Registry con control de acceso a nivel de herramienta. Los agentes creados con LangGraph, CrewAI, AutoGen o un framework propio pueden gobernarse de forma centralizada.

¿Se integra con mi pila de observabilidad existente?

Sí. La pasarela es compatible con OpenTelemetry y se integra con Grafana, Datadog, Prometheus o tu pila preferida. Rastrea cada solicitud desde la instrucción (prompt) hasta la ejecución de la herramienta y el modelo, así obtienes un registro unificado sin tener que reemplazar lo que ya tienes en funcionamiento.

Realice un recorrido rápido por el producto
Comience el recorrido por el producto
Visita guiada por el producto