Este tópico explica como usar o modelo de permissão simples e o modelo de autorização padrão do PostgreSQL para conceder permissões de desenvolvimento em uma instância Hologres a um usuário RAM.
Informações básicas
Por padrão, a conta Alibaba Cloud usada para adquirir uma instância torna-se o superusuário dessa instância. O superusuário tem todas as permissões na instância, como criar e excluir bancos de dados, criar funções e conceder permissões a funções.
Uma conta Alibaba Cloud deve autorizar um usuário RAM a acessar uma instância. Também é possível atribuir a função Superuser a um usuário RAM.
Mesmo que um usuário RAM tenha permissão para adquirir instâncias, ele só poderá desenvolver dados em uma instância Hologres após uma conta Alibaba Cloud conceder-lhe permissões de desenvolvimento nessa instância.
As permissões RAM e as permissões de desenvolvimento de instância são controladas de forma diferente. Para mais informações, consulte Grant permissions to a RAM user.
Conceder permissões usando o modelo de permissão simples (Recomendado)
Para conceder permissões visualmente no console de gerenciamento do Hologres, siga estas etapas:
-
Crie um usuário.
Faça login no site oficial da Alibaba Cloud com sua conta Alibaba Cloud.
Acesse o console de gerenciamento do Hologres e clique em nome da instância desejada para abrir a página de detalhes.
No painel de navegação à esquerda da página de detalhes da instância, clique em Account Management. A página Users abre por padrão.
Na página Users, clique em Add User no canto superior direito.
-
Na caixa de diálogo Add User, use a caixa de pesquisa para localizar e selecionar o usuário desejado. Na seção Select Member Role, selecione Superuser ou Normal user e clique em OK.
Parâmetro
Descrição
Select Organization Member
Selecione o usuário RAM ao qual deseja conceder permissões e adicione-o à instância.
Select Member Role
-
Superuser: tem todas as permissões operacionais na instância.
-
Normal user: não tem permissões operacionais na instância por padrão.
Conceda permissões específicas ao usuário RAM antes que ele possa se conectar e usar a instância Hologres.
-
Clique em OK.
-
Opcional: Conceda permissões ao usuário. Esta etapa é obrigatória caso você tenha selecionado Normal user.
-
Na página Users, clique em DB Authorization no painel de navegação à esquerda.
Se a página DB Management não tiver bancos de dados, execute as seguintes operações:
Clique em Create Database.
Configure o Instance Name, insira um Database Name e defina o Permission Model como SPM.
Acesse a página DB Authorization. Na coluna Actions, clique em .
-
Na caixa de diálogo Grant Permission, selecione o usuário desejado na lista suspensa User. Na seção User Group, escolha uma função: Admin, Developer, Writer ou Viewer. Em seguida, clique em OK.
Parâmetro
Descrição
User
Usuário RAM ao qual você deseja conceder permissões.
User Group
-
Admin: pode gerenciar todos os objetos e grupos de usuários no banco de dados.
-
Developer: pode usar instruções DDL para criar, excluir ou modificar objetos de banco de dados, além de ler e gravar nesses objetos.
-
Writer: pode ler e gravar em objetos de banco de dados.
-
Viewer: tem permissões somente leitura em todos os objetos do banco de dados.
-
Clique em OK.
Também é possível usar o modelo de permissão simples para conceder permissões a um usuário RAM executando instruções SQL. Para mais informações, consulte Use the simple permission model.
-
Conceder permissões usando o modelo padrão do PostgreSQL
Para conceder permissões a um usuário RAM usando o modelo de autorização padrão do PostgreSQL, siga estas etapas:
-
Crie um usuário.
Adicione o usuário RAM à instância Hologres. Exemplo:
CREATE USER "p4_UID"; // The ID is the UID of the Alibaba Cloud RAM user. CREATE USER "p4_UID" SUPERUSER; // Grants the superuser role to the RAM user. -
Conceda permissões ao usuário.
Conceda ao usuário RAM as permissões necessárias para acessar objetos específicos. Exemplo:
GRANT SELECT ON TABLE TABLENAME TO "p4_UID"; // Grants the RAM user the SELECT permission on a table. GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO "p4_UID"; // Grants the RAM user the SELECT, INSERT, and UPDATE permissions on all tables in the PUBLIC schema.NotaSomente um superusuário ou o proprietário da tabela pode excluí-la.
Para mais informações sobre autorização no modelo padrão do PostgreSQL, consulte Standard PostgreSQL authorization model.
Usar o Hologres como usuário RAM
Após a concessão das permissões, o usuário RAM poderá se conectar e usar a instância Hologres a partir de um cliente PSQL. Para mais informações, consulte PSQL client.
Exemplo:
PGUSER=<AccessID> PGPASSWORD=<AccessKey> psql -p <Port> -h <Endpoint> -d <Database>
Visualizar permissões de usuário RAM
Visualize as permissões de um usuário RAM usando instruções SQL.
Após conectar-se à instância Hologres usando uma ferramenta de desenvolvimento, execute as seguintes instruções SQL para visualizar as permissões do usuário RAM.
SELECT * FROM pg_roles WHERE rolname = 'p4_UID'; // View the roles of a specific member.
SELECT rolname FROM pg_roles;
SELECT user_display_name(rolname) FROM pg_roles;
Execute o comando SELECT * FROM pg_catalog.pg_roles; para visualizar as permissões de todos os usuários.