quinta-feira, 22 de abril de 2010

Segurança no DB2 - Parte 1

Segurança em banco de dados

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.

sexta-feira, 9 de abril de 2010

DB2 tools

Dando continuidade a apresentação das ferramentas existentes no DB2 segue um pequeno resumo de cada uma delas:

Control Center






 


Esta é uma das principais ferramentas a qual é utilizada para administrar os bancos de dados a ela associados. É através dela também que pode-se chamar outras ferramentas, como o Configuration Assistent, o Task Center, o Command Editor, etc.

Praticamente todas as atividades de administração do banco de dados podem ser executadas a partir desta ferramenta, backup, restore, catalog de banco de dados, etc. Ele posssui uma série de ferramentas que auxiliam e automatizam bastante a administração do banco de dados tudo de forma gráfica e intuitiva, ou seja, sem a  necessidade de que seja executada uma série de comandos via linha de comando.

Através do Control Center é possível:

  • Adicionar banco de dados DB2, banco de dados federados, subsistemas DB2 para z/OS, sistemas IMS, instâncias e banco de dados remotos ou locais no menu TreeView do Control Center;
  • Gerenciar os objetos do banco de dados, através dele é possível criar, alterar ou excluir bancos de dados, tablespaces, tabelas, views, indexes, triggers e schemas. É possível também gerenciar os usuários;
  • Gerenciamento de dados, é possível carregar, importar, exportar, reorganizar e coletar estatítiscas sobre os dados;
  • Executar manutenções preventivas como Backup, e restore de banco de dados e tablespaces;
  • Agendar tarefas; embora para isto seja necessário criar um banco de dados específico para poder agendar tarefas pelo DB2;
  • Configurar e ajsutar instancias e banco de dados;
  • Gerenciar conexões com o banco de dados;
  • Monitorar e ajustar a performance do banco de dados;
  • Solucionar problemas;
  • Gerenciar a replicação de dados;
  • Gerenciar aplicações;
  • Gerenciar o bom funcionamento do sistema de banco de dados;
  • etc...


DB2 Replication Center

É a ferramenta utilizada para configurar e administrar as tarefas referentes a replicação de dados efetuados pelo DB2. Basicamente é a ferramenta responsável por gerar e sincronizar os dados de 2 bases de dados diferentes.


DB2 CLP (Command line Processor)

Resumidadamente é uma ferramenta na qual é possível digitar comandos via prompt de comando, sejam eles comandos DB2, comandos do sistema operacional ou comandos SQL.







DB2 Command Editor

A grosso modo pode-se dizer que é uma interface gráfica do DB2 CLP, no entanto com muitas opções a mais. Utilizado para executar comandos SQL, comandos DB2 e até mesmo comandos do sistema operacional (Ex.: !dir, executa o comando dir do SO). É uma aplicação gráfica que permite além de executar comandos SQL, visualizá-lo em uma grid, além de permitir ver o plano de execução da mesma através do View Explain.

DB2 Task Center

É a ferramneta a qual podemos agendar tarefas que devem ser executadas em um período de tempo, ou apenas uma única vez. Um bom exemplo seria o agendamento de backups do ou dos bancos de dados durante o período noturno, ou a execução de atualização das estatísticas do banco de dados em um horário específico. É uma ferramenta bastante poderosa e que merece ser estudada.

DB2 Health Center

É uma ferramenta usada para monitorar e ajudar o DBA no ajuste e otimização do banco de dados, sempre que possível apontando problemas ou possíveis problemas que podem ocorrer.

DB2 Journal

É onde podemos visualizar o histórico dos eventos que ocorerram no DB2, mensagens, ações alertas, etc... É um excelente ponto de referência na identificação de problemas. Através desta ferramenta podemos visualizar: Histórico de tarefas, histórico do banco de dados, mensagens e notificações de log. 


Configuration Assistent











É a ferramenta que auxilia na configuração da comunicação client/server entre a estação e o servidor de banco de dados, além de permitir que configure-se através dele as variáveis de registro. Resumindo é através dele que você pode configurar os bancos de dados (locais ou remotos) que você quer acessar.

Ele permite a configuração de comunicação de forma fácil e simples através de wizards.

Estas seriam as ferramentas mais usadas no DB2, obviamente existem muitas outras qe espero citá-las no futuro.

Uma dica de bom livro que mostra estas ferramentas e várias outras está no link abaixo:

http://www.ibm.com/developerworks/wikis/display/db2/free+book-+getting+started+with+db2+express-c


Críticas e sugestões são bem vindas,

Até a proxima

Ricardo Kazuo Baba
IBM Certified Database Administrator
DB2 9 DBA for Linux Unix and Windows






 















quinta-feira, 8 de abril de 2010

Olá a todos!

Depois de muito tempo sem atualizar este blog por motivos de trabalho e afins, estarei novamente atualizando o mesmo a fim de auxiliar todos aqueles que queiram aprender um pouco mais sobre o banco de dados DB2. Neste meio tempo em que deixei de postar no blog, consegui a minha segunda certificação em DB2 (731 - Database Administrator LUW), não foi fácil, mas consegui obtê-la.

Portanto nos próximos dias estarei continuando com uma série de apresentações a respeito dos recursos deste banco de dados.

T+

Ricardo Baba.