포스트그레SQL은 일반적으로 필요한 특정 권한 있는 기능 및 정보에 대한 액세스를 제공하는 기본 사설 토토 세트를 제공합니다. 관리자는 해당 환경의 사용자 및/또는 기타 사설 토토에 이러한 사설 토토을 부여하여 해당 사용자에게 지정된 기능 및 정보에 대한 액세스 권한을 제공할 수 있습니다.
기본 사설 토토은 다음에 설명되어 있습니다.표 21.1. 각 기본 사설 토토에 대한 특정 권한은 향후 추가 기능이 추가됨에 따라 변경될 수 있습니다. 관리자는 출시 노트에서 변경 사항을 모니터링해야 합니다.
표 21.1. 기본 사설 토토
| 사설 토토 | 액세스 허용 |
|---|---|
| pg_read_all_settings | 모든 구성 변수를 읽으십시오. 일반적으로 슈퍼유저에게만 표시되는 변수도 포함됩니다. |
| pg_read_all_stats | 모든 pg_stat_* 보기를 읽고 다양한 통계 관련 확장 기능을 사용하십시오. 일반적으로 슈퍼유저에게만 표시되는 확장 기능도 포함됩니다. |
| pg_stat_scan_tables | 다음에 걸릴 수 있는 모니터링 기능 실행액세스 공유잠재적으로 오랫동안 테이블을 잠급니다. |
| pg_monitor | 다양한 모니터링 보기 및 기능을 읽고 실행합니다. 이 사설 토토은 다음 그룹의 구성원입니다.pg_read_all_settings, pg_read_all_stats그리고pg_stat_scan_tables. |
| pg_signal_backend | 다른 백엔드에 신호를 보내 쿼리를 취소하거나 세션을 종료하도록 합니다. |
| pg_read_server_files | COPY 및 기타 파일 액세스 기능을 사용하여 데이터베이스가 서버에서 액세스할 수 있는 모든 위치에서 파일 읽기를 허용합니다. |
| pg_write_server_files | COPY 및 기타 파일 액세스 기능을 사용하여 데이터베이스가 서버에서 액세스할 수 있는 모든 위치의 파일에 쓰기를 허용합니다. |
| pg_execute_server_program | COPY 및 서버 측 프로그램 실행을 허용하는 기타 기능을 사용하여 데이터베이스를 실행하는 사용자로 데이터베이스 서버에서 프로그램을 실행하도록 허용합니다. |
그pg_monitor, pg_read_all_settings, pg_read_all_stats그리고pg_stat_scan_tables사설 토토은 관리자가 데이터베이스 서버 모니터링을 위해 사설 토토을 쉽게 구성할 수 있도록 하기 위한 것입니다. 이는 사설 토토이 일반적으로 슈퍼유저에게만 제한된 다양한 유용한 구성 설정, 통계 및 기타 시스템 정보를 읽을 수 있도록 허용하는 일련의 공통 권한을 부여합니다.
그pg_signal_backend사설 토토은 관리자가 신뢰할 수 있지만 수퍼유저가 아닌 사설 토토을 활성화하여 다른 백엔드에 신호를 보낼 수 있도록 하기 위한 것입니다. 현재 이 사설 토토을 사용하면 다른 백엔드에서 쿼리를 취소하거나 해당 세션을 종료하기 위한 신호를 보낼 수 있습니다. 그러나 이 사설 토토이 부여된 사용자는 슈퍼유저가 소유한 백엔드에 신호를 보낼 수 없습니다. 보다섹션 9.26.2.
그pg_read_server_files, pg_write_server_files그리고pg_execute_server_program사설 토토은 관리자가 데이터베이스를 실행하는 사용자로서 데이터베이스 서버에서 파일에 액세스하고 프로그램을 실행할 수 있는 신뢰할 수 있지만 수퍼유저가 아닌 사설 토토을 가질 수 있도록 하기 위한 것입니다. 이러한 사설 토토은 서버 파일 시스템의 모든 파일에 액세스할 수 있으므로 파일에 직접 액세스할 때 모든 데이터베이스 수준 권한 확인을 우회하고 슈퍼유저 수준 액세스 권한을 얻는 데 사용될 수 있으므로 사용자에게 이러한 사설 토토을 부여할 때 세심한 주의가 필요합니다.
이러한 사설 토토을 부여할 때는 필요한 경우에만 사용되도록 주의해야 하며 이러한 사설 토토이 특권 정보에 대한 액세스 권한을 부여한다는 점을 이해해야 합니다.
관리자는 다음을 사용하여 사용자에게 이러한 사설 토토에 대한 액세스 권한을 부여할 수 있습니다.그랜트명령, 예:
admin_user에게 pg_signal_backend 부여;