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.

sexta-feira, 20 de fevereiro de 2009

Edições do DB2

Olá a todos que acompanham este blog.

Inicialmente gostaria de falar um pouco a respeito das diversas edições do DB2. Vou fazer uma explanação rápida de cada uma delas apenas para demonstrar quão abrangente podem ser as soluções baseadas em DB2. Como vamos ver a seguir podemos ter soluções baseadas em DB2 desde um simples dispositivo móvel até soluções para mainframes. Não será o propósito deste documento explicar cada uma das versões de forma delatalhada, será apenas para dar uma visão geral de cada edição do DB2. Maiores detalhes poderão ser obtidos no site da própria IBM.

A figura a seguir nos mostra todas as edições do DB2, com isto podemos observar também que o DB2 pode se adaptar a todo tipo e área de negócio de uma empresa.




Um grande benefício em utilizar o DB2 é a portabilidade, basicamente 90% de tudo que for desenvolvido ou feito em uma determinada plataforma pode ser reaproveitada em outra plataforma, sendo que os outros 10% de código podem ser nativos a plataforma ou ao sistema operacional. Esta característica garante muita escalabilidade e portabilidade ao DB2, permitindo por exemplo que uma empresa não perca seu investimento quando necessitar mudar de plataforma ou mesmo quando necessitar de mais recursos e tiver que mudar para uma edição com mais recursos.

A figura acima não demonstra 2 outras versões do DB2 que seriam elas o DB2 for System i e o DB2 for System z. Estas versões foram desenvolvidas especificamente para seus respectivos sistemas operacionais no caso o i5/OS e o z/OS respectivamente. Mesmo para esta plataforma cerca de 95% de todo código SQL pode ser portado.

A seguir falarei brevemente sobre cada uma das edições do DB2

DB2 Everyplace

Esta edição é destinada a dispositivos móveis. Pode ser usado nos mais diversos sistemas operacionais destinados a dospositivos móveis como : Palm OS, Microsoft Windows Mobile Edition,, Symbian, QNX Neutrino, dipositivos Java 2 Platform Micro Edition (J2ME) (ex: Blackberry), edições Linux embarcados como BlueCat Linux)e muitas outras plataformas móveis.
Esta versão é ideal para sistemas que necessitam armazenar dados em seus dopositivos móveis e depois serem sincronizados com um banco de dados coorporativo.

DB2 Personal Edition

Esta edição é destinada ao uso pessoal, geralmente desktops. Existem versões para Linux e Windows. Ele possui todos os recursos da edição Express, exceto pelo fato desta versão não aceitar conexões remotas ( contudo é possível através do Control Center efetuar rotinas administrativas remotas), já que o mesmo é destinado ao uso pessoal. Obviamente como dito anteriormente o código gerado nesta versão dp DB2 pode ser portado para outras edições sem problema. Por exemplo você pode desenvolver aplicações na versão Personal e portá-las para a versão Enterprise rodando em AIX.

DB2 Express - C

É a versão gratuíta do DB2, atualmente o mesmo se encontra na versão 9.5.2 a qual possui uma gama muito grande de recursos se comparados com outras versões gratuitas de outros fornecedores de banco de dados. Talvez a mais interessante seja o suporte a 2 Gb de memória e a ausência de limite do tamanho do banco de dados. Certamente é uma opção muito interessante para pequenas e médias empresas. Esta versão não possui alguns recursos os quais podemos citar:

• HADR
• Replicação
• Suporte 24x7 da IBM

No entanto, estes recursos podem ser adquirdos à parte pagando uma taxa para a IBM.
Nos exemplos e testes que irei efetuar neste blog estarei utilizando esta versão.

DB2 Express Edition

É uma edição comercial de entrada contendo praticamente os mesmos recursos da versão Workgroup, no entanto com limitações quanto a quantidade de memória e processador. Existem versões para Linux e Windows e assim como as demais edições do DB2 podem ser incluídos recursos de outras edições do DB2 a fim de utilizar alguma nova funcionalidade caso seja necessária.

DB2 Workgroup Edition

Esta edição tem suporte aos sistemas operacionais UNIX, Linux e Windows. Possui praticamente os mesmos recursos da edição Express no entanto com menos limitações. Recursos existentes na versao Enterprise podem ser incorporados a ela. É ideal para servidores departamentais ou mesmo para pequenas e médias empresas.

DB2 Enterprise Edition

Disponpivel para os seguintes sistemas operacionais: Linux, UNIX e Windows. Possui todas as funcionalidades da versão Express e Workgroup e ainda possui algumas outras funcionalidades extras existentes apenas nesta versão como por exemplo o recurso de optimização de armazenamento ( DB2 9 Storage Optimization Feature) e de particionamento de dados.
Esta versão é voltada para servidores com grande capacidade de processamento e empresas que necessitam administrar grandes volumes de informação com segurança e performance.

Data Enterprise Developer Edition

Esta é uma edição especial destinada a desenvolvedores ela contém vários produtos da IBM a fim de dar suporte aos desenvolvedores de sistemas que utilizam o DB2.
Entre estes produtos estão:

• DB2 Workgroup 9 and DB2 Enterprise 9
• IDS Enterprise Edition
• IBM Cloudscape/Apache Derby
• DB2 Connect Unlimited Edition
• E todos os demais produtos adicionais do DB2


Aqui encerro esta visão geral sobre as edições do DB2. Na próximo post espero falar um pouco mais sobre a inslatação e as ferramentas existementes no DB2.

Ricardo Kazuo Baba
IBM Certified Database Associate
DB2 9 Fundamentals
ricardo.baba@gmail.com

quinta-feira, 12 de fevereiro de 2009

Bem-vindo

Olá a todos !

Este blog é indicado a todos aqueles que desejam aprender a utilizar este fantástico banco de dados da IBM conhecido como DB2. Muitas vezes não encontramos muito material a respeito de DB2 principalmente em português.
Este blog tem a intenção de ajudar e mostrar muitos dos recursos existentes no DB2 seja na configuração e administração do mesmo ou mesmo na utilização de ferramentas de desenvolvimento utilizando DB2.

Espero que atenda a expectativa de todos que tem interesse em aprender um pouco mais sobre este banco de dados.

Um abraço a todos,

Ricardo Kazuo Baba
IBM Certified Database Associate
DB2 9 Fundamentals