안녕하세요 오라클 기본 제공 테이블 관련 문의드립니다. 0 2 2,286

by 최재영 권한 테이블 조회 [2015.05.26 11:40:13]


안녕하세요 질문이 하나 있습니다.

오라클에서 일반 유저들에게 기본적으로 제공하는 테이블 들이 몇개있습니다.

예를 들어 dba_tables 같은 것듯인데요.

일반 유저에게 connect 권한을 부여하면,  저 위의 기본 제공 테이블들이 조회가 됩니다.

이를 제한하는 방법이 있을까요?

 

요약하자면 a라는 계정을 생성하고, connect 권한을 부여한뒤,

어떤 방법을 이용해 select * from all_tables 조회가 안되게 하는 방법을 찾고 있습니다.

혹시 아시는 분이 계시다면 조언 부탁드립니다.

by 아발란체 [2015.05.26 13:32:29]

REVOKE ALL ON ALL_TALBES FROM [계정명];


by 미스틱매니아 [2015.05.27 17:31:10]

방법은 위에 있지만 조금 조심해야 할 부분이 있어서 댓글 추가합니다.

1. DBA_XXXX는 일반유저에게 일반적으로 안보이는 뷰입니다. DBA권한이나 SELECT ANY DICTIONRY 같은게 부여되어 있는게 아닌지 확인이 필요합니다.

2. ALL_XXXX는 해당 뷰를 조회하는 유저가 자신이 가진 권한으로 조회할수 있는 오브젝트들의 정보를 보여주는 뷰입니다. 굳이 조회 못하게 막을 필요가 없습니다. 이미 권한을 가지고 있는 오브젝트에 대한 정보니까요.

ex) ALL_TABLES = 해당 유저가 SELECT 등의 권한을 가진 모든 테이블 정보 조회

3.USER_XXXX는 자신이 소유자인 오브젝트 정보를 보여줍니다. 이건 당연히 조회해서 문제가 될리가 없는 뷰입니다.

요약하면 DBA는 일반 유저에게 원래 안보이는게 정상이고, ALL이나 USER는 당연히 조회할수 있어야 하는 부분입니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입