Artigo SQL Magazine 27 - Segurança em banco de dados: conceitos fundamentais

Este artigo aborda os conceitos fundamentais desse tipo de acesso - discricionário (catálogos), utilizando o banco de dados DB2 como exemplo, além de uma pequena introdução sobre a importância do uso de dados criptografados em sua rede.

Clique aqui para ler esse artigo em PDF.

Clique aqui para ler todos os artigos desta edição

 

Segurança em banco de dados: conceitos fundamentais

 

O banco de dados de uma empresa contém uma grande quantidade de dados e geralmente um grande número de usuários. A maioria destes usuários não tem a necessidade de acessar todos os dados. Assim, permitir o acesso irrestrito a todos os dados pode ser indesejável e o SGBD deve prover mecanismos para controlar este acesso.

Através do controle de acesso discricionário (catálogos), o banco de dados mantém um registro dos seus objetos e dos privilégios que cada usuário ou grupo de usuários possui sobre os mesmos. Este artigo aborda os conceitos fundamentais desse tipo de acesso, utilizando o banco de dados DB2 como exemplo, além de uma pequena  introdução sobre a importância do uso de dados criptografados em sua rede.

 

Controle de acesso discricionário

 

SGBDs controlam o acesso aos dados através do controle de acesso discricionário. Esse controle é baseado no conceito de direitos de acesso ou privilégios e a maneira de conceder estes privilégios aos usuários. Um privilégio permite que um usuário acesse o dado de certa maneira (por exemplo, lendo ou escrevendo o dado).

Um usuário que cria um objeto automaticamente adquire todos os direitos sobre o mesmo. A partir de então, o banco de dados guarda todos os privilégios que são  concedidos a outros usuários e desta forma, garante que apenas os usuários autorizados possam acessar este objeto.

Em praticamente todos os bancos de dados, o controle de acesso discricionário é implementado através do uso dos comandos GRANT e REVOKE. O comando GRANT concede privilégios sobre os objetos do banco de dados (tabelas e visões, dentre outros) a outros usuários enquanto que o comando REVOKE revoga os privilégios concedidos. Para um melhor entendimento do mecanismo de acesso discricionário,

é importante compreender a definição de privilégios, objetos e usuários:

Usuários: são as pessoas que estão representadas por um nome de autorização. Os usuários podem ser classificados em grupos de acordo com um perfil ou nível de autorização. Um usuário que pertence a um grupo, implicitamente, recebe os privilégios relacionados ao grupo que ele pertence;

Privilégio: define uma permissão individual associada a um nome autorizado, habilitando-o a acessar ou modificar um recurso do banco de dados. Os privilégios

também podem ser concedidos a grupos de usuários;

Objetos: os usuários necessitam de privilégios para acessar os objetos guardados no banco de dados. Os privilégios variam de acordo com a natureza do objeto. Por exemplo, uma tabela possui uma lista de privilégios diferente das visões. São exemplos de objetos: tabelas, visões, índices, triggers, entre outros.

 

O comando GRANT

 

A sintaxe do comando GRANT é a seguinte:

GRANT privilégios ON objeto TO usuários [WITH GRANT OPTION]

Onde:

Privilégios: denota, por modelar:

o SELECT: o direito de leitura sobre as colunas da tabela especificada;"

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados