sql >> Databasteknik >  >> RDS >> Oracle

Bevilja skapa valfri utlösare kontra bevilja skapa utlösare

I de flesta fall är utlösarens ägare också ägaren till tabellen (eller vyn) som utlösaren är baserad på. I dessa fall kan tabellägaren med CREATE TRIGGER skapa skapa triggers på sin egen tabell.

SKAPA NÅGON TRIGGER låter användaren skapa en trigger som ägs av vilken användare som helst på vilket bord som helst. Det är ett stort säkerhetshål eftersom de kan skapa en trigger som ägs av en privilegierad användare på ett bord som de äger eller kan infoga i. Eftersom de kan infoga i den tabellen kan de tvinga utlösaren att köras och utlösaren körs med utlösarens ägares privilegier. Effekten är att en användare med CREATE ANY TRIGGER-behörighet kan skapa och exekvera kod som en privilegierad användare (liknande att ha SKAPA VILKA PROCEDUR plus UTFÖR VILKA PROCEDUR).

Begränsa till så få personer som möjligt och granska på lämpligt sätt.



  1. Implementera ett konfigurerbart sammanfogningssystem, säkert

  2. MySQLSyntaxErrorException nära ? när du försöker köra PreparedStatement

  3. Byt namn på vissa tabeller till Tabellnamn + DDMMYYYY

  4. Oracle-syntaxfel