Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Grant utwórz dowolny wyzwalacz vs grant Utwórz wyzwalacz

W większości przypadków właściciel wyzwalacza jest również właścicielem tabeli (lub widoku), na którym jest oparty wyzwalacz. W takich przypadkach właściciel tabeli za pomocą CREATE TRIGGER może tworzyć wyzwalacze we własnej tabeli.

CREATE ANY TRIGGER umożliwia użytkownikowi utworzenie wyzwalacza należącego do dowolnego użytkownika w dowolnej tabeli. Jest to duża luka w zabezpieczeniach, ponieważ mogą utworzyć wyzwalacz należący do uprzywilejowanego użytkownika w tabeli, której są właścicielami lub do której mogą wstawić. Ponieważ mogą wstawić do tej tabeli, mogą wymusić wykonanie wyzwalacza, a wyzwalacz zostanie wykonany z uprawnieniami właściciela wyzwalacza. W efekcie użytkownik z uprawnieniem CREATE ANY TRIGGER może tworzyć i wykonywać kod jako uprzywilejowany użytkownik (podobnie do CREATE ANY PROCEDURE plus EXECUTE ANY PROCEDURE).

Ogranicz do jak najmniejszej liczby osób i odpowiednio kontroluj.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zagnieżdżony kursor w kursorze

  2. Jak sprawdzić, czy istnieje procedura składowana?

  3. Powiadomienie o zmianie bazy danych Oracle

  4. SQL*Plus jak zaakceptować zmienną tekstową z monitu?

  5. Ocena zmiennych logicznych PL/SQL w Oracle Forms