Compartilhar via


Criar usuários no Banco de Dados do Azure para PostgreSQL – Servidor único

APLICA-SE A: Banco de Dados do Azure para PostgreSQL — Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL – Servidor Único está prestes a ser desativado. Recomendamos fortemente que você atualize para o Banco de Dados do Azure para PostgreSQL – Servidor flexível. Para obter mais informações sobre a migração para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível, veja O que está acontecendo com o Banco de Dados do Azure para PostgreSQL Servidor único?.

Este artigo descreve como você pode criar usuários em um servidor do Banco de Dados do Azure para PostgreSQL.

Se desejar saber mais sobre como criar e gerenciar usuários de assinatura do Azure e seus privilégios, você poderá ver o artigo Azure RBAC (controle de acesso baseado em função do Azure) ou examinar como personalizar funções.

A conta do administrador do servidor

Quando foi criado o Banco de Dados do Azure para PostgreSQL, você forneceu um nome de usuário de administrador de servidor e uma senha. Para saber mais, você pode seguir o Início Rápido para ver a abordagem passo a passo. Como o nome de usuário administrador do servidor é um nome personalizado, você pode localizar o nome de usuário administrador do servidor escolhido no portal do Azure.

O banco de dados do Azure para o servidor PostgreSQL é criado com as 3 funções padrão definidas. Você pode ver essas funções executando o comando: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azure_superuser
  • seu usuário administrador do servidor

O usuário administrador do servidor é um membro da função azure_pg_admin. No entanto, a conta do administrador do servidor não faz parte da função azure_superuser. Como esse serviço é um serviço gerenciado de PaaS, somente a Microsoft faz parte da função de superusuário.

O mecanismo PostgreSQL usa privilégios para controlar o acesso a objetos de banco de dados, conforme discutido na documentação do produto PostgreSQL. No Banco de Dados do Azure para PostgreSQL, o usuário administrador do servidor tem estes privilégios: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

A conta de usuário administrador do servidor pode ser usada para criar usuários adicionais e conceder a esses usuários acesso à função azure_pg_admin. Além disso, a conta de administrador do servidor pode ser usada para criar usuários e funções com menos privilégios que têm acesso aos banco de dados e esquemas individuais.

Como criar usuários administradores adicionais no Banco de Dados do Azure para PostgreSQL

  1. Obter o nome de usuário do administrador e as informações de conexão. Para conectar o servidor de banco de dados, você precisa do nome do servidor completo e as credenciais de entrada do administrador. Você pode encontrar facilmente o nome do servidor e as informações de entrada na página Visão Geral ou na página Propriedades do servidor no portal do Azure.

  2. Use a conta de administrador e a senha para se conectar ao seu servidor de banco de dados. Use sua ferramenta preferencial do cliente, como pgAdmin ou psql. Se você não tem certeza de como se conectar, veja o início rápido

  3. Edite e execute o código SQL a seguir. Substitua o novo nome de usuário pelo valor de espaço reservado <new_user> e a senha de espaço reservado por sua senha forte.

    CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>';
    
    GRANT azure_pg_admin TO <new_user>;
    

Como criar usuários de banco de dados no Banco de Dados do Azure para PostgreSQL

  1. Obter o nome de usuário do administrador e as informações de conexão. Para conectar o servidor de banco de dados, você precisa do nome do servidor completo e as credenciais de entrada do administrador. Você pode encontrar facilmente o nome do servidor e as informações de entrada na página Visão Geral ou na página Propriedades do servidor no portal do Azure.

  2. Use a conta de administrador e a senha para se conectar ao seu servidor de banco de dados. Use sua ferramenta preferencial do cliente, como pgAdmin ou psql.

  3. Edite e execute o código SQL a seguir. Substitua o valor de espaço reservado <db_user> com seu novo nome de usuário pretendido e o valor de espaço reservado <newdb> com seu próprio nome de banco de dados. Substitua a senha de espaço reservado pela sua própria senha forte.

    Essa sintaxe de código sql cria um novo banco de dados nomeado testdb para fins de exemplo. Em seguida, ele cria um novo usuário no serviço do PostgreSQL e concede privilégios de conexão para o novo banco de dados para o usuário.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Usando uma conta de administrador, você precisará conceder privilégios adicionais para proteger os objetos no banco de dados. Consulte a documentação do PostgreSQL para obter mais detalhes sobre as funções de banco de dados e os privilégios. Por exemplo:

    GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
    

    Se um usuário criar uma "função" de tabela, a tabela pertence a esse usuário. Se outro usuário precisar acessar a tabela, você deverá conceder privilégios ao outro usuário no nível da tabela.

    Por exemplo:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Faça logon no servidor, especificando o banco de dados designado, usando o novo nome de usuário e senha. Este exemplo mostra a linha de comando do psql. Com este comando, será solicitada a senha para o nome de usuário. Substitua seu próprio nome de servidor, o nome do banco de dados e o nome de usuário.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user@mydemoserver --dbname=newdb
    

Próximas etapas

Abra o firewall para os endereços IP das máquinas os novos usuários para que ele possa se conectar: Criar e gerenciar regras de firewall para o Banco de Dados do Azure para PostgreSQL usando o portal do Azure ou CLI do Azure.

Para saber mais sobre gerenciamento de contas de usuário, consulte a documentação do produto do PostgreSQL para Funções e Privilégios do Banco de Dados, Sintaxe de GRANT e Privilégios.