Role 생성 및 권한부여에 대한 질문입니다. 0 2 1,142

by 1qaz2wsx [Oracle 기초] ROLE [2020.01.03 14:47:51]


USER99란 계정이 있는데

TEST 란 ROLE을 생성하고, 여기에 T1이란 함수 수행 권한을 부여 후, TEST ROLE을 USER99에 주고자합니다.

즉, USER99가 T1이란 함수를 수행할수있도록요

 

여기서 궁금한게 USER99는 SELECT ANY TABLE, SELECT ANY DICTIONARY 권한을 가지고 있는데

TEST ROLE에 함수 수행 권한만 주면 되는건가요? 아니면 함수에 사용되는 TABLE에 대한 SELECT 권한도 줘야하는 건가요 ?

 

답변부탁드립니다.

 

by 부쉬맨 [2020.01.03 16:36:37]

그렇게줘서 했던 기억이있는데, 함해보시고 에러 메시지 나오면 확인 해보시면 될듯합니다.

 


by 임상준 [2020.01.07 21:57:58]

일반적으로는 plsql object 는 생성자 권한으로 수행됩니다. 함수의 생성자가 자신이 만든 함수를 수행 할 수 있다면 롤로 권한 부여받은 계정도 함수를 수행할 수 있습니다. select any ~  권한이 없어도요.

다만 함수 생성 시 생성자가 아닌 호출자 권한으로 수행하도록 옵션을 명시적으로 줄 수 있습니다. 이 경우는 명시적으로 함수 안에 쓰이는 테이블 권한도 주어야합니다.

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