Oracle 권한 때문에 애먹고 있는 시즌인가 봅니다.
Oracle 11gR2 로 진행중입니다.
아래는 현재 발생되고 있는 에러 케이스 입니다.
Case1 에서 에러가 발생하고 있으며, Case2 에서는 정상적으로 조회가 되고 있습니다.
결론적으로 service1 계정에 "SELECT ANY TABLE" 권한을 주면 조회가 되긴 합니다.
그러나 보안상 저 권한을 주기가 애매한 상황입니다.
도대체 왜 이런 상황이 벌어지는건지, 다른 방법은 없는건지 궁금합니다. (이게... View에만 국한되는건지도 의문스럽네요)
고수님들 한수 부탁드립니다.
1. 계정 : dba1(DBA 계정) / service1(service 계정) / Application 별 계정 존재
2. Case 1
- App1 이라는 스키마에 App1.A, App1.B 테이블 존재
- App2 라는 스키마는 App1.A, App1.B 테이블을 조회하는 App2.view1 View 생성
- service1 계정은 App1.A, App1.B, App2.view1 에 select, insert, update, delete 권한 부여 받음
- service1 계정으로 App2.view1 조회시 ora 00990 발생
3. Case 2
- App1 이라는 스키마에 App1.A, App1.B 테이블 존재
- App1 라는 스키마는 App1.A, App1.B 테이블을 조회하는 App1.view1 View 생성
- service1 계정은 App1.A, App1.B, App1.view1 에 select, insert, update, delete 권한 부여 받음
- service1 계정으로 App1.view1 조회시 조회 성공
|