Dokumentation / Sicherheit
Sichere Datenbank
Du entscheidest Verbindung für Verbindung, was der Agent in deiner Datenbank tun darf. Nichts wird ohne deine Freigabe geschrieben.
Jede Verbindung des Datenbank-Clients hat ihre eigene Zugriffsrichtlinie für den Agenten. Die IDE setzt sie bei jeder Anweisung durch; der Agent kann sie nicht ändern.
Die drei Stufen
Sie werden im Verbindungsdialog im Abschnitt Agentenzugriff konfiguriert.
| Stufe | Was der Agent sieht und tun darf |
|---|---|
| Kein Zugriff | Der Agent sieht diese Verbindung nicht. |
| Nur Abfragen (Standard) | Nur SELECT, mit Zeilenlimit. |
| Superrechte | Änderungen, die du auswählst – immer mit deiner Freigabe. |
Superrechte
Mit Superrechten legst du fest, welche Anweisungsklassen freigeschaltet werden:
| Kontrollkästchen | Anweisungen |
|---|---|
| Daten ändern | INSERT, UPDATE, DELETE, MERGE |
| Struktur ändern | CREATE, ALTER, DROP, TRUNCATE |
| Code ausführen | PL/SQL-Blöcke und Prozeduren |
Eine Anweisung aus einer nicht markierten Klasse wird abgelehnt: „Die Superrechte dieser Verbindung umfassen diese Art von Anweisung nicht.“
Jede Anweisung wird dir zur Freigabe angezeigt und niemals im unbeaufsichtigten Modus ausgeführt. Ist die Verbindung als schreibgeschützt markiert, hat das Vorrang vor jeder Berechtigung des Agenten.
So wird ein Schreibvorgang freigegeben
- Der Agent schlägt die Anweisung mit dem Tool
yuli_db_executevor. - Yuli prüft, ob die Verbindung Superrechte für diese Anweisungsklasse hat.
- Die Karte „Auf der Datenbank „Name“ ausführen“ erscheint mit der vollständigen Anweisung.
- Du gibst frei oder lehnst ab. Ohne deine Freigabe wird nichts ausgeführt.
Dasselbe gilt im Abo-Modus: Rufen Claude Code, Kiro, Codex oder Antigravity yuli_db_execute auf, erscheint die Karte in Yuli.
Grenzen der Agenten-Abfragen
| Grenze | Wert |
|---|---|
| Maximale Zeit pro Abfrage | 45 Sekunden |
| Zeilen pro Abfrage | Standardmäßig 100, bis zu 1000 (Max. Zeilen pro Abfrage) |
| Teure Ausführungspläne | Abgelehnt wird eine Abfrage, deren Plan schätzungsweise mehr als 2 Millionen Zeilen unter einer Sortierung, Aggregation, einem Join oder DISTINCT durchläuft. |
Yuli umschließt jede Abfrage je nach Engine mit ROWNUM, TOP oder LIMIT, damit das Zeilenlimit immer eingehalten wird.
Die SQL-Konsole, die du selbst nutzt, hat eigene Grenzen: standardmäßig 500 Zeilen, bis zu 100.000.
Keine Abkürzungen über das Terminal
Der Agent kann keine Kommandozeilen-Datenbankclients nutzen (sqlplus, sqlcl, sqlcmd, bcp, sqlite3, psql, mysql, mariadb, mongo, mongosh, isql, db2, impdp, expdp, rman und ähnliche). So umgeht niemand die Zugriffsrichtlinie.
Passwörter
Das Passwort jeder Verbindung wird im Schlüsselbund des Systems gespeichert, nie im Projekt. Die Zugriffsrichtlinie des Agenten liegt in deiner Benutzerkonfiguration außerhalb des Projekts – ein Repository kann sich also nicht selbst Berechtigungen erteilen.
Bewährte Vorgehensweisen
- Belasse Verbindungen zu gemeinsam genutzten Umgebungen auf Nur Abfragen.
- Nutze Superrechte nur für deine lokale oder Entwicklungsdatenbank und nur mit den Anweisungsklassen, die du brauchst.
- Markiere Verbindungen zur Produktion als schreibgeschützt.
- Um PL/SQL-Code zu erklären oder zu debuggen, muss der Agent nicht schreiben: Es genügt, das Schema und den Quellcode zu lesen.