Die Security Policy ist eine serverseitig durchgesetzte Laufzeitrichtlinie, keine Empfehlung dafür, was ein Agent freiwillig tun sollte. Die aktuelle Richtlinie wird von Query-/DML-Ausführung und Laufzeit-Limitern verwendet.
Felder in 2.0.2
| Feld | Standard | Gültiger Bereich / Bedeutung |
|---|---|---|
QueryMaxRows | 1000 | 1–100.000 |
QueryTimeoutSeconds | 30 | 1–600 Sekunden |
RequireWhereForUpdate | true | Prädikat für UPDATE verlangen |
RequireWhereForDelete | true | Prädikat für DELETE verlangen |
AllowFullTableUpdate | false | explizite Freigabe für UPDATE der gesamten Tabelle |
AllowFullTableDelete | false | explizite Freigabe für DELETE der gesamten Tabelle |
DmlMaxAffectedRows | 100 | 1–1.000.000 |
KeyPermitLimit | 120 | 1–1.000.000 Anfragen pro konfiguriertem Schlüssel-Zeitfenster |
KeyWindowSeconds | 60 | 1–86.400 Sekunden |
MaxConcurrentSql | 16 | 1–10.000 parallele SQL-Operationen |
Werte außerhalb dieser Grenzen werden abgelehnt und nicht stillschweigend in eine andere Richtlinie umgerechnet.
Admin-Autorisierung
| Operation | Berechtigung |
|---|---|
| aktuelle Richtlinie lesen | /runtime/security → view |
| Richtlinie aktualisieren | /runtime/security → edit |
Ein Update schreibt ein Audit-Ereignis und ersetzt den Laufzeitzustand der Richtlinie sofort. Die Änderung wird außerdem über den konfigurierten Provider für Security-Policy-Synchronisierung veröffentlicht, damit sie in verteilten Deployments zwischen Instanzen propagiert werden kann.
Query-Limits
QueryMaxRows begrenzt die Ausgabe über Compiler- und Laufzeitregeln. QueryTimeoutSeconds definiert den Timeout-Vertrag der Query-Ausführung. Beides wird serverseitig durchgesetzt und hängt nicht davon ab, dass der Client selbst LIMIT oder Cancellation korrekt verwendet.
Prädikate für UPDATE und DELETE
Standardmäßig verlangt die Richtlinie Prädikate für UPDATE und DELETE und verbietet Änderungen an der gesamten Tabelle.
Die Freigabe einer Full-Table-Änderung ist explizit: RequireWhereForUpdate=false allein drückt nicht dieselbe Absicht aus wie AllowFullTableUpdate=true. Behalten Sie die konservativen Standardwerte bei, solange ein realer Betriebsablauf keine breite Mutation erfordert.
Begrenzung betroffener DML-Zeilen
DmlMaxAffectedRows begrenzt die Auswirkung einer Mutation. Diese Grenze ergänzt das Safe-DML-Freigabeprotokoll, ersetzt es aber nicht. Eine Mutation muss weiterhin erfolgreich geparst, validiert und kompiliert werden und über MCP zusätzlich Freigabe und Revalidierung vor dem Commit durchlaufen.
Siehe Safe DML.
Rate Limits für MCP-Schlüssel
Die Security Policy liefert Standardwerte für Permit Limit und Zeitfenster pro Schlüssel. Einzelne MCP-Schlüssel können:
- die Richtlinie erben,
- einen eigenen Override verwenden oder
- explizit unbegrenzt sein.
Siehe MCP-Schlüssel.
SQL-Parallelität
MaxConcurrentSql begrenzt parallele SQL-Operationen der Laufzeit. Ob dieses Limit pro Prozess oder über mehrere Instanzen hinweg gilt, hängt vom konfigurierten SQL-Concurrency-Provider ab.
In einem Cluster sollte der verteilte Provider verwendet werden, wenn das Limit für das gesamte Deployment statt für jeden Knoten einzeln gelten muss.