Atenção: esse artigo tem uma palestra complementar. Clique e assista!

De que trata o artigo:

O artigo aborda os conceitos relacionais com gerenciamento de usuários e permissões de acesso em SGBD’s, focando o PostgreSQL. Neste artigo, foi implementado um estudo de caso para demonstrar na prática as funções do PostgreSQL no que se refere ao gerenciamento de usuários.


Para que serve:

O conteúdo deste artigo visa solucionar problemas inerentes do acesso a dados em um SGBD, buscando formas eficientes de controlar as permissões dos usuários.


Em que situação o tema é útil:

Em toda aplicação com conexão a banco de dados é importante o controle de acesso diferenciado para cada papel de usuário no sistema. Tendo em vista isto, este artigo torna-se uma boa opção de fonte de pesquisa.

A segurança dos sistemas de informação engloba um número elevado de áreas que poderão estar sob a responsabilidade de uma ou várias pessoas. Entre estas áreas encontram-se a segurança de redes, a segurança física, a segurança de computadores, a segurança das aplicações, a segurança da informação etc.

O responsável pela implementação da segurança dos sistemas de informação em uma organização possui como primeira missão, e mais importante, a garantia da segurança da informação que protege. Esta garantia é conseguida mediante a utilização de vários instrumentos.

Uma política de backup e recuperação de dados adequadamente elaborada e executada protegerá a organização contra a perda de informação devido a falhas de hardware, defeitos de software, erros humanos, intrusos, sabotagem e desastres naturais. Entretanto, esta não é a única maneira existente de proteção das informações. Afinal, precisamos mais do que uma solução relativa ao acontecimento de falhas.

Quando se trata de proteger informações guardadas em banco de dados, nos preocupamos em que dados proteger e como protegê-los. Os SGBD’s atuais nos fornecem poderosas ferramentas que auxiliam em tais tarefas. Sendo os bancos de dados sistemas de armazenamento de informação, e sendo esta um elemento de elevado valor, quer seja financeiro, quer seja estratégico, é necessário que haja algum tipo de controle de acesso a essa informação.

Para mantermos a integridade das informações e realizarmos auditoria das mesmas, podemos utilizar os recursos dos gatilhos. Além disso, podemos fazer uso de uma linguagem especial para controle de acesso e permissão aos dados. Esta linguagem é a DCL (Data Control Language – Linguagem de Controle de Dados). Ela é um subconjunto da SQL para o controle de permissões dos usuários aos objetos do banco de dados.

Neste artigo, será demonstrado o funcionamento do controle de permissões de acesso aos objetos do banco de dados PostgreSQL.

Administrando Usuários e Privilégios no PostgreSQL

Todo agrupamento de bancos de dados possui um conjunto de usuários de banco de dados. Estes usuários são distintos dos usuários gerenciados pelo sistema operacional onde o servidor executa. Eles possuem objetos de banco de dados (por exemplo, tabelas, visões etc.), e podem conceder privilégios nestes objetos para outros usuários controlando, assim, quem pode acessar qual objeto.

A DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. Os nomes dos usuários de banco de dados são globais para todo o agrupamento de bancos de dados (e não apenas próprio de cada banco de dados).

No decorrer deste artigo, veremos conceitos relacionados a usuários, grupos e “roles” (papéis), ao passo que aprenderemos como criá-los e quando utilizá-los em nossas aplicações.

Criação de Usuário de Banco de Dados – CREATE USER

Como foi mencionado, existem usuários que são independentes do sistema operacional, que servem para manipular objetos do SGBD.

No PostgreSQL existe o comando CREATE USER que adiciona um novo usuário no bancos de dados. Este comando já foi muito utilizado, mas mesmo ainda funcionando, hoje é apenas um alias para o comando CREATE ROLE que veremos mais adiante. O comando genérico de criação de um usuário está exibido na Listagem 1.

Listagem 1. Comando de Criação de um gatilho no PostgreSQL

CREATE USER nome [ [ WITH ] opção [ ... ] ]

As opções que acompanham este comando estão listadas na Tabela 1.

Tabela 1. Opções do comando CREATE USER.

Removendo um Usuário no Banco de Dados – DROP USER

Uma vez criado no banco de dados, o comando DROP USER remove o usuário especificado. Porém, esse comando não remove as tabelas, visões ou outros objetos pertencentes ao usuário. Se o usuário possuir algum banco de dados, uma mensagem de erro será gerada.

...
Quer ler esse conteúdo completo? Tenha acesso completo