2. 11. 2016

Oracle - zapĺňanie auditu (chybný synonym vs granty)

Po nasadení dodávky na oracle databázu sa nadmerne rýchlo začal zapĺňať audit kôli aplikačnému serveru. Najskôr pozrieme najpočetnejšie výskyty (zdroj problému zapĺňania) a potom podľa podmienky (u mňa login, teda userid) vyhľadáme takýto auditný záznam:

select userid, userhost, count(0)
from aud$
group by userid, userhost
order by 3;

select * from sys.aud$ where userid = 'S_OPER';


V riadku sa nachádzajú rôzne údaje pre identifikáciu problému:
action# - číslo "akcie", treba pozrieť v číselníku, u mňa to bol 3=select
returncode - pozrieť kód chyby buď v google alebo klientovi v oracle home
sqltext - sql kód, ktorý vyvolal auditný záznam

-- stlpec action# pozriem v ciselniku
select * from audit_actions

-- returncode (u mna 2004), pozriem v ora home na serveri:
oracle:(11.2.0.4)DB11204> oerr ora 2004
02004, 00000, "security violation"
// *Cause:  This error code is never returned to a user.   It is used
//          as a value for column, audit_trail.returncode, to signal that a
//          security violation occurred.
// *Action:  None.

Teraz možno skúsiť spustiť daný príkaz (zo stĺpca sqltext) pod daným používateľom zo stĺpca userid, mal by zahlásiť chybu. U mňa nastala situácia, keď omylom presmerovali public synonymom select z tabuľky na inú schému a do nej nemal používateľ granty.

Žiadne komentáre:

Zverejnenie komentára