특정 테이블에 액세스하지만 동일한 사용자가 동일한 테이블에서 직접 쿼리를 수행하지 못하게하는 저장 프로 시저에 사용자 execute
을 부여하려고합니다.저장 프로 시저 테이블 보안
다음은 현재 모델입니다. 사용자 foo
은 저장 프로 시저의 소유자입니다. 필요한 모든 테이블에 대해 직접 선택, 삽입, 업데이트 및 삭제 권한이 있습니다. 저장 프로시 저는 AUTHID CURRENT_USER
으로 작성되었습니다. Foo
은 사용자 bar
에 대한 저장 프로 시저에 execute
을 부여합니다.
사용자 bar
은 위의 보조금을 통해 저장 프로 시저를 호출합니다. 의도적으로 저장 프로 시저의 소스 코드를 변경할 수있는 기능이 없습니다. 역할을 통해 필요한 테이블에 액세스 할 수 있습니다.
지금까지 제대로 작동합니다. 이제 우리는 새로운 요구 사항을 갖게되었습니다. 저장 프로 시저를 실행할 수 있지만 SQLPlus, JDBC, ODBC 등을 통해 테이블에 대해 직접 쿼리 할 수없는 새 사용자를 만들어야합니다.
이를 구현하는 확실한 방법은 없습니다. 모든 제안을 환영합니다.