Descrever o Banco de Dados do Azure interno para funções de servidor 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:

  • Possuir objetos de banco de dados, como tabelas ou funções.
  • Atribua privilégios nesses objetos a outras funções.
  • Conceda associação a outra função, permitindo que a função de membro tenha seus privilégios.

Seu banco de dados do Azure para servidor 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 apenas 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 se tornou automaticamente um membro da função azure_pg_admin . O usuário administrador do servidor 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 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. Estes incluem privilégios comumente 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 funções mais especializadas:

  • pg_monitor
  • pg_read_all_stats
  • pg_stat_scan_tables
  • Replicação

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

  1. No Azure Data Studio (ou na sua ferramenta de cliente preferida), ligue-se à sua Base de Dados do Azure para servidor PostgreSQL com as credenciais de início de sessão de administrador.
  2. Edite o seguinte código SQL substituindo os espaços reservados pelo seu nome de utilizador e palavra-passe:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;