새싹 DBA/Oracle

select_catalog_role 과 select any dictionary 차이

LIMMI 2024. 8. 6. 15:21

select_catalog_role , select any dictionary 차이

select_catalog_role 을 dba_sys_privs, dba_role_privs 해도 안나오는거임 ㅠㅠ 

 

일단 젤 중요한거

 

SELECT_CATALOG_ROLE 은 롤이다.

SELECT ANY DICTIONARY 는 시스템권한 system privilege 이다. 

 

select_catalog_role 에는 hs_admin_select_role 이라는 롤이 한번 더 부여되있고

dba_tab_privs 뷰에서 grantee = hs_admin_select_role 을 조회해보면 sys 가 가지고 있는 object 를 조회할 수 있는 select 권한이 object 딴에 부여되어있다. (롤에 시스템 권한을 부여하는 것이 아님)

 

select any dictionary 시스템 권한이 좀더 직접적이고 파워있다고 생각하면 될 듯 .

 

어디서는  select any dictionary 는 dba_, v$ 등의 sys 딴의 테이블, 뷰를 조회할수있다고 되어있고

select_catalog_role 은 dba_, v$ 등의 뷰를 (테이블 제외) 조회할 수 있는 차이가 있다고 되어있다. 

 

개발자들에게 select any dictionary 보다는 select_catalog_role 을 주는게 리스크가 덜하지 않을까라는 생각이 든다.