21.5. 사전 정의된 롤 토토#

포스트그레SQL는 일반적으로 필요한 특정 권한 있는 기능 및 정보에 대한 액세스를 제공하는 사전 정의된 역할 세트를 제공합니다. 관리자(다음을 가진 역할 포함크리에이터롤특권) 가능부여이러한 역할을 사용자 및/또는 해당 환경의 다른 역할에 전달하여 해당 사용자에게 지정된 기능 및 정보에 대한 액세스 권한을 제공합니다. 예를 들면:

admin_user에게 pg_signal_backend 부여;

경고

이러한 역할을 부여할 때는 필요한 경우에만 사용되도록 주의해야 하며 이러한 역할은 권한 있는 정보에 대한 액세스 권한을 부여한다는 점을 이해해야 합니다.

사전 정의된 롤 토토은 아래에 설명되어 있습니다. 향후 기능이 추가되면 각 롤 토토에 대한 특정 권한이 변경될 수 있습니다. 관리자는 출시 노트에서 변경 사항을 모니터링해야 합니다.

pg_checkpoint #

pg_checkpoint실행을 허용합니다체크포인트명령.

pg_create_subscription #

pg_create_subscription사용자에게 다음을 허용합니다만들기발행할 데이터베이스에 대한 권한구독 작성.

pg_database_owner #

pg_database_owner항상 정확히 하나의 암시적 구성원, 즉 현재 데이터베이스 소유자를 갖습니다. 어떤 역할에도 멤버십을 부여할 수 없으며 어떤 역할에도 멤버십을 부여할 수 없습니다.pg_database_owner. 그러나 다른 역할과 마찬가지로 개체를 소유하고 액세스 권한을 부여받을 수 있습니다. 결과적으로 한번pg_database_owner는 템플릿 데이터베이스 내에서 권한을 가지며, 해당 템플릿에서 인스턴스화된 데이터베이스의 각 소유자는 해당 권한을 보유합니다. 처음에 이 역할은 다음을 소유합니다.공개스키마이므로 각 데이터베이스 소유자가 해당 스키마의 로컬 사용을 관리합니다.

pg_maintain #

pg_maintain실행을 허용합니다진공, 분석, 클러스터, 구체화된 보기 새로고침, REINDEX락 테이블모든 관계에 대해, 마치 가지고 있는 것처럼유지해당 개체에 대한 권리.

pg_monitor
pg_read_all_settings
pg_read_all_stats
pg_stat_scan_tables #

이러한 역할은 관리자가 데이터베이스 서버 모니터링을 위한 역할을 쉽게 구성할 수 있도록 하기 위한 것입니다. 이는 역할이 일반적으로 슈퍼유저에게만 제한된 다양한 유용한 구성 설정, 통계 및 기타 시스템 정보를 읽을 수 있도록 허용하는 일련의 공통 권한을 부여합니다.

pg_monitor다양한 모니터링 뷰 및 기능을 읽고 실행할 수 있습니다. 이 역할은 다음 그룹의 구성원입니다.pg_read_all_settings, pg_read_all_stats그리고pg_stat_scan_tables.

pg_read_all_settings일반적으로 수퍼유저에게만 표시되는 변수를 포함한 모든 구성 변수를 읽을 수 있습니다.

pg_read_all_stats모든 pg_stat_* 보기를 읽고 다양한 통계 관련 확장 기능을 사용할 수 있습니다. 일반적으로 슈퍼유저에게만 표시되는 확장 기능도 포함됩니다.

pg_stat_scan_tables모니터링 기능 실행을 허용합니다.액세스 공유잠재적으로 오랫동안 테이블 잠금(예:pgrowlocks(텍스트)에서PostgreSQL : 문서 : 17 : F.29. pgrowlocks - 테이블의 행 스포츠 토토 정보 표시확장).

pg_read_all_data
pg_write_all_data #

pg_read_all_data모든 데이터(테이블, 뷰, 시퀀스)를 읽는 것을 허용합니다.선택해당 객체에 대한 권리 및사용모든 스키마에 대한 권리. 이 역할은 RLS(행 수준 보안) 정책을 우회하지 않습니다. RLS를 사용하는 경우 관리자가 설정할 수 있습니다.BYPASSRLS이 역할이 부여된 역할에 대해.

pg_write_all_data모든 데이터(테이블, 뷰, 시퀀스)를 마치 있는 것처럼 쓸 수 있습니다.삽입, 업데이트삭제해당 객체에 대한 권리 및사용모든 스키마에 대한 권리. 이 역할은 RLS(행 수준 보안) 정책을 우회하지 않습니다. RLS를 사용하는 경우 관리자가 설정할 수 있습니다.BYPASSRLS이 역할이 부여된 역할에 대해.

pg_read_server_files
pg_write_server_files
pg_execute_server_program #

이러한 역할은 관리자가 데이터베이스를 실행하는 사용자로서 데이터베이스 서버에서 파일에 액세스하고 프로그램을 실행할 수 있는 신뢰할 수 있는 그러나 수퍼유저가 아닌 역할을 가질 수 있도록 하기 위한 것입니다. 파일에 직접 액세스할 때 모든 데이터베이스 수준 권한 검사를 우회하며 슈퍼유저 수준 액세스 권한을 얻는 데 사용될 수 있습니다. 따라서 사용자에게 이러한 역할을 부여할 때는 세심한 주의가 필요합니다.

pg_read_server_files다음을 사용하여 데이터베이스가 서버에서 액세스할 수 있는 모든 위치에서 파일을 읽을 수 있습니다.복사및 기타 파일 액세스 기능.

pg_write_server_files다음을 사용하여 데이터베이스가 서버에서 액세스할 수 있는 모든 위치의 파일에 쓰기를 허용합니다.복사및 기타 파일 액세스 기능.

pg_execute_server_program데이터베이스를 실행하는 사용자로 데이터베이스 서버에서 프로그램을 실행할 수 있습니다.복사및 서버측 프로그램 실행을 허용하는 기타 함수.

pg_signal_autovacuum_worker #

pg_signal_autovacuum_worker신호 autovacuum 작업자가 현재 테이블의 Vacuum을 취소하거나 해당 세션을 종료할 수 있도록 허용합니다. 참조섹션 9.28.2.

pg_signal_backend #

pg_signal_backend다른 백엔드에 신호를 보내 쿼리를 취소하거나 해당 세션을 종료하도록 허용합니다. 이 롤 토토은 수퍼유저가 소유한 백엔드 신호 전달을 허용하지 않습니다. 참조섹션 9.28.2.

pg_use_reserved_connections #

pg_use_reserved_connections다음을 통해 예약된 연결 슬롯 사용을 허용합니다.reserved_connections.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.