feat: ACL admin-only para father-bot via grupo privileged
Reestructura los grupos de seguridad para soportar agentes privilegiados: - Nuevo grupo 'privileged' con father-bot (solo admins) - Reemplaza grupo 'all' (wildcard) con 'general' (lista explicita) para evitar que el ACL union otorgue permisos de everyone a father-bot - Documenta en YAML que el ACL es acumulativo y por que privileged y general deben ser mutuamente excluyentes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,23 @@
|
|||||||
# Grupos de agentes del sistema
|
# Grupos de agentes del sistema
|
||||||
# Agents: lista de agent IDs (del campo agent.id en config.yaml), o "*" para todos
|
# Agents: lista de agent IDs (del campo agent.id en config.yaml), o "*" para todos
|
||||||
|
# Grupos de agentes del sistema
|
||||||
|
# Agents: lista de agent IDs (del campo agent.id en config.yaml), o "*" para todos
|
||||||
|
#
|
||||||
|
# IMPORTANTE: no usar "*" en grupos que se asignan a permisos amplios si existen
|
||||||
|
# agentes privilegiados. El ACL es union: si un agente aparece en dos grupos,
|
||||||
|
# recibe los permisos de ambos. Usar "general" para agentes de acceso abierto.
|
||||||
groups:
|
groups:
|
||||||
assistants:
|
assistants:
|
||||||
agents:
|
agents:
|
||||||
- assistant-bot
|
- assistant-bot
|
||||||
- asistente-2
|
- asistente-2
|
||||||
all:
|
privileged:
|
||||||
agents: ["*"]
|
agents:
|
||||||
|
- father-bot
|
||||||
|
general:
|
||||||
|
agents:
|
||||||
|
- assistant-bot
|
||||||
|
- asistente-2
|
||||||
|
- meteorologo
|
||||||
|
- test-personality
|
||||||
|
- test-bot
|
||||||
|
|||||||
@@ -1,7 +1,18 @@
|
|||||||
# Políticas de permisos: para cada grupo de agentes, qué acciones tiene cada grupo de usuarios
|
# Políticas de permisos: para cada grupo de agentes, qué acciones tiene cada grupo de usuarios
|
||||||
# Actions: "*" = todo, "ask" = chat libre, "command:<name>" = comandos, "tool:<name>" = tools
|
# Actions: "*" = todo, "ask" = chat libre, "command:<name>" = comandos, "tool:<name>" = tools
|
||||||
|
# Politicas de permisos: para cada grupo de agentes, que acciones tiene cada grupo de usuarios
|
||||||
|
# Actions: "*" = todo, "ask" = chat libre, "command:<name>" = comandos, "tool:<name>" = tools
|
||||||
|
#
|
||||||
|
# IMPORTANTE: el ACL es union (acumulativo). Si un agente aparece en multiples grupos,
|
||||||
|
# recibe los permisos de TODOS. Por eso "privileged" y "general" son mutuamente excluyentes.
|
||||||
policies:
|
policies:
|
||||||
- agent_group: all
|
# Agentes privilegiados (father-bot): solo admins
|
||||||
|
- agent_group: privileged
|
||||||
|
permissions:
|
||||||
|
- user_group: admins
|
||||||
|
actions: ["*"]
|
||||||
|
# Agentes generales: acceso abierto a todos
|
||||||
|
- agent_group: general
|
||||||
permissions:
|
permissions:
|
||||||
- user_group: admins
|
- user_group: admins
|
||||||
actions: ["*"]
|
actions: ["*"]
|
||||||
|
|||||||
Reference in New Issue
Block a user