Partilhar 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á no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

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

Se quiser saber mais sobre como criar e gerenciar usuários de assinatura do Azure e seus privilégios, visite o artigo Controle de acesso baseado em função do Azure (Azure RBAC) ou revise como personalizar funções.

A conta de administrador do servidor

Quando você criou seu Banco de Dados do Azure para PostgreSQL pela primeira vez, forneceu um nome de usuário e senha de administrador do servidor. Para obter mais informações, você pode seguir o Guia de 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 do administrador do servidor escolhido no portal do Azure.

O Banco de Dados do Azure para 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 é membro da função azure_pg_admin. No entanto, a conta de administrador do servidor não faz parte da função azure_superuser. Como esse serviço é um serviço de PaaS gerenciado, apenas 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 recebe 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 esses usuários para a função azure_pg_admin. Além disso, a conta de administrador do servidor pode ser usada para criar usuários e funções menos privilegiados que têm acesso a bancos de dados e esquemas individuais.

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

  1. Obtenha as informações de conexão e o nome de usuário do administrador. Para ligar ao seu servidor de bases de dados, precisa do nome completo do servidor e das credenciais de início de sessão de administrador. Você pode encontrar facilmente o nome do servidor e as informações de entrada na página Visão geral do servidor ou na página Propriedades no portal do Azure.

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

  3. Edite e execute o seguinte código SQL. Substitua seu novo nome de usuário pelo valor <de espaço reservado new_user> e substitua a senha de espaço reservado por sua própria 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. Obtenha as informações de conexão e o nome de usuário do administrador. Para ligar ao seu servidor de bases de dados, precisa do nome completo do servidor e das credenciais de início de sessão de administrador. Você pode encontrar facilmente o nome do servidor e as informações de entrada na página Visão geral do servidor ou na página Propriedades no portal do Azure.

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

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

    Essa sintaxe de código sql cria um novo banco de dados chamado testdb, por exemplo. Em seguida, ele cria um novo usuário no serviço PostgreSQL e concede privilégios de conexão ao novo banco de dados para esse 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, talvez seja necessário conceder privilégios adicionais para proteger os objetos no banco de dados. Consulte a documentação do PostgreSQL para obter mais detalhes sobre funções e privilégios de banco de dados. Por exemplo:

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

    Se um usuário criar uma "função" de tabela, a tabela pertencerá 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 login no seu servidor, especificando o banco de dados designado, usando o novo nome de usuário e senha. Este exemplo mostra a linha de comando psql. Com este comando, ser-lhe-á solicitada a palavra-passe para o nome de utilizador. Substitua seu próprio nome de servidor, nome de banco de dados e nome de usuário.

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

Próximos passos

Abra o firewall para os endereços IP das máquinas dos novos usuários para permitir que eles se conectem: Crie e gerencie o Banco de Dados do Azure para regras de firewall do PostgreSQL usando o portal do Azure ou a CLI do Azure.

Para obter mais informações sobre o gerenciamento de contas de usuário, consulte a documentação do produto PostgreSQL para funções e privilégios de banco de dados, sintaxe GRANT e privilégios.