As contas de banco de dados gerenciam permissões no AnalyticDB for PostgreSQL. Uma conta pode ter permissões para executar operações em objetos do banco de dados. Antes de se conectar a um banco de dados ou operar em seus objetos, crie uma conta de banco de dados.
Tipos de conta
O AnalyticDB for PostgreSQL oferece dois tipos de contas de banco de dados:
-
Conta privilegiada: este tipo inclui a conta inicial criada no console e as contas criadas por meio de instruções SQL que possuem a função
RDS_SUPERUSER. Uma conta privilegiada tem todas as permissões operacionais em todos os bancos de dados. As permissões incluem:Permissões
CREATEROLE,CREATEDBeLOGIN. A conta pode criar bancos de dados e contas de banco de dados, além de fazer login nos bancos de dados. No entanto, ela não possui a permissãoSUPERUSER.Permissão para visualizar e modificar tabelas de dados de outras contas usando instruções
SELECT,UPDATEeDELETE, ou alterando o proprietário.Permissão para visualizar informações de conexão de outras contas, cancelar instruções SQL ou encerrar conexões.
Permissão para executar os comandos
CREATE EXTENSIONeDROP EXTENSIONpara criar e excluir extensões.Permissão para criar outras contas com a função
RDS_SUPERUSER.
NotaO AnalyticDB for PostgreSQL não concede a permissão SUPERUSER. A permissão correspondente é RDS_SUPERUSER, alinhada ao sistema de permissões do ApsaraDB RDS for PostgreSQL.
Conta padrão: por padrão, uma conta padrão não possui permissões. Uma conta privilegiada ou uma conta com a permissão
GRANTdeve conceder a ela permissões em um ou mais objetos do banco de dados.
Recomendações
Uma conta privilegiada possui todas as permissões operacionais em todos os bancos de dados. Para garantir a segurança dos dados, evite usar uma conta privilegiada para operações comerciais rotineiras. Em vez disso, crie contas padrão e conceda a elas apenas as permissões necessárias em objetos específicos do banco de dados. Essa prática ajuda a prevenir acessos e modificações não autorizados.
Crie uma conta
Crie uma conta inicial
A conta inicial é uma conta privilegiada que possui a função RDS_SUPERUSER. Crie uma conta inicial primeiro. Após fazer login no banco de dados com a conta inicial, você poderá criar outras contas privilegiadas ou padrão.
Não é possível excluir uma conta inicial. Se você esquecer a senha da conta inicial, redefina-a.
Crie uma conta inicial no console do AnalyticDB for PostgreSQL ou chame uma operação de API.
Console
Faça login no console do AnalyticDB for PostgreSQL. Na parte superior da página, selecione a região da sua instância. Em seguida, localize a instância e clique em ID dela.
No painel de navegação à esquerda, clique em Account Management.
-
Clique em Create Account. Na caixa de diálogo Create Account, insira um nome de conta e uma senha. Depois, clique em OK.
Parâmetro
Descrição
Account
O nome da conta inicial deve atender aos seguintes requisitos:
-
Conter apenas letras minúsculas, dígitos e sublinhados (_).
-
Começar com uma letra minúscula e terminar com uma letra minúscula ou dígito.
-
Não começar com
gp. -
Ter entre 2 e 16 caracteres.
New Password e Confirm Password
A senha deve atender aos seguintes requisitos:
-
Conter caracteres de pelo menos três das seguintes categorias: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais.
-
Os caracteres especiais suportados são
!@#$%^&*()_+-=. -
Ter entre 8 e 32 caracteres.
ImportantePara garantir a segurança dos dados, altere sua senha regularmente e não reutilize senhas anteriores.
-
API
Chame a operação de API CreateAccount para criar uma conta inicial.
Crie uma conta privilegiada RDS_SUPERUSER
Para criar uma conta privilegiada, conceda a função RDS_SUPERUSER ao criar a conta. Por exemplo:
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword' RDS_SUPERUSER;
Crie uma conta padrão
Uma conta padrão é uma conta de banco de dados sem a função RDS_SUPERUSER. Não é possível criar uma conta padrão no console do AnalyticDB for PostgreSQL ou chamando uma operação de API.
Crie uma conta padrão executando uma instrução SQL. Por exemplo:
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword';
Para obter a sintaxe SQL completa para criação de contas privilegiadas e padrão, consulte CREATE ROLE.
Visualize contas de banco de dados
O console do AnalyticDB for PostgreSQL exibe apenas a conta inicial. Ele não mostra outras contas privilegiadas ou padrão criadas por meio de instruções SQL. Consulte todas as contas privilegiadas (incluindo a conta inicial) e as contas padrão em uma instância usando uma instrução SQL ou chamando uma operação de API.
SQL
SELECT * FROM pg_roles;
As contasadbpgadmineauroranos resultados da consulta são contas do sistema.
API
Chame a operação de API DescribeAccounts para consultar todos os nomes de contas de banco de dados, seus tipos (privilegiada ou padrão) e o status de criação.
Utilize a operação de API DescribeDiagnosisDimensions para consultar todas as contas de banco de dados e bancos de dados. Esta operação não retorna os tipos de conta nem o status de criação.
Execute a operação de API DescribeRoles para consultar todas as contas de banco de dados. Esta operação não retorna os tipos de conta nem o status de criação.
Redefinir uma senha
Se você esquecer a senha de uma conta de banco de dados, redefina-a no console do AnalyticDB for PostgreSQL, executando uma instrução SQL ou chamando uma operação de API.
Console
No console, só é possível redefinir a senha da conta inicial. Para redefinir a senha de uma conta padrão, use uma instrução SQL.
Faça login no console do AnalyticDB for PostgreSQL. Na parte superior da página, selecione a região da sua instância. Em seguida, localize a instância e clique em ID dela.
No painel de navegação à esquerda, clique em Account Management.
Localize a conta e clique em Reset Password. Na caixa de diálogo, insira uma nova senha.
SQL
ALTER ROLE username WITH PASSWORD 'userPassword';
Para obter a sintaxe SQL completa para modificar a senha e outros atributos de uma conta de banco de dados, consulte ALTER ROLE.
API
Chame a operação de API ResetAccountPassword para redefinir a senha de uma conta.
Próximas etapas
Após a criação, uma conta padrão não possui permissões para operar ou acessar bancos de dados. Conceda a ela as permissões necessárias nos objetos do banco de dados. Para mais informações, consulte Manage account permissions.