Como criar usuários e tabelas de banco de dados privados?
Cenário
O administrador do sistema dbadmin tem permissão para acessar tabelas criadas por usuários comuns por padrão. Quando a Separação de permissões está ativada, o administrador dbadmin não tem permissão para acessar tabelas de usuários comuns ou executar operações de controle (DROP, ALTER e TRUNCATE).
Se um usuário privado e uma tabela privada (tabela criada pelo usuário privado) precisarem ser criados, e a tabela privada puder ser acessada apenas pelo usuário privado e o administrador do sistema dbadmin e outros usuários comuns não tiverem permissão para acessar a tabela (INSERT, DELETE, UPDATE, SELECT e COPY). No entanto, o administrador do sistema dbadmin às vezes precisa executar as operações DROP, ALTER ou TRUNCATE sem autorização do usuário privado. Neste caso, pode criar um usuário (usuário privado) com o atributo INDEPENDENT.
![Clique para ampliar](https://support.huaweicloud.com/intl/pt-br/dws_faq/figure/pt-br_image_0000001447013230.png)
Princípios
Esta função é implementada através da criação de um usuário com o atributo INDEPENDENT.
INDEPENDENT | NOINDEPENDENT define funções privadas e independentes. Para uma função com o atributo INDEPENDENT, os direitos dos administradores para controlar e acessar essa função são separados. As regras específicas são as seguintes:
- Os administradores não têm direitos para adicionar, excluir, consultar, modificar, copiar ou autorizar os objetos de tabela correspondentes sem a autorização da função INDEPENDENT.
- Os administradores não têm direitos para modificar a relação de herança da função INDEPENDENT sem a autorização desta função.
- Os administradores não têm direitos para modificar o proprietário dos objetos de tabela para a função INDEPENDENT.
- Os administradores não têm direitos para alterar a senha do banco de dados da função INDEPENDENT. A função INDEPENDENT deve gerenciar sua própria senha, que não pode ser redefinida se perdida.
- O atributo SYSADMIN de um usuário não pode ser alterado para o atributo INDEPENDENT.
Procedimento
- Conecte-se ao banco de dados do DWS como usuário dbadmin.
- Execute a seguinte instrução SQL para criar o usuário privado u1:
1
CREATE USER u1 WITH INDEPENDENT IDENTIFIED BY 'password';
- Alterne para o usuário u1, crie a tabela test e insira dados na tabela.
1 2 3
CREATE TABLE test (id INT, name VARCHAR(20)); INSERT INTO test VALUES (1, 'joe'); INSERT INTO test VALUES (2, 'jim');
- Alterne para o usuário dbadmin e execute a seguinte instrução SQL para verificar se o usuário dbadmin pode acessar a tabela privada test criada pelo usuário privado u1:
1
SELECT * FROM u1.test;
O resultado da consulta indica que o usuário dbadmin não tem a permissão de acesso. Isso significa que o usuário privado e a tabela privada foram criados com sucesso.
- Execute a instrução DROP como usuário dbadmin para excluir a tabela test.
1
DROP TABLE u1.test;
Conta, senha e permissão Perguntas frequentes
- Como o GaussDB(DWS) implementa o isolamento da carga de trabalho?
- Como alterar a senha de uma conta de banco de dados quando a senha expira?
- Como conceder permissões de tabela a um usuário?
- Como conceder permissões de esquema a um usuário?
- Como criar um usuário somente leitura do banco de dados?
- Como criar usuários e tabelas de banco de dados privados?
- Como revogar a permissão CONNECT ON DATABASE de um usuário?
- Como visualizar as permissões da tabela de um usuário?
- Quem é o usuário Ruby?
Feedback
Esta página foi útil?
Deixar um comentáriomore