2010-02-11 2 views
0

데이터베이스에서 저장 프로 시저를 SELECT으로 제한 할 수 있습니까?저장 프로 시저 만 SELECT 작업 만 수행하도록 제한

올바로 실행할 데이터 만 선택하고 저장된 프로 시저를 UPDATE, CREATE, DELETE 조작으로 지정하여 권한이 충분하지 않다는 오류를 반환하고 싶습니다. 내가베이스 12.5

답변

1

을 사용하고

난 당신이 잘못된 방향으로 문제를보고있는 것 같아요. 기본적으로 사용자에게 저장 프로 시저에 대한 사용 권한을 부여하면 저장 프로 시저가 수행하는 작업과 관계없이 해당 저장 프로 시저를 실행할 수 있습니다.

"읽기 전용"클라이언트 역할을 데이터베이스에 할당하고 데이터베이스에서 데이터를 읽는 저장 프로 시저에 대해서만 SELECT 권한과 실행 권한을 부여하는 것이 좋다고 생각합니다. 데이터베이스에서 SELECT 액세스 권한을 부여하는 대신 사용자를 해당 역할에 추가하십시오.

+0

감사합니다. Jesse, 좋은 해결책 인 것 같습니다. – vaughan

0

별도의 작성 및 다른 절차로 작업 선택. 그런 다음 사용자가 절차 선택을 실행하고 사용자에게 선택 및 쓰기 절차를 실행하도록 허용 할 수 있습니다. 이 트릭은 PostgreSQL에서 잘 작동합니다.

+0

기존 sprocs를 수정할 수있는 옵션이 없습니다. – vaughan