Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/
GaussDB(DWS)/
Perguntas frequentes/
Conta, senha e permissão/
Como conceder permissões de esquema a um usuário?
Atualizado em 2024-05-09 GMT+08:00
Como conceder permissões de esquema a um usuário?
Esta seção descreve como conceder a permissão de consulta para um esquema como um exemplo. Para obter mais informações, consulte Como conceder permissões de tabela a um usuário? :
- Permissão para uma tabela em um esquema
- Permissão para todas as tabelas em um esquema
- Permissão para que as tabelas sejam criadas no esquema
Suponha que existem usuários u1 e u2, e dois esquemas nomeados após eles. O usuário u2 precisa acessar tabelas no esquema u1.
- Conecte-se ao seu banco de dados como dbadmin. Execute as instruções a seguir para criar os usuários u1 e u2. Dois esquemas serão criados e nomeados após os usuários por padrão.
1 2
CREATE USER u1 PASSWORD '{password}'; CREATE USER u2 PASSWORD '{password}';
- Crie as tabelas u1.t1 e u1.t2 no esquema u1.
1 2
CREATE TABLE u1.t1 (c1 int, c2 int); CREATE TABLE u1.t2 (c1 int, c2 int);
- Conceda a permissão de acesso do esquema u1 ao usuário u2.
1
GRANT USAGE ON SCHEMA u1 TO u2;
- Conceda ao usuário u2 a permissão para consultar a tabela u1.t1 no esquema u1.
1
GRANT SELECT ON u1.t1 TO u2;
- Inicie uma nova sessão e conecte-se ao banco de dados como usuário u2. Verifique se o usuário u2 pode consultar a tabela u1.t1, mas não a tabela u1.t2.
1 2
SELECT * FROM u1.t1; SELECT * FROM u1.t2;
- Na sessão iniciada pelo usuário dbadmin, conceda ao usuário u2 a permissão para consultar todas as tabelas no esquema u1.
1
GRANT SELECT ON ALL TABLES IN SCHEMA u1 TO u2;
- Na sessão iniciada pelo usuário u2, verifique se u2 pode consultar todas as tabelas.
1 2
SELECT * FROM u1.t1; SELECT * FROM u1.t2;
- Na sessão iniciada pelo usuário dbadmin, crie a tabela u1.t3.
1
CREATE TABLE u1.t3 (c1 int, c2 int);
- Na sessão iniciada pelo usuário u2, verifique se o usuário u2 não tem a permissão de consulta para u1.t3. Indica que o usuário u2 tem permissão para acessar todas as tabelas existentes no esquema u1, mas não as tabelas a serem criadas no futuro.
1
SELECT * FROM u1.t3;
- Na sessão iniciada pelo usuário dbadmin, conceda ao usuário u2 a permissão para consultar as tabelas a serem criadas no esquema u1. Crie tabela u1.t4.
ALTER DEFAULT PRIVILEGES é usado para conceder permissões em objetos a serem criados.
1 2
ALTER DEFAULT PRIVILEGES FOR ROLE u1 IN SCHEMA u1 GRANT SELECT ON TABLES TO u2; CREATE TABLE u1.t4 (c1 int, c2 int);
- Na sessão iniciada pelo usuário u2, verifique se o usuário u2 pode acessar a tabela u1.t4, mas não tem permissão para acessar u1.t3. Para permitir que o usuário acesse a tabela u1.t3, você pode conceder permissões executando 4.
1
SELECT * FROM u1.t4;
Tópico principal: Conta, senha e permissão
Feedback
Esta página foi útil?
Deixar um comentário
Obrigado por seus comentários. Estamos trabalhando para melhorar a documentação.
O sistema está ocupado. Tente novamente mais tarde.