PostgreSQL일반적으로 필요한 특정 권한 있는 기능 및 정보에 대한 액세스를 제공하는 사전 정의된 역할 세트를 제공합니다. Administrators (including roles that have theCREATEROLE특권) 가능GRANT이러한 역할을 사용자 및/또는 해당 환경의 다른 역할에 부여하여 해당 사용자에게 지정된 기능 및 정보에 대한 액세스 권한을 제공합니다.
사전 정의된 토토 캔은 다음에 설명되어 있습니다.표 21.17437_7621
7703_7743
| Role | 액세스 허용됨 |
|---|---|
| pg_read_all_data | 모든 데이터(테이블, 뷰, 시퀀스)를 마치 있는 것처럼 읽습니다.SELECT8256_8395BYPASSRLS설정합니다. RLS를 사용하는 경우 관리자가 설정할 수 있습니다.BYPASSRLS이 토토 캔이 부여된 토토 캔에 대해. |
| pg_write_all_data | 모든 데이터(테이블, 뷰, 시퀀스)를 마치 있는 것처럼 쓰기8740_8748, UPDATE, andDELETE8831_8970BYPASSRLSset. RLS를 사용하는 경우 관리자가 설정할 수 있습니다.BYPASSRLS이 토토 캔이 부여된 토토 캔에 대해. |
| pg_read_all_settings | 모든 구성 변수를 읽으십시오. 일반적으로 슈퍼유저에게만 표시되는 변수도 포함됩니다. |
| pg_read_all_stats | Read all pg_stat_* views and use various statistics related extensions, even those normally visible only to superusers. |
| pg_stat_scan_tables | 다음에 걸릴 수 있는 모니터링 기능 실행액세스 공유잠재적으로 오랫동안 테이블을 잠급니다. |
| pg_monitor | 다양한 모니터링 보기 및 기능을 읽고 실행합니다. 이 토토 캔은 다음 그룹의 구성원입니다.pg_read_all_settings, pg_read_all_statsandpg_stat_scan_tables. |
| pg_database_owner | 없음. 멤버십은 암시적으로 현재 데이터베이스 소유자로 구성됩니다. |
| pg_signal_backend | Signal another backend to cancel a query or terminate its session. |
| pg_read_server_files | Allow reading files from any location the database can access on the server with COPY and other file-access functions. |
| pg_write_server_files 11264_11276|CHECKPOINT 8740_8748|INSERT 7703_7743|Table 21.1. Predefined Roles 7437_7621|. 향후 기능이 추가되면 각 역할에 대한 특정 권한이 변경될 수 있습니다. 관리자는 출시 노트에서 변경 사항을 모니터링해야 합니다. | COPY 및 기타 파일 액세스 기능을 사용하여 데이터베이스가 서버에서 액세스할 수 있는 모든 위치의 파일에 쓰기를 허용합니다. |
| pg_execute_server_program | Allow executing programs on the database server as the user the database runs as with COPY and other functions which allow executing a server-side program. |
| pg_checkpoint | 실행을 허용11264_11276명령. |
| pg_maintain | Allow executing진공, ANALYZE, CLUSTER, 구체화된 보기 새로고침, REINDEX및LOCK TABLE모든 관계에 대해, 마치 가지고 있는 것처럼MAINTAIN명시적으로 갖고 있지 않더라도 해당 개체에 대한 권한입니다. |
| pg_use_reserved_connections | 다음을 통해 예약된 연결 슬롯 사용 허용reserved_connections. |
| pg_create_subscription | Allow users withCREATE발행할 데이터베이스에 대한 권한CREATE SUBSCRIPTION. |
그pg_monitor, pg_read_all_settings, pg_read_all_statsandpg_stat_scan_tables역할은 관리자가 데이터베이스 서버 모니터링을 위해 역할을 쉽게 구성할 수 있도록 하기 위한 것입니다. 이는 역할이 일반적으로 슈퍼유저에게만 제한된 다양한 유용한 구성 설정, 통계 및 기타 시스템 정보를 읽을 수 있도록 허용하는 일련의 공통 권한을 부여합니다.
Thepg_database_owner역할에는 상황에 따라 달라지는 암시적 구성원, 즉 현재 데이터베이스의 소유자가 하나 있습니다. 다른 역할과 마찬가지로 개체를 소유하거나 액세스 권한을 부여받을 수 있습니다. Consequently, oncepg_database_owner템플릿 데이터베이스 내에서 권한이 있으며, 해당 템플릿에서 인스턴스화된 데이터베이스의 각 소유자는 해당 권한을 행사합니다.pg_database_owner어떤 토토 캔의 구성원이 될 수 없으며 암시적이 아닌 구성원을 가질 수 없습니다. 처음에 이 토토 캔은 다음을 소유합니다.public스키마이므로 각 데이터베이스 소유자가 스키마의 로컬 사용을 관리합니다.
Thepg_signal_backend역할은 관리자가 신뢰할 수 있지만 수퍼유저가 아닌 역할을 활성화하여 다른 백엔드에 신호를 보낼 수 있도록 하기 위한 것입니다. 현재 이 역할을 사용하면 다른 백엔드에서 쿼리를 취소하거나 해당 세션을 종료하기 위한 신호를 보낼 수 있습니다. 그러나 이 역할이 부여된 사용자는 슈퍼유저가 소유한 백엔드에 신호를 보낼 수 없습니다. 보다섹션 9.28.2.
Thepg_read_server_files, pg_write_server_files그리고pg_execute_server_program토토 캔은 관리자가 데이터베이스를 실행하는 사용자로서 데이터베이스 서버에서 파일에 액세스하고 프로그램을 실행할 수 있는 신뢰할 수 있지만 수퍼유저가 아닌 토토 캔을 가질 수 있도록 하기 위한 것입니다. 이러한 토토 캔은 서버 파일 시스템의 모든 파일에 액세스할 수 있으므로 파일에 직접 액세스할 때 모든 데이터베이스 수준 권한 확인을 우회하고 슈퍼유저 수준 액세스 권한을 얻는 데 사용될 수 있으므로 사용자에게 이러한 토토 캔을 부여할 때 세심한 주의가 필요합니다.
이러한 역할을 부여할 때는 필요한 경우에만 사용되도록 주의해야 하며 이러한 역할이 특권 정보에 대한 액세스 권한을 부여한다는 점을 이해해야 합니다.
관리자는 다음을 사용하여 사용자에게 이러한 토토 캔에 대한 액세스 권한을 부여할 수 있습니다.GRANT명령, 예:
admin_user에게 pg_signal_backend 부여;
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요this form문서 문제를 보고합니다.