데이터베이스에서 저장 프로 시저를 SELECT
으로 제한 할 수 있습니까?저장 프로 시저 만 SELECT 작업 만 수행하도록 제한
올바로 실행할 데이터 만 선택하고 저장된 프로 시저를 UPDATE
, CREATE
, DELETE
조작으로 지정하여 권한이 충분하지 않다는 오류를 반환하고 싶습니다. 내가베이스 12.5
데이터베이스에서 저장 프로 시저를 SELECT
으로 제한 할 수 있습니까?저장 프로 시저 만 SELECT 작업 만 수행하도록 제한
올바로 실행할 데이터 만 선택하고 저장된 프로 시저를 UPDATE
, CREATE
, DELETE
조작으로 지정하여 권한이 충분하지 않다는 오류를 반환하고 싶습니다. 내가베이스 12.5
을 사용하고
난 당신이 잘못된 방향으로 문제를보고있는 것 같아요. 기본적으로 사용자에게 저장 프로 시저에 대한 사용 권한을 부여하면 저장 프로 시저가 수행하는 작업과 관계없이 해당 저장 프로 시저를 실행할 수 있습니다.
"읽기 전용"클라이언트 역할을 데이터베이스에 할당하고 데이터베이스에서 데이터를 읽는 저장 프로 시저에 대해서만 SELECT 권한과 실행 권한을 부여하는 것이 좋다고 생각합니다. 데이터베이스에서 SELECT 액세스 권한을 부여하는 대신 사용자를 해당 역할에 추가하십시오.
별도의 작성 및 다른 절차로 작업 선택. 그런 다음 사용자가 절차 선택을 실행하고 사용자에게 선택 및 쓰기 절차를 실행하도록 허용 할 수 있습니다. 이 트릭은 PostgreSQL에서 잘 작동합니다.
기존 sprocs를 수정할 수있는 옵션이 없습니다. – vaughan
감사합니다. Jesse, 좋은 해결책 인 것 같습니다. – vaughan