postgresql윈 토토 시스템, 기타 테이블/뷰 원래 쿼리에 사용 된 것보다 액세스 할 수 있습니다. 업데이트시 윈 토토은 사용되며 테이블에 대한 쓰기 액세스가 포함될 수 있습니다.
재 작성 윈 토토에는 별도의 소유자가 없습니다. a의 소유자 관계 (표 또는보기)는 자동으로 소유자입니다. 정의 된 윈 토토을 다시 작성하십시오. 그만큼PostgreSQL윈 토토 시스템은 동작을 변경합니다 기본 액세스 제어 시스템. 사용되는 관계 윈 토토 소유자의 권한에 대해 윈 토토을 확인하십시오. 윈 토토을 호출하는 사용자가 아닙니다. 이것은 사용자가 필요하다는 것을 의미합니다 그가 이름을 지은 테이블/뷰에 필요한 권한 그의 질문에 명시 적으로.
예 : 사용자는 일부의 전화 번호 목록이 있습니다. 그것들은 사적이고, 다른 사람들은 비서관에게 관심이 있습니다. 사무실. 그는 다음을 구성 할 수 있습니다.
테이블 CREATE PHEON_DATA (사람 문자, 전화 텍스트, 개인 부울); view phone_number를 만듭니다 개인이 아닌 경우 Phone_Data에서 사람을 선택하십시오. Phone_number에서 Select Grant Select에서 비서에게;
그 (및 데이터베이스 수퍼 유저)를 제외한 아무도에 액세스 할 수 없습니다.Phone_data테이블. 하지만 때문에grant, 비서는 a를 운영 할 수 있습니다.selectonPhone_number보기. 윈 토토 시스템이 다시 작성됩니다 그만큼selectFromPhone_numberatselectFromPhone_data그리고 위치 만 입력하는 자격을 추가개인거짓이 필요합니다. 사용자는 의 소유자Phone_number윈 토토의 소유자, 읽기 액세스Phone_data이제 그의 특권에 대해 확인되었습니다 그리고 쿼리가 허용됩니다. 액세스 점검Phone_number도 수행되지만이 작업은 수행됩니다 호출 사용자에 대해, 따라서 사용자와 장관은 그것을 사용할 수 있습니다.
권한은 규칙에 따라 규칙을 확인합니다. 그래서 비서입니다 현재 공중 전화 번호를 볼 수있는 유일한 사람. 하지만 장관은 다른 견해를 설정하고 이에 대한 접근을 허락 할 수 있습니다. 대중. 그런 다음 누구나를 볼 수 있습니다.Phone_number비서의 견해를 통한 데이터. 장관이 할 수없는 것은 직접적인 견해를 만드는 것입니다. 액세스Phone_data. (실제로 그는 할 수 있습니다. 그러나 모든 액세스가 거부되므로 작동하지 않습니다. 권한 수표.) 그리고 사용자가 알 수 있으면 비서관Phone_number보기, 그는 자신의 접근을 취소 할 수 있습니다. 즉시, 모든 접근 비서의 견해는 실패 할 것입니다.
이 윈 토토별 검사가 보안이라고 생각할 수도 있습니다. 구멍이지만 실제로는 그렇지 않습니다. 그러나 그것이 이런 식으로 작동하지 않으면 비서관은와 같은 열의 테이블을 설정할 수 있습니다.Phone_number그리고 데이터를 거기에 복사하십시오 하루에 한 번. 그러면 그것은 자신의 데이터이고 그는 액세스 권한을 부여 할 수 있습니다. 그가 원하는 모든 사람. 에이grant명령 수단,"나는 당신을 믿습니다". 누군가가 당신이라면 신뢰는 위의 일을합니다. 이제 생각할 때입니다. 사용Revoke.
이 메커니즘은 업데이트 규칙에도 적용됩니다. 의 예에서 이전 섹션, 예제의 테이블 소유자 데이터베이스는 권한을 부여 할 수 있습니다select, 삽입, 업데이트및삭제onShoelace다른 사람을 보지만selectonshoelace_log. 쓰는 윈 토토 조치 로그 항목은 여전히 성공적으로 실행되며 기타 사용자는 로그 항목을 볼 수 있습니다. 그러나 그는 가짜를 만들 수 없습니다 출품작도 기존의 입력을 조작하거나 제거 할 수 없습니다.