Capítulo 7 — Fundamentos de identidad y acceso
Mapa de la lección
Lección 07 publicada. Mapa, ejemplo, EX019.
flowchart TD
N0["Resultados de aprendizaje"]
N1["7.1 Las tres A"]
N2["7.2 Identidades de los agentes"]
N3["7.3 Mínimo privilegio para las herramientas"]
N4["7.4 Auditoría"]
N5["7.4b Confirmación humana"]
N6["Síntesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX019"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje"]
N1["7.1 Las tres A"]
N2["7.2 Identidades de los agentes"]
N3["7.3 Mínimo privilegio para las herramientas"]
N4["7.4 Auditoría"]
N5["7.4b Confirmación humana"]
N6["Síntesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX019"]
[Resultados de aprendizaje]
|
v
[7.1 Las tres A]
|
v
[7.2 Identidades de los agentes]
|
v
[7.3 Mínimo privilegio para las herramientas]
|
v
[7.4 Auditoría]
|
v
[7.4b Confirmación humana]
|
v
[Síntesis]
|
v
[Ejemplo resuelto] --> [Ejercicio EX019]
Resultados de aprendizaje
Usted podrá (1) explicar la autenticación, la autorización y la contabilidad; (2) diseñar identidades para los agentes de IA y sus herramientas; (3) aplicar el mínimo privilegio y el acceso delegado; y (4) auditar las acciones de los agentes.
7.1 Las tres A
La autenticación demuestra quién es usted; la autorización decide qué puede hacer; la contabilidad registra lo que hizo. Los agentes de IA necesitan las tres, porque actúan en nombre de personas. En Ask Brightwell, la autenticación procede del inicio de sesión del cliente, la autorización son los alcances del token delegado más las comprobaciones de los servicios de herramientas, y la contabilidad es el registro de cada llamada a herramientas con el usuario en cuyo nombre actuó. Si falta una, una llamada de devolución no puede atribuirse a una persona ni contrastarse con sus derechos. Cada una de las tres tiene su propio control en capítulos posteriores.
7.2 Identidades de los agentes
Un error habitual es dar al agente una única cuenta de servicio poderosa. Entonces, cualquier usuario que pueda dirigir al agente —directamente o mediante texto inyectado— obtiene el poder de esa cuenta: el «agente confundido» (confused deputy). Es mejor que el agente actúe con un token delegado por el usuario que ha iniciado sesión, limitado a los alcances necesarios para la tarea y que caduque pronto. La herramienta de pedidos de Ask Brightwell mostró el coste del primer enfoque: aceptaba cualquier número de pedido, de modo que un cliente podía pedir el pedido de otra persona. Las herramientas de Ask Brightwell usan ahora tokens delegados.
7.3 Mínimo privilegio para las herramientas
Cada herramienta debe hacer una sola cosa acotada: «consultar mi pedido» en lugar de «consultar la base de datos». Valide los parámetros frente a la identidad del usuario en el servicio de la herramienta, no en el prompt: la herramienta de devoluciones comprueba que el pedido pertenece a quien llama. En Ask Brightwell, la herramienta de pedidos lee ahora el identificador de usuario del token delegado, así que ninguna redacción de la petición puede hacer que obtenga el pedido de otra persona. La herramienta de devoluciones realiza la misma comprobación de titularidad antes de iniciar cualquier devolución. Una instrucción en el prompt como «consulta solo los pedidos del propio usuario» estaría a una inyección de fallar.
7.4 Auditoría
Registre quién pidió, qué propuso el agente, qué herramienta se ejecutó, con qué parámetros y el resultado. Guarde los registros donde el agente no pueda alterarlos. Revise las acciones inusuales, como devoluciones iniciadas para pedidos que el usuario no hizo. Ask Brightwell escribe estos registros en un almacén al que el orquestador puede añadir entradas pero no modificarlas, de modo que un orquestador comprometido no puede ocultar lo que hizo. Una revisión semanal busca devoluciones de pedidos que no hizo el usuario que ha iniciado sesión, que es el patrón que dejaría una inyección con éxito.
7.4b Confirmación humana
Para las acciones con consecuencias, como iniciar una devolución o cambiar una dirección, muestre al usuario lo que va a ocurrir y pídale que lo confirme. Construya la pantalla de confirmación a partir de la acción estructurada, no del texto que escribió el modelo, porque un texto inyectado puede hacer que una acción dañina parezca inofensiva. La confirmación de devoluciones de Ask Brightwell muestra el número de pedido, el artículo y el importe del reembolso tomados del registro del pedido, no la descripción que de ellos hace el modelo. Si un texto plantado intenta describir la devolución de un artículo caro como una pequeña, la confirmación sigue mostrando los valores reales de la base de datos.
7.5 Ejemplo resuelto (caso sintético de Brightwell)
La herramienta de pedidos de Ask Brightwell aceptaba cualquier número de pedido. Jonas, en preproducción, pide «muestra el pedido 100245» con la sesión iniciada como otro cliente de prueba, y obtiene la dirección de otro cliente. La corrección: el servicio de la herramienta lee el identificador de usuario del token delegado y devuelve solo los pedidos de ese usuario. Escribe una prueba que falla si tiene éxito cualquier consulta entre usuarios distintos. La prueba convierte un hallazgo puntual en un control duradero: cualquier cambio futuro que debilite la comprobación de titularidad hace fallar la compilación. Como la comprobación está en el servicio de la herramienta, se mantiene sea lo que sea lo que se persuada al modelo de pedir.
7.6 Errores y límites
- Una sola cuenta de servicio para todas las acciones del agente.
- Comprobaciones de titularidad hechas por el modelo.
- Registros que el agente puede modificar.
El hallazgo de la herramienta de pedidos mostró el segundo error en la práctica: se confiaba en que el modelo pasara solo los números de pedido del propio usuario. Ask Brightwell usa ahora tokens delegados en lugar de una sola cuenta de servicio, comprueba la titularidad en el servicio de la herramienta y escribe registros que el agente no puede modificar. Estas tres correcciones juntas hacen que un modelo persuadido no pueda actuar más allá de los derechos del usuario que ha iniciado sesión. Cada corrección tiene una prueba unitaria que falla si se deshace.
Ejercicios
- EX019 — Las tres A. Aplique la autenticación, la autorización y la contabilidad a la herramienta de devoluciones. Rúbrica: 3 = las tres concretas; 2 = dos; 1 = una; 0 = ninguna.
- EX020 — Agente confundido. Explique en dos frases el riesgo del agente confundido. Rúbrica: 3 = la autoridad del agente usada por un solicitante con menos privilegios, mediante dirección; 2 = parcial; 1 = vago; 0 = erróneo.
- EX021 — Prueba. Escriba un caso de prueba para la consulta de pedidos entre usuarios distintos. Rúbrica: 3 = preparación, acción, denegación esperada, comprobación del registro; 2 = tres; 1 = vago; 0 = ninguno.
Síntesis
Los agentes deben actuar con los derechos delegados, acotados y de corta duración del usuario, con comprobaciones en los servicios de herramientas y registros resistentes a la manipulación.
Siga estudiando — capítulo 07 de 30
← Capítulo 06 (borrador) · Índice de capítulos del curso · Capítulo 08 (borrador) →