Compartilhar 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 consultar o artigo RBAC (controle de acesso baseado em função) do Azure ou examinar como personalizar funções.

A conta do administrador do servidor

Quando a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL foi criada, você forneceu um nome de usuário 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.

A instância do 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 é um membro da função azure_pg_admin. Entretanto, a conta de administrador do servidor não faz parte da função azuresu. 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 servidor flexível do Banco de Dados do Azure para 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 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 mais usuários administradores no servidor flexível do Banco de Dados do Azure para PostgreSQL

  1. Obter o nome de usuário do administrador e as informações de conexão. Você precisa do nome completo do servidor e das credenciais de entrada de administrador para se conectar à 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 ou na página Propriedades do servidor no portal do Azure.

  2. Use a conta de administrador e a senha para se conectar à instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. 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 seu novo nome de usuário pelo valor de espaço reservado <new_user> e a senha de espaço reservado com 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 servidor flexível do Banco de Dados do Azure para PostgreSQL

  1. Obter o nome de usuário do administrador e as informações de conexão. Você precisa do nome completo do servidor e das credenciais de entrada de administrador para se conectar à 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 ou na página Propriedades do servidor no portal do Azure.

  2. Use a conta de administrador e a senha para se conectar à instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. 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.

    Este código SQL abaixo cria um novo banco de dados, em seguida, cria um novo usuário na instância de servidor flexível do Banco de Dados do Azure para 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, você pode 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 e 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 --dbname=newdb
    

Próximas etapas

Abra o firewall dos endereços IP dos computadores dos novos usuários para permitir que conectem-se: