Descrever funções internas do servidor do Banco de Dados do Azure para PostgreSQL

Concluído

O PostgreSQL gerencia o acesso ao banco de dados usando funções. Uma função pode ser um usuário de banco de dados ou um grupo de usuários. As funções podem:

  • Objetos de banco de dados próprios, como tabelas ou funções.
  • Atribua privilégios nesses objetos a outras funções.
  • Conceder associação a outra função, permitindo que a função membro tenha os mesmos privilégios que a função pai.

O servidor do Banco de Dados do Azure para PostgreSQL é criado com três funções padrão:

  • azure_pg_admin
  • azuresu
  • seu usuário administrador do servidor – parte da função azure_pg_admin

Exiba todas as funções de servidor executando a seguinte consulta:

SELECT * FROM pg_roles;

Nota

O Banco de Dados do Azure para PostgreSQL é um serviço PaaS gerenciado e somente os usuários da Microsoft têm a função azuresu (superusuário).

Quando você criou o servidor, um usuário administrador do servidor também foi criado. Esse usuário automaticamente se tornou membro da função azure_pg_admin. O usuário administrador do Banco de Dados do Azure para PostgreSQL tem os seguintes privilégios: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Agora, a conta de usuário do administrador do servidor que você criou quando o servidor foi criado, pode:

  • Crie mais usuários e conceda a esses usuários a função azure_pg_admin.
  • Crie usuários e funções menos privilegiados que tenham acesso a bancos de dados e esquemas individuais.

O PostgreSQL inclui algumas funções padrão que podem ser atribuídas aos usuários. Eles incluem privilégios geralmente necessários para acesso:

  • pg_read_all_settings
  • pg_signal_backend
  • pg_read_server_files
  • pg_write_server_files
  • pg_execute_server_program

Há também mais funções especializadas:

  • pg_monitor
  • pg_read_all_stats
  • pg_stat_scan_tables
  • duplicação

Criar usuários administradores no Banco de Dados do Azure para PostgreSQL

  1. No Azure Data Studio (ou sua ferramenta de cliente preferencial), conecte-se ao servidor do Banco de Dados do Azure para PostgreSQL com as credenciais de entrada do administrador.
  2. Edite o seguinte código SQL substituindo os espaços reservados por seu nome de usuário e senha:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;