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

  1. Der Agent schlägt die Anweisung mit dem Tool yuli_db_execute vor.
  2. Yuli prüft, ob die Verbindung Superrechte für diese Anweisungsklasse hat.
  3. Die Karte „Auf der Datenbank „Name“ ausführen“ erscheint mit der vollständigen Anweisung.
  4. 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.