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