Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 do RBAC (controle de acesso baseado em função) do Azure ou examinar 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, você forneceu um nome de usuário e senha do administrador do servidor. Para obter mais informações, consulte Criar um Banco de Dados do Azure para PostgreSQL para ver a abordagem passo a passo. Como o nome de usuário do 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, 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 recebe estes privilégios:
- Entrar, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE
A conta de usuário do 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 tenham acesso a bancos de dados e esquemas individuais.
Como criar mais usuários administradores no Banco de Dados do Azure para PostgreSQL
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 do 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 do servidor ou na página Propriedades no portal do Azure.
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 de cliente preferencial, como pgAdmin ou psql. Se você não tiver certeza de como se conectar, consulte Criar um Banco de Dados do Azure para PostgreSQL.
Edite e execute o código SQL a seguir. Substitua seu novo nome de usuário pelo valor do 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
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 do 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 do servidor ou na página Propriedades no portal do Azure.
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 de cliente preferencial, como pgAdmin ou psql.
Edite e execute o código SQL a seguir. Substitua o valor
<db_user>do espaço reservado pelo novo nome de usuário pretendido e pelo valor<newdb>de espaço reservado pelo seu próprio nome de banco de dados. Substitua a senha do espaço reservado por sua própria senha forte.Esse código SQL abaixo cria um novo banco de dados e 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>;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 de banco de dados e 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 de acesso à 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>;Entre no 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 esse comando, você será solicitado a fornecer a senha para o nome de usuário. 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