1
resposta

Como criar acesso a somente as view

O professor fala que da para criar acesso somente a view no postgres, como seria feito isso ? Na documentação do postgres fala de permissão de SELECT mas dessa forma a pessoa conseguiria acessar as minhas tabelas gostaria de dar acesso a somente as view como seria possível fazer isso, se tiver um código exemplo agradeço.

1 resposta

Oi, João! Tudo certo?

Desde já, peço desculpas pela demora em te responder.

Para dar a um usuário acesso somente às views, podemos seguir o passo a passo abaixo:

  1. Acessar o seu pgAdmin;

  2. Clicar sobre o seu servidor e sobre o banco de dados em que você deseja trabalhar;

  3. Clicar no ícone de terminal, referente ao PSQL:

    Botão do PSQL no PgAdmin.

  4. Criar um novo usuário, escrevendo seu nome e digitando sua senha:

    CREATE USER novo_usuario WITH PASSWORD 'senha';
  5. Conceder ao usuário criado o acesso a uma view específica, utilizando o comando GRANT:

    GRANT SELECT ON nome_da_view TO novo_usuario;

Feito isso, o usuário criado só conseguirá realizar SELECT da view especificada, não podendo ter um contato direto com as tabelas do nosso banco de dados!

João, se você quiser fazer testes de consulta com o novo usuário, você pode abrir uma nova Query Tool e clicar sobre a sua conexão atual e escolher a opção "< New Connection...>" (Nova Conexão):

Seleção de nova conexão no PgAdmin.

Depois, escolha o seu banco de dados e o usuário que irá acessá-lo, selecionando uma nova opção em "Database" (Banco de Dados) e "User" (Usuário):

Seleção de Banco de Dados e Usuário, para uma nova conexão, no PgAdmin.

Por fim, basta clicar em "Save" (Salvar) e digitar a senha do seu novo usuário!

Espero ter ajudado! No entanto, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao seu cenário, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!