Documentación / Seguridad
Base de datos segura
Tú decides, conexión por conexión, qué puede hacer el agente en tu base de datos. Nada escribe sin tu aprobación.
Cada conexión del cliente de base de datos tiene su propia política de acceso para el agente. La aplica el IDE en cada sentencia; el agente no la puede cambiar.
Los tres niveles
Se configuran en el diálogo de la conexión, sección Acceso del agente.
| Nivel | Qué ve y qué puede hacer el agente |
|---|---|
| Sin acceso | El agente no ve esta conexión. |
| Solo consultas (por defecto) | Solo SELECT, con límite de filas. |
| Super permisos | Cambios que tú eliges, siempre con tu aprobación. |
Super permisos
Con Super permisos marcas qué clases de sentencia se habilitan:
| Casilla | Sentencias |
|---|---|
| Modificar datos | INSERT, UPDATE, DELETE, MERGE |
| Cambiar estructura | CREATE, ALTER, DROP, TRUNCATE |
| Ejecutar código | Bloques PL/SQL y procedimientos |
Una sentencia de una clase no marcada se rechaza: «Los super permisos de esta conexión no incluyen este tipo de sentencia.»
Cada sentencia se te muestra para aprobarla y nunca se ejecuta en modo desatendido. Si la conexión está marcada como de solo lectura, eso manda sobre cualquier permiso del agente.
Cómo se aprueba una escritura
- El agente propone la sentencia con la herramienta
yuli_db_execute. - Yuli comprueba que la conexión tiene Super permisos para esa clase de sentencia.
- Aparece la tarjeta «Ejecutar en la base de datos «nombre»» con la sentencia completa.
- Tú apruebas o rechazas. Sin tu aprobación no se ejecuta nada.
Lo mismo rige en Modo suscripción: si Claude Code, Kiro, Codex o Antigravity llaman a yuli_db_execute, la tarjeta aparece en Yuli.
Límites de las consultas del agente
| Límite | Valor |
|---|---|
| Tiempo máximo por consulta | 45 segundos |
| Filas por consulta | 100 por defecto, hasta 1000 (Máximo de filas por consulta) |
| Planes de ejecución costosos | Se rechaza una consulta cuyo plan estima recorrer más de 2 millones de filas bajo un orden, agregación, join o DISTINCT. |
Yuli envuelve cada consulta con ROWNUM, TOP o LIMIT según el motor, para que el límite de filas se cumpla siempre.
La consola SQL que usas tú tiene sus propios límites: 500 filas por defecto, hasta 100.000.
Sin atajos por la terminal
El agente no puede usar clientes de base de datos por línea de comandos (sqlplus, sqlcl, sqlcmd, bcp, sqlite3, psql, mysql, mariadb, mongo, mongosh, isql, db2, impdp, expdp, rman y similares). Así nadie se salta la política de acceso.
Contraseñas
La contraseña de cada conexión se guarda en el llavero del sistema, nunca en el proyecto. La política de acceso del agente se guarda en tu configuración de usuario, fuera del proyecto, así que un repositorio no puede darse permisos a sí mismo.
Buenas prácticas
- Deja Solo consultas en las conexiones a entornos compartidos.
- Usa Super permisos solo en tu base local o de desarrollo, y solo con las clases de sentencia que necesitas.
- Marca como solo lectura las conexiones a producción.
- Para explicar o depurar código PL/SQL, el agente no necesita escribir: le basta con leer el esquema y el código fuente.