RUOLI - PRIVILEGI
-- Query individuazione dei ruoli
select * from dba_roles
select * from dba_users where username like upper('%&username%')
-- Query ruoli associati ad un utente
select * from dba_role_privs
where upper (grantee) like upper('%&username%');
Grantee è il nome dell'utente che riceve le grant
-- Query privilegi di sistema associat ai ruoli
select * from DBA_SYS_PRIVS
Grantee è il nome dell'utente che riceve le grant
-- Query privilegi di sistema associat ai ruoli
select * from DBA_SYS_PRIVS
where upper (grantee) in ( 'ROLE_OWNER_SCHEMA', 'ROLE_READ_ONLY','ROLE_READ_WRITE')
SELECT * FROM ROLE_SYS_PRIVS
where lower(role) in ('role_manager','role_submanager');
-- Query privilegi sugli oggetti associat ai ruoli
select * from role_tab_privs
-- Query privilegi sugli oggetti associat ai ruoli
select * from role_tab_privs
where role like 'R_FISC2020_ALL%'
Grantee è il nome dell'utente che riceve le grant
SELECT A.GRANTEE AS UTENTE,
A.GRANTED_ROLE AS RUOLO,
B.PRIVILEGE AS PRIVILEGIO,
B.ADMIN_OPTION
FROM DBA_ROLE_PRIVS A, DBA_SYS_PRIVS B
WHERE upper(A.GRANTEE) LIKE upper ('%&USERNAME%')
AND upper (A.GRANTED_ROLE) = upper (B.GRANTEE)
ORDER BY 1
-- Query oggetti associat ai ruoli
select * from dba_tab_privs
select * from dba_tab_privs
where granteee like 'R_FISC2020_ALL%'
Grantee è il nome dell'utente che riceve le grant
SELECT A.GRANTEE AS UTENTE,
A.GRANTED_ROLE AS RUOLO,
B.PRIVILEGE AS PRIVILEGIO,
B.ADMIN_OPTION
FROM DBA_ROLE_PRIVS A, DBA_SYS_PRIVS B
WHERE upper(A.GRANTEE) LIKE upper ('%&USERNAME%')
AND upper (A.GRANTED_ROLE) = upper (B.GRANTEE)
ORDER BY 1
grant CREATE SESSION TO equivale a grant CONNECT to
grant RESOURCE to --> grant UNLIMITED TABLESPACE to
Non va bene questa grant per un utente perché concede il privilegio di unlimited tablespace cioè la possibilità di
creare una tabella su un qualsiasi tablespace e popolarla.
select * from dba_sys_privs where PRIVILEGE = 'UNLIMITED TABLESPACE';
Invece grant CREATE TABLE permette di creare una tabella su un altro tablespace ma non di popolarla.
Ad esempio se si effettua una insert compare il messaggio:
ORA-01950: nessun privilegio su tablespace 'TSDAD'
Query individuazione privilegi associati a RESOURCE.
select *--privilege
from dba_sys_privs
where grantee = 'RESOURCE'