기본 제공 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에서 관리 사용자 만들기

  1. Azure Data Studio(또는 선호하는 클라이언트 도구)에서 관리자 로그인 자격 증명을 사용하여 Azure Database for PostgreSQL 서버에 연결합니다.
  2. 다음 SQL 코드를 편집하여 자리 표시자를 사용자 이름 및 암호로 바꿉니다.
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;