Abfrage-ACLs
Mit Abfrage-ACLs können Sie eine präzisere Zugriffssteuerung definieren, indem Sie explizit festlegen, wer die Daten abfragen kann.
Was ist eine Abfrage-ACL?
Bei Abfrage-ACLs wird der Vorgang entweder auf „query_range“ oder „query_match“ festgelegt. Abfrage-ACLs ermöglichen eine spezifischere Kontrolle von Anwenderabfragen und schränken oder ermöglichen den Zugriff basierend auf ihrem Setup. Abfrage-ACLs sind leistungsstarke Tools gegen Blind-Query-Angriffe, , bei denen ein Angreifer die Daten blind abfragt, um Informationen aus den Ergebnissen zu extrahieren, auch wenn er die Werte nicht sehen kann.
Wann eine Abfrage-ACL verwendet werden soll
Immer wenn eine Spalte vertrauliche Werte enthält und teilweisen/bedingten Zugriff auf Daten ermöglicht, sollte eine Abfrage-ACL berücksichtigt und nach Bedarf basierend auf der Vertraulichkeit der Daten implementiert werden. Überall dort, wo ein teilweiser/bedingter Zugriff auf Zeilen und ihre Spalten in Tabellen besteht, insbesondere wenn dieser Zugriff nicht durch Datenfilter erzwungen wird, sollten Abfrage-ACLs nach Bedarf basierend auf der Vertraulichkeit der Daten implementiert werden.
Abfragesteuerelement für die Gehaltsabrechnung
Ich kann eine Zeile in der Gehaltsabrechnungstabelle mit meinem Gehalt sehen, aber es gibt keinen Grund für mich, Bereichsabfragen zu stellen, um Benutzer mit einem Gehalt innerhalb von 2 Grenzen abzufragen. Eine„query_range“-ACL für das Gehalt würde verhindern, dass ich diese Abfrage stellen kann.Steuerelement für HR-Abfragen
Ich kann alle hr_profiles sehen, aber nur die Sozialversicherungsnummer für mich. Ich habe keine geschäftlichen Abfragen der Sozialversicherungsnummer, und Abfrage-ACLs sollten verhindern, dass ich Abfragen der Sozialversicherungsnummer anderer HR-Profile ausführen kann, um zu versuchen, Sozialversicherungszuordnungen zu extrahieren.
ACL-Verhalten abfragen
query_match“ und „query_range“, um ein sicheres und granulares Tabellenabfrageverhalten zu gewährleisten. Ihr Verhalten wird im Folgenden beschrieben:Abfrage_Übereinstimmung-
Woraus besteht „
query_match“: EQUALS, NOT_EQUALS, IN, NOT_IN, SAMEAS, NSAMEAS, ANYTHING, ISAMPTYSTRING, ISAMPTY, ISNOTEMPTY, ISNULL, ISNOTNULL „query_match“ besteht aus den „sicheren Operatoren“ in dem Sinne, dass sie zum Abrufen bestimmter Datensätze erstellt werden und nicht zur Rückgabe anderer Datensätze ausgenutzt werden können.Auswertungsergebnis Ergebnis Bestanden Der Benutzer kann Übereinstimmungsabfragen übermitteln Fehlgeschlagen Anwender kann keine Übereinstimmungsabfragen übermitteln: - GLEICH
- NOT_GLEICH
- IN
- NOT_IN
- SAMEAS
- NSAMEAS
- ALLES
- ISTLEERSTRING
- IST leer
- ISNOTEMPTY
- ISNULL
- ISNOTNULL
query_range-
„query_range“besteht aus allen anderen (STARTS_WITH, CONTAINS, >=, <= usw.), die gefährlicher sind, da sie es Benutzern ermöglichen, durch Anpassen der Grenzwerte weitere Datensätze abzufragen.Auswertungsergebnis Ergebnis Bestanden Anwender können Bereichsabfragen übermitteln, und die Sortierung ist unbeschränkt Fehlgeschlagen Der Anwender kann keine Bereichsabfragen mit (STARTS_WITH, CONTAINS, >=, <= usw.) übermitteln. Das Sortieren nach Spalte ist eingeschränkt
Abfrage-ACLs (query_match und query_range) sind standardmäßig auf eine Star-Stern-ACL festgelegt, die den Lesezugriff delegiert. Dies bedeutet, dass, wenn ACLs für Abfragen erzwungen werden, der Lesezugriff auf die Spalte ausgewertet wird, wenn keine Abfrage-ACL erstellt wurde. Wenn Abfrage-ACLs definiert sind, überschreiben sie das Standardverhalten.