AN-04 L1 Nivel de conformidad: Authority Grupo: Autoridad
Capability Lease concesión de capacidad
Una autorización estrecha para una ejecución, con caducidad y presupuestos. Las concesiones hijas solo pueden ser más estrechas.
Una Capability Lease es una autorización para datos concretos y operaciones concretas, con una caducidad explícita y presupuestos. Se emite a una ejecución y es la única vía por la que una ejecución toca el NAS. Una concesión hija solo puede ser más estrecha que su padre.
El problema
RBAC y las ACL suponen usuarios estables con permisos amplios y duraderos. Un agente necesita permisos cortados a la medida de la tarea que dejan de valer cuando la tarea termina. Peor aún, las credenciales de larga duración suelen estar al alcance del agente: en el incidente de abril de 2026, el token estaba en un archivo sin relación, creado para gestionar dominios pero capaz de hacerlo todo.
Cómo funciona
- Quién tiene la clave. Las credenciales de larga duración se quedan con el orquestador o con el propietario; una ejecución recibe una concesión, no una clave. El modelo nunca ve una credencial de larga duración.
- Una concesión es un token de acceso. Su
authorization_details(RFC 9396) describe las rutas, las acciones y la rama; la solicita el propietario o el orquestador mediante intercambio de tokens (RFC 8693), la declaraciónactregistra la cadena de delegación, y el NAS guarda estado para la revocación y el recuento de presupuestos. - Solo estrechar. Una concesión hija debe ser un subconjunto de su padre, y el NAS lo comprueba al emitirla.
- Presupuestos. Bytes leídos y escritos, número de solicitudes y, opcionalmente, bytes de salida y un tope de gasto, contados en la pasarela. Son un cortacircuitos, no una facturación exacta.
- Sobre de políticas. El propietario fija un rango de antemano; las concesiones dentro de él se emiten de forma automática y todo lo que queda fuera pasa a una Human Gate. El acceso de larga duración se expresa como un sobre, no como una concesión de larga duración.
- B y C se declaran de forma explícita. Una concesión indica la sensibilidad más alta que puede leer y si puede escribir en árboles protegidos o enviar datos al exterior. Son entradas de las Trust Labels.
- Revocación. Un TTL corto (4 horas por defecto, 24 como máximo) más una revocación inmediata, que se propaga en cascada a las concesiones hijas.
- **
purposese registra, no se impone:** el texto libre no lo puede comprobar una máquina.
Empezar en pequeño
- Escribe un comando
nas lease create: para cada rol, emite un token con un prefijo de ruta, acciones y un TTL, entrégalo al sandbox en una variable de entorno y haz que el NAS imponga el prefijo y las acciones. - Esto ya detiene la primera mitad de ese tipo de incidente: el token no puede hacer nada fuera de la concesión.
- Los presupuestos, las cadenas de delegación y los sobres de políticas pueden venir después.
Esbozo de la interfaz
Solo ilustrativo. Los nombres de los campos pueden cambiar antes de la especificación v0.3.
{
"lease_id": "lse_7Qk3",
"run": "run_91ab",
"principal": "agt_cleo",
"on_behalf_of": "usr_wei",
"parent": null,
"purpose": "Draft the Q4 release notes",
"paths": ["/shared/launch/**", "/agents/cleo/workspace/**"],
"actions": ["read", "write", "propose"],
"branch": "cleo/run_91ab",
"sensitivity_max": "private",
"egress": false,
"requires_gate": ["merge", "delete", "share"],
"budgets": { "bytes_read": 200000000, "bytes_written": 5000000, "requests": 5000 },
"expires_at": "2026-11-12T16:00:00Z"
} Lo que pide la especificación
- Una concesión DEBE tener caducidad y NO DEBE renovarse más allá del TTL máximo; la renovación exige una nueva emisión.
- Una concesión hija DEBE ser un subconjunto de su padre, y el NAS DEBE verificarlo al emitirla.
- Revocar una concesión DEBE propagarse en cascada a todas sus concesiones hijas.
- El acceso de larga duración DEBE expresarse como un sobre de políticas y NO DEBE convertirse en una concesión de larga duración.
- Una concesión DEBE declarar su techo de sensibilidad y si permite la salida de datos y las escrituras protegidas.
- Las credenciales de larga duración NO DEBEN exponerse a un modelo ni a una ejecución.
Lo prestado y lo nuevo
Lo que sigue son todo piezas establecidas. Lo nuevo: tomar como unidad la forma de una ejecución y una tarea y poner la rama, los presupuestos y las propiedades de la Rule of Two en una sola concesión. Los tokens y los modelos de capacidades en sí no son nuevos.
- OAuth Token Exchange (RFC 8693)
- OAuth Rich Authorization Requests (RFC 9396)
- Biscuit
- UCAN
- IETF attenuating agent tokens draft
Límites honestos
- Solo cubre las operaciones dentro del NAS y no puede gobernar lo que hace un agente en otros sitios.
purposeno se puede imponer, y los presupuestos son aproximados.- Una concesión no puede evitar el uso indebido dentro de la autoridad legítima; de eso se encargan las ramas y las compuertas.
Preguntas abiertas
- ¿Cómo puede
purposepasar de texto libre a una intención estructurada que una máquina pueda comprobar? - ¿Cómo se contabilizan los presupuestos bajo federación?
Preguntas
¿En qué se diferencia una concesión de una clave de API?
Una clave de API es un secreto compartido de larga duración, y quien la tiene puede hacer lo que pueda hacer la cuenta. Una concesión está ligada a una ejecución, limita rutas, acciones y tiempo, y solo se puede estrechar; deja de funcionar al caducar y se puede revocar en cualquier momento.
¿Por qué no usar simplemente OAuth?
Es OAuth: una concesión es un token de acceso, solicitado mediante intercambio de tokens (RFC 8693) y descrito con rich authorization requests (RFC 9396). Agent NAS solo añade lo que OAuth no especifica: la ejecución como unidad, y poner la rama, los presupuestos y las propiedades de la Rule of Two en una sola autorización.
¿Qué le pasa a una ejecución cuando caduca su concesión?
El montaje pasa a solo lectura y después se desmonta; las nuevas solicitudes se rechazan y se registran. La rama se conserva hasta que caduca su propio TTL, de modo que el trabajo terminado no se pierde y todavía se puede fusionar tras la revisión.
Conceptos relacionados
- Human Gate (compuerta humana) Aparece solo antes de acciones irreversibles, hacia el exterior o que elevan privilegios, y muestra el diff real.
- Trust Labels (etiquetas de confianza) Dos etiquetas pequeñas más la contaminación de sesión hacen cumplir la Rule of Two.
- Flight Recorder (registrador de vuelo) Un registro por ejecución, encadenado por hashes, que incluye lo que la ejecución leyó.
Citar esta página
Direcciones estables y una cita sugerida para personas, buscadores y agentes.
- URL canónica
- https://agentnas.com/es/concepts/capability-lease/
- Versión en Markdown
- https://agentnas.com/es/concepts/capability-lease/index.md
- Cita sugerida
- Agent NAS project. “Capability Lease (concesión de capacidad).” agentnas.com, 2026-11-11. https://agentnas.com/es/concepts/capability-lease/