중복되는 경우 실례합니다 ... 찾았지만 찾지 못했습니다.
내 사용자 계정 (역할)이 테이블에서 표준 CRUD 권한을 갖고 함수에 대한 권한을 실행하는 등의 작업이 필요합니다.
그러나이 역할은 개체를 만들거나 삭제하지 못하도록해야합니다. 테이블 생성 / 생성 기능 (또는 테이블 삭제 또는 변경)은 금지되어야합니다.
이를 수행하는 방법은 문서에서 명확하지 않은 것 같습니다. 도움이나 통찰력에 미리 감사드립니다.
집중해야 할 문서 부분은 PUBLIC
의사 역할 (모든 사용자로 구성됨)과 public
기본적으로 생성되는 스키마입니다.
공개 스키마의 목적은 새 사용자가 너무 많은 번거 로움없이 개체를 만들 수 있도록하는 것이지만 바람직하지 않은 경우 다음을 실행하여 해당 권한을 제거 할 수 있습니다.
REVOKE ALL on schema public FROM public;
ALL
이 컨텍스트에서 CREATE, USAGE
. 연결된 데이터베이스에서만 발생한다는 점에 유의하십시오.
또 다른 옵션은 public
스키마를 제거하고 애플리케이션 개체에 대한 사전 정의 된 권한없이 다른 스키마를 만드는 것입니다.
함수에 대한 실행 권한은에서 별도로 처리합니다 GRANT EXECUTE
.
테이블을 삭제할 수있는 권한은 테이블을 포함하는 스키마에서 오는 것이 아니라 테이블 소유자 또는 수퍼 유저 만 삭제할 수 있습니다.
자세한 내용은 https://www.postgresql.org/docs/current/static/sql-grant.html 및
https://www.postgresql.org/docs/current/static/ddl-schemas.html 을 참조 하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다