Segurança é hoje um dos aspectos mais importantes na área de TI. Todo o qualquer sistema corporativo deve ter muito bem definido suas políticas de segurança. Para garantir que estas políticas de segurança sejam implementadas deve-se utilizar ferramentas que suportem e atendam os requisitos definidos na política de segurança da empresa. Com base nisto será apresentado uma breve visão sobre os aspectos de segurança existentes no DB2.
Com relação a um plano de segurança em banco de dados o mesmo deve definir:
- Quem está autorizado a acessar as insâncias ou banco de dados;
- Onde e como as senhas dos usuários serão verificados;
- O nível de autoridade e permissões dos usuários;
- Os comandos que os usuários poderão executar;
- Os dados que os usuários poderão ler ou alterar;
- Quais objetos do banco de dados os usuários poderão manupular (criar, apagar, alterar);
Mecanismos de segurança do DB2
Existem 3 mecanismos de segurança no DB2 que permitem implementar um plano de segurança em banco de dados, são eles: Autenticação, autorização e privilégios.
Autenticação:
É o primeiro recurso de segurança que você encontrará quando tentar acessar uma instância ou um banco de dados. A autenticação no DB2 trabalha em conjunto com os recusos de segurança existentes no sistema operacional o qual ele está rodando, verificando assim a identificação do usuário e sua respectiva senha. O Db2 pode utilizar também protocolos de segurança como o Kerberos para autenticação de usuários.
Autorização:
Autorização determina que operações os usuários ou grupos de usuários podem executar e que tipos de objetos eles podem acessar. A capacidade de um usuários executar operações de alto-nível no banco de dados ou em instâncias é determinada pelo nível de autorização o qual lhe foi concedido. Existem 4 níveis de autorização a nível de instância no DB2 são elas: SYSADM, SYSCTRL, SYSMAINT e SYSMON.
- SYSADM : Para usuários que necessitam de controle total da instância;
- SYSCTRL: Para usuários que necessitam administrar a instância;
- SYSMAINT: Para usuários que necessitam desempenhar tarefas de manutenção em uma instância;
- SYSMON: Para usuários que necessitam monitorar uma instância e os bancos de dados nela contidos;
A figura abaixo mostra as autoridades os papéis que desempenham:
A nível de banco de dados existem 7 níveis de autorização são elas: SECADM, DBADM, ACCESSCTRL, DATAACCESS, SQLADM, WLMADM e EXPLAIN.
- SECADM: Para usuários que gerenciam a segurança no banco de dados;
- DBADM: Usuários que administram o banco de dados;
- ACCESCTRL: Para usuários que precisam conceder e retirar autoridades e privilégios ( exceto para autoridades SECADM, DBADM, ACCESSCTRL e DATAACCESS, a autoridade SECADM é requerida para conceder ou retirar estas autorixações)
- DATAACCESS – Para usuários que necessitam acessar os dados;
- SQLADM – para usuários que monitoram e ajustam consultas SQL;
- WLMADM – Para usuarios que gerenciam workloads;
- EXPLAIN – para usuários que necessitam executar planos de execução de consultas;
A figura abaixo detalha isto melhor:
Privilégios:
Podem ser associados a um usuário ou grupo de usuários, e definem quais objetos um usuários pode criar ou excluir de um banco de dados. Eles também definem os comandos que um usuário pode executar para acessar objestos do banco de dados como tabelas views, índices e packages. No DB2 9 ainda existe o conceito de label-based access control ou LBAC que permite um controle ainda ais delatalhado de acesso do usuários podendo limitar o acesso a colunas ou linhas de registros.
Por hora seria isto, na próxima parte continuaremos falando sobre segurança no DB2.
Até a próxima.



