A Oracle com a visão de aumentar ainda mais a segurança dos dados criou mais esta fantástica ferramenta, mas o que tem de mais nesta ferramenta? Bom, vamos pensar da seguinte forma, segurança nunca é de mais, afinal não sabemos de onde virá o ataque maléfico. Pois bem, vamos considerar que o banco de dados de sua empresa guarda informações que não devem ser de conhecimento de mais ninguém além do proprietário. Vamos tomar como exemplo uma tabela financeira que contém dados de cartão, salário entre outros campos, com o Oracle Database Vault pode-se criar uma barreira que nenhum usuário poderá ultrapassar e assim proteger suas informações.

Já falei um pouco do que pode ser feito com o Oracle Database Vault, agora vamos por a mão na massa e restringir o acesso de uma tabela e apenas o proprietário terá a permissão de visualização dos dados.

Primeiramente irei mostrar algumas diferenças na instalação do Oracle para que seja possível a utilização do Oracle Database Vault. A versão usada nesta demonstração foi o Oracle 11g Windows x64 v11.2.0.1.0, disponível no próprio site da Oracle. O processo de instalação é bem simples, porém temos que ficar atentos e informar para que o Oracle Database Vault também seja adicionado (Figura 1).

Tela de seleção de opções adicionais

Figura 1: Tela de seleção de opções adicionais

Após a instalação concluída com o Oracle Database Vault adicionado, iremos criar um usuário responsável por restringir o acesso dos dados. Para esse passo executamos o Assistente de Configuração de Banco de Dados (DBCA), no 'executar' do windows digite DBCA para inicializar o assistente. Em configuração de um banco de dados iremos marcar a opção Oracle Label Security e também Oracle Database Vault (Figura 2), agora sim que iremos criar nosso usuário, após ter criado o usuário com sua senha super segura temos nosso ambiente do Oracle Database Vault que poderá ser acessado pela browser, quase da mesma forma que Enterprise Manager, com a url https://localhost:1158/dva, lembrando que a porta 1158 é a padrão, caso tenha alterado durante a instação então terá que mudar na url também

. Configuração do Oracle Database Vault

Figura 2: Configuração do Oracle Database Vault

Com isso já poderemos brincar com a ferramenta e barrar o acesso de um objeto. Então vamos lá, irei usar o esquema SCOTT para a demonstração e a restrição será feita na tabela EMP. E ao final iremos notar que apenas dono do esquema irá ter acesso aos dados desta tabela.

Certo, vamos conectar com o usuário SYSTEM e executar uma consulta simples na tabela EMP do esquema SCOTT - SELECT emp.ename, emp.sal FROM scott.emp; - , apenas para observar que o resultado, que todos registros serão mostrados, o usuário SYSTEM tem todo o acesso sobre o esquema SCOTT. Agora começaremos a criar nossa barreira, vamos acessar nosso Database Vault (https://localhost:1158/dva) e criar um Realm (um agrupamento de esquemas, objetos e regras que devem ser protegidos)(Figura 3), em seguida iremos indicar qual objeto deverá ser protegido e para isso na tela de listagem de Realms selecionamos o que acabamos de criar e vamos editá-lo então criamos um “Objeto Protegido Por Reaml” onde o dono do obejeto será o SCOTT, o objeto será o que queremos protegerm no caso é “TABLE” e o nome do objeto é o nome da tabela que desejamos que seria “EMP” (Figura 4).

Criação de um Realm

Figura 3: Criação de um Realm

Criação de um objeto protegido

Figura 4: Criação de um objeto protegido

Neste ponto o usuário SYSTEM ou qualquer outro com privilégio SELECT ANY TABLE não terá acesso aos dados do esquema SCOTT, apenas o próprio SCOTT. Vamos executar nossa consulta novamente, conectado com o usuário SYSTEM, e o resultado é o seguite “ORA-01031: Privilégios Insuficientes” (Figura 5).

Consulta com usuário SYSTEM na tabale do esquema SCOTT

Figura 5: Consulta com usuário SYSTEM na tabale do esquema SCOTT

Com isso já conseguimos proteger aquela tabela com informações privadas impedindo que usuário de banco de dados com super privilégios possam visualizar seu conteúdo e fazer uso indevido com tais informações.

Esta é apenas uma das ferramentas que torna possível o aumento da segurança dos dados. Há outras ferramentas com essa finalidade, mas cada uma com sua particularidade, Oracle Advanced Security que nos possibilita tornar restrito determinada coluna de uma tabela. Também vale ressaltar que restringir acesso aos dados de um DBA não é a única função do Oracle Database Vault, é um mar de possibilidades dependerá de suas exigências, por exemplo se sua empresa tenha uma regra de acesso apenas em horário comercial, facilmente isso pode ser feito com esta ferramenta.