기본 제공 Azure Database for PostgreSQL 서버 역할에 대해 설명
PostgreSQL은 역할을 사용하여 데이터베이스 액세스를 관리합니다. 역할은 데이터베이스 사용자 또는 사용자 그룹일 수 있습니다. 역할은 다음을 수행할 수 있습니다.
- 테이블 또는 함수와 같은 데이터베이스 개체를 소유합니다.
- 해당 개체에 대한 권한을 다른 역할에 할당합니다.
- 멤버 역할이 자체 권한을 가질 수 있도록 다른 역할에 멤버 자격을 부여합니다.
Azure Database for PostgreSQL 서버는 세 가지 기본 역할을 포함하여 만들어집니다.
- azure_pg_admin
- azuresu
- 서버 관리 사용자 - azure_pg_admin 역할의 일부입니다.
다음 쿼리를 실행하여 모든 서버 역할을 봅니다.
SELECT * FROM pg_roles;
참고
Azure Database for PostgreSQL은 관리형 PaaS 서비스이며 Microsoft 사용자만 azuresu(슈퍼 사용자) 역할을 갖습니다.
서버를 만들 때 서버 관리 사용자도 생성되었습니다. 이 사용자는 자동으로 azure_pg_admin 역할의 멤버가 되었습니다. Azure Database for PostgreSQL 서버 관리 사용자에게는 LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION 권한이 있습니다.
이제 서버를 만들 때 생성된 서버 관리 사용자 계정은 다음을 수행할 수 있습니다.
- 더 많은 사용자를 만들고 해당 사용자에게 azure_pg_admin 역할을 부여합니다.
- 개별 데이터베이스 및 스키마에 액세스할 수 있는 더 낮은 권한의 사용자 및 역할을 만듭니다.
PostgreSQL에는 사용자에게 할당할 수 있는 몇 가지 기본 역할이 있습니다. 여기에는 액세스에 일반적으로 필요한 권한이 포함됩니다.
- pg_read_all_settings
- pg_signal_backend
- pg_read_server_files
- pg_write_server_files
- pg_execute_server_program
더 많은 전문가 역할도 있습니다.
- pg_monitor
- pg_read_all_stats
- pg_stat_scan_tables
- 복제
Azure Database for PostgreSQL에서 관리 사용자 만들기
- Azure Data Studio(또는 선호하는 클라이언트 도구)에서 관리자 로그인 자격 증명을 사용하여 Azure Database for PostgreSQL 서버에 연결합니다.
- 다음 SQL 코드를 편집하여 자리 표시자를 사용자 이름 및 암호로 바꿉니다.
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;