Partilhar via


Criar usuários no Banco de Dados do Azure para PostgreSQL - Servidor Flexível

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Flexível

Este artigo descreve como você pode criar usuários em uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL.

Suponha que você queira aprender a criar e gerenciar usuários de assinatura do Azure e seus privilégios. Nesse caso, você pode visitar o artigo Controle de acesso baseado em função do Azure (Azure RBAC) ou revisar como personalizar funções.

A conta de administrador do servidor

Quando você criou pela primeira vez sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL, 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.

A instância de servidor flexível do Banco de Dados do Azure para PostgreSQL é criada com as três funções padrão definidas. Você pode ver essas funções executando o comando: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • Azuresu
  • 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 azuresu. 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 servidor flexível PostgreSQL, o usuário administrador do servidor recebe estes privilégios:

  • Entrar, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE

A conta de usuário administrador do servidor pode ser usada para criar mais usuários e conceder a esses usuários 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 mais usuários administradores no Banco de Dados do Azure para servidor flexível PostgreSQL

  1. Obtenha as informações de conexão e o nome de usuário do administrador. Você precisa do nome completo do servidor e das credenciais de entrada de administrador para se conectar à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. 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 à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Use sua ferramenta de cliente preferida, como pgAdmin ou psql. Se não tiver a certeza de como estabelecer ligação, consulte o Guia de 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 servidor flexível PostgreSQL

  1. Obtenha as informações de conexão e o nome de usuário do administrador. Você precisa do nome completo do servidor e das credenciais de entrada de administrador para se conectar à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. 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 à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Use sua ferramenta de cliente preferida, como pgAdmin ou psql.

  3. Edite e execute o seguinte código SQL. Substitua o valor <db_user> do espaço reservado pelo novo nome de usuário pretendido e o valor <newdb> do 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.

    Este código SQL abaixo cria um novo banco de dados e, em seguida, cria um novo usuário no Banco de Dados do Azure para instância de servidor flexível PostgreSQL e concede privilégio 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 outros privilégios 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 cria uma tabela "função", 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. Inicie sessão no seu servidor, especificando a base de dados designada, utilizando o novo nome de utilizador e palavra-passe. Este exemplo mostra a linha de comando psql. Com este comando, é-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 --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: