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