Configurando segurança global no WebSphere Lombardi Edition V7.2 usando Tivoli Directory Server V6.3

Aprenda como configurar segurança global no IBM® WebSphere® Lombardi® Edition V7.2 usando um servidor do LDAP. Isso ajuda os usuários corporativos a fazer login e usar os vários aplicativos do Lombardi Edition, e permite ao departamento de TI um controle de acesso melhor. Este tutorial usa IBM Tivoli® Directory Server V6.3 como o servidor do LDAP, e IBM DB2® como o banco de dados.

Ashok Iyengar, Senior Software Engineer, IBM WebSphere Enablement Team

Ashok Iyengar é membro da equipe Pre-sales Tech Team do IBM Software Services para WebSphere (ISSW). Ele trabalhou intensamente com a plataforma WebSphere Business Integration fazendo prova de conceitos, pilotos e design de arquitetura. Ele gosta de escrever. O mais recente livro de Ashok é WebSphere Business Integration Primer.



20/Jul/2011

Introdução

WebSphere Lombardi Edition V7.2 (daqui em diante chamado de Lombardi Edition) oferece melhores opções de integração com WebSphere Process Server, iLOG, FileNet e DB2®. Um servidor de protocolo LDAP é um repositório de diretório que armazena informações do usuário (tais como IDs de usuário e senha) e autentica usuários. Este tutorial mostra como configurar segurança global no Lombardi Edition usando um servidor do LDAP. Isso ajuda os usuários corporativos no LDAP a fazer login e usar os vários aplicativos do Lombardi Edition e permite ao departamento de TI um controle de acesso melhor. O servidor do LDAP usado neste exemplo é o Tivoli Directory Server V6.3, que está usando DB2 como seu banco de dados.

Objetivos

Neste tutorial, você aprenderá a:

  • Instalar e configurar Tivoli Directory Server.
  • Criar e importar um arquivo LDAP Data Interchange Format (LDIF).
  • Configurar a segurança do WebSphere usando repositórios federados.

Pré-requisitos

É preciso estar familiarizado com:

  • WebSphere Lombardi Edition V7.2
  • Um servidor do LDAP e esquema LDAP
  • Um sistema de banco de dados relacional, como DB2

Requisitos do sistema

É necessário WebSphere Lombardi Edition V7.2 executado em uma plataforma distribuída com acesso a DB2 V9.7.1. Você tem a opção de instalar o Tivoli Directory Server V6.3 em um servidor Windows® ou em uma plataforma Linux.

Duração

2 horas


Instalando Lombardi Edition V7.2

Este tutorial considera que você instalou com sucesso o WebSphere Lombardi Edition 7.2. Neste tutorial, <WLE_HOME> refere-se a C:\IBM\Lombardi720.

  1. Acesse <WLE_HOME>/AppServer/profiles/Lombardi/bin. Use o utilitário serverStatus para descobrir se server1 está sendo executado. Insira o comando serverStatus -all.
  2. Verifique se você pode iniciar o Integrated Soluto findions Console, conhecido comumente como WebSphere Administrative Console. A URL padrão é http://<HOST_NAME>:9060/ibm/console.
    1. Se você conseguir fazer login usando tw_user como ID do usuário e senha, isso confirmará que server1 está funcionando corretamente.
    2. Agora você pode efetuar logoff.

Instalando Tivoli Directory Server V6.3

A suposição é que você tem uma instalação DB2 e uma instância do WebSphere Application Server (daqui em diante chamado de Application Server).

Observação: o servidor Tivoli Directory Server V6.3 não é suportado no Windows XP. É possível usar um servidor Windows ou uma máquina Linux.

  1. Acesse a pasta de origem TDS, <TDS_SOURCE>/TDS/tds. Chame install_tds.exe. Depois da tela de Boas Vindas e do contrato de licença, o assistente de instalação do Tivoli Directory Server detecta a instância do DB2 no sistema.
  2. Escolha a instalação Custom, como mostra a Figura 1, pois você não irá instalar todos os recursos.
    Figura 1. Opções do tipo de instalação do Tivoli Directory Server
    Opções do tipo de instalação do Tivoli Directory Server
  3. É possível cancelar a seleção de Embedded WebSphere Application Server na lista de recursos, como mostra a Figura 2, pois você usará uma instância existente do Application Server. DB2 já deve estar desmarcado.
    Figura 2. Recursos de instalação do Tivoli Directory Server
    Recursos de instalação do Tivoli Directory Server
  4. O assistente de instalação do Tivoli Directory Server detecta todas as instâncias do Application Server.
  5. Na lista de instâncias que ele detectou, nós decidimos usar o AppServer integrado no Lombardi Edition V7.2, como mostra a Figura 3.
    Figura 3. Escolhendo o WebSphere Application Server
    Escolhendo o WebSphere Application Server
  6. Na tela Summary, clique em Install.
  7. Quando a instalação terminar, clique em Finish. Você perceberá que a ferramenta Tivoli Directory Server Instance Administration está sendo iniciada.

A próxima etapa é criar uma instância do servidor de diretório e um administrador para essa instância.


Criando uma instância do Tivoli Directory Server

  1. Inicie a Instance Administration Tool do Tivoli Directory, se ela não tiver sido iniciada (Start > All Programs > IBM Tivoli Directory Server 6.3 > Instance Administration Tool).
  2. Clique em Create an instance.
  3. Crie uma nova instância do servidor de diretório em vez da padrão, pois oferece maior controle.
  4. Crie um usuário chamado dsrdbm01 e use esse usuário na tela de detalhes da instância do diretório, como mostra a Figura 4. Forneça uma cadeia de caractere de valor inicial de criptografia.
    Figura 4. Criando uma nova instância do servidor de diretório
    Criando uma nova instância do servidor de diretório
  5. Dê à instância do DB2 o nome de DSRDBM01.
    1. Certifique-se de que a caixa está marcada comListen on all configured IP addresses.
    2. Aceite os valores padrão de configuração de porta. A porta não segura do servidor é 389 e a segura é 636. A porta não segura de administração é 3538 e a porta de administração segura é 3539.
  6. Escolha para configurar o Nome Distinto (DN) do Administrador e a senha e banco de dados. Recomendamos que você mantenha o DN padrão do Administrador, cn=root. É necessário fornecer uma senha, como mostra a Figura 5.
    Figura 5. Configurando DN de administração e senha
    Configurando DN de administração e senha
  7. Forneça um nome de usuário e senha do banco de dados:
    1. Crie um banco de dados associado chamado DSRDBM01.
    2. Escolha criar um banco de dados DB2 universal, e forneça o local de instalação do banco de dados.
  8. Na página de verificação de configuração, clique em Finish.
  9. Após a configuração ser concluída e os servidores terem sido iniciados, você vê uma nova entrada na Instance Administration Tool, como mostra a Figura 6.
    Figura 6. Configurando DN e senha de administração
    Configurando DN e senha de administração

Configurando o Tivoli Directory Server V6.3

É possível iniciar a ferramenta de administração de instâncias, também conhecida como Tivoli Directory Server Configuration Tool, para gerenciar sufixos LDAP e realizar tarefas relacionadas a LDIF.

  1. No Tivoli Directory Server Configuration Tool, clique em Manage suffixes.
    1. No campo Suffix DN, insira dc=ibm,dc=com e clique em Add.
    2. Clique em OK.
    3. Se o servidor já estiver em execução, será solicitado que você o pare. Clique em Yes.
  2. Expanda LDIF tasks. Clique em Import LDIF data.
    1. Clique no botão Browse e encontre o arquivo ldif a ser importado.
    2. Se você importar a amostra fornecida, WLEUsers.ldif file, a mensagem dirá que 22 entradas foram importadas com êxito.
    3. Clique em OK.
  3. A Figura 7 mostra uma visualização da árvore LDAP importada. Observe que todos os usuários, grupos e outros padrões do Lombardi Edition existem em DN: dc=ibm,dc=com.
    Figura 7. Árvore LDAP em DN: dc=ibm, dc=com
    Árvore LDAP em DN: dc=ibm, dc=com

Configurando o Tivoli Directory Server como um repositório adicional no Lombardi Edition

Antes de iniciar, lembre-se de fazer backup do arquivo security.xml. Ele está localizado em <WLE_HOME>/AppServer/profiles/AppSrv01/config/cells/<CELL_NAME>.

  1. Acesse <WLE_HOME>/AppServer/profiles/Lombardi/bin. Use o utilitário serverStatus para garantir que server1 esteja sendo executado.
  2. Inicie o WebSphere Administrative Console. Faça login usando tw_user como ID do usuário e senha.
  3. Expanda Security e clique em Global security.
    1. Na seção User account repository, Federated repositories já deve estar selecionado.
    2. Clique em Configure, conforme mostra a Figura 8.
      Figura 8. Especificando o domínio
      Especificando o domínio
  4. Em Related Items, clique em Manage repositories. Clique em Add para incluir um novo repositório, Tivoli Directory Server.
  5. Insira os seguintes valores:
    1. Dê ao repositório um identificador, como TDS.
    2. O tipo de diretório é IBM Tivoli Directory Server
    3. Insira o nome do host primário. É a máquina na qual o TDS está sendo executado.
    4. Deixe a porta como 389.
    5. As propriedades de login são uid.
    6. Deixe as configurações padrão remanescentes, como mostra a Figura 9.
    7. Clique em Apply.
    Figura 9. Configuração de LDAP
    Configuração de LDAP
  6. Em Additional Properties, clique em LDAP entity types.
  7. Clique em Group.
    1. Em ObjectClasses, insira groupOfUniqueNames (há distinção entre maiúsculas e minúsculas).
    2. Em Search bases, insira dc=ibm,dc=com. Você deve se lembrar de que esse é o sufixo criado no LDAP.
    3. Clique em OK.
  8. Clique em PersonAccount.
    1. Em ObjectClasses, insira inetOrgPerson (há distinção entre maiúsculas e minúsculas).
    2. Clique em OK.

    Você verá as alterações de Classes de Objeto na tela de tipos de entidade LDAP.

    Dica: Será necessário um sufixo de DN com o qual trabalhar. Recomendamos quer você use um sufixo simples, como dc=<COMPANY_NAME>,dc-com. Esse sufixo também se torna a raiz de seu arquivo LDIF.

  9. De volta à tela de repositórios Federados, clique em Add Base entry to Realm.
    1. Insira o sufixo (dc=ibm,dc=com) como o nome distinto da entrada básica que identifica exclusivamente entradas no domínio. Isso significa que qualquer coisa com “dc=ibm,dc=com” será enviada ao LDAP.
    2. Ele pode ser incluído como a entrada base neste repositório. Ele especifica que, ao procurar no diretório LDAP, deve-se começar aqui.
    3. Clique em OK.
  10. Você agora vê o novo repositório, TDS, incluído na lista de repositórios federados, juntamente com a entrada básica.
    Figura 10. Repositório TDS
    Repositório TDS
  11. Clique em OK e salve as alterações no repositório principal.
  12. Volte para a tela Global security.
    1. Em Authentication, expanda Web and SIP security.
    2. Clique em Single sign-on (SSO).
    3. Marque a caixa Enabled.
    4. Insira ibm.com no nome de domínio. Isso especifica o nome de domínio que contém um conjunto de hosts para os quais SSO é válido.
    5. Marque a caixa Web inbound security attribute propagation.
    6. Clique em OK.

Verificando as configurações de segurança

Para que as alterações de seguranças passem a valer, é necessário reiniciar server1 do Lombardi Edition.

  1. Faça logout do Integrated Solutions Console.
    1. Pare e inicie os servidores Lombardi Edition. É preciso, pelo menos, reiniciar server1.
    2. Uma maneira fácil de fazer isso é por meio da linha de comandos. Em uma janela da linha de comandos, acesse <WLE_HOME>/AppServer/profiles/Lombardi/bin.
    3. Para parar, insira stopServer server1.
    4. Para iniciar, insira startServer server1.
  2. Inicie o Integrated Solutions Console novamente e faça login usando tw_user como ID do usuário e senha.

    Dica: Se não conseguir fazer login, é possível substituir <WLE_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/security.xml com a cópia de backup e reiniciar o servidor.

    Ou:

    Use o comando wsadmin: wsadmin –conntype none. No prompt do wsadmin, insira securityoff, depois exit.

  3. Acesse Users and Groups > Manage Users.
    1. Faça uma procura pelo caractere curinga * em User ID.
    2. Você agora vê usuários de todos os repositórios.

    A Figura 11 mostra os IDs de usuário de ambos os repositórios: interno e TDS.

    Aviso: Não é possível ter o mesmo ID do usuário em dois repositórios. Nesse exemplo, pode-se ver que há dois de cada um destes: tw_admin, tw_author, tw_portal_admin e tw_runtime_server. Será necessário excluir uma dessas entradas duplicadas, provavelmente aquela no novo esquema LDAP. Nós recomendamos isso para manter os usuários originais no repositório baseado em arquivo. A outra opção é usar uma configuração LDAP independente em vez de um repositório federado.

    Figura 11. Resultados da procura do usuário
    Resultados da procura do usuário
  4. Uma outra solução, que serve como alternativa, é acessar Users and Groups > Administrative user roles.
    1. Clique em Add.
    2. Realce a função Administrador.
    3. Procure usuários usando o caractere curinga *.
    4. Escolha admin e mapeie para a função de administrador. Clique em OK.

    Você verá dois usuários (tw_user e admin) na função de Administrador. Isso significa que agora é possível fazer login no Integrated Solutions Console usando o ID do usuário admin do Tivoli Directory Server.

  5. É possível fazer logout e testar fazendo login novamente no Integrated Solutions Console usando o ID do usuário admin.
  6. Um teste melhor é iniciar o Lombardi Process Center (http://<WLE_HOST>:19086/ProcessCenter) ou Lombardi Process Portal (http://<WLE_HOST>:19086/portal), e fazer login usando admin (ou qualquer outro usuário do LDAP). A Figura 12 mostra uma captura de tela com admin conectado ao Lombardi Process Portal.
    Figura 12. Resultados da procura do usuário
    Resultados da procura do usuário

É isso. As próximas etapas, se necessárias, são para configurar conexão única (SSO) entre Lombardi Edition e outros aplicativos, como WebSphere Portal.


Outras considerações

É possível seguir o procedimento comum de configuração de segurança global do WebSphere para ativar a segurança no Lombardi Edition V7.2 com qualquer servidor LDAP. Se você estiver familiarizado com a configuração de segurança no WebSphere Process Server, as etapas são similares. A tarefa mais interessante talvez seja configurar o servidor do LDAP e preenchê-lo com um arquivo LDIF. Lembre-se de trabalhar com um sufixo de DN simples, algo que corresponda ao domínio corporativo.

Se você estiver usando repositórios federados, lembre-se de que não é possível ter o mesmo ID do usuário em dois repositórios de usuário.


Apêndice: WLEUsers.ldif

Você deve ter notado que tw_user não está no arquivo LDIF. O motivo é que nós decidimos usar repositórios federados, que neste caso são uma combinação de dois repositórios: interno baseado em arquivo e Tivoli Directory Server. Observe também que tw_user é um ID do usuário integrado essencial no domínio baseado em arquivo.

É possível modificar o arquivo LDIF mostrado na Listagem 1 para se adequar a qualquer sufixo DN. O único requisito é que o sufixo precisa ser criado no LDAP para ser possível importar o arquivo.

Listagem 1. WLEUsers.ldif
##
# Verifique se o sufixo dc=ibm,dc=com existe antes de importar este arquivo ldif
##
dn: dc=ibm,dc=com
objectclass: domain
objectclass: top
## Inclua linhas de acordo com este esquema que correspondam ao seu sufixo
dc: ibm,dc=com
dc: ibm

dn: cn=users,dc=ibm,dc=com
objectclass: container
objectclass: top
cn: users

dn: cn=groups,dc=ibm,dc=com
objectclass: top
objectclass: container
cn: groups

## Usuários padrão WLE. Não altere
dn: uid=tw_admin,cn=users,dc=ibm,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: tw_admin
userpassword: tw_admin
sn: admin
givenName: tw
cn: tw_admin

dn: uid=tw_author,cn=users,dc=ibm,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: tw_author
userpassword: tw_author
sn: author
givenName: tw
cn: tw_author

dn: uid=tw_webservice,cn=users,dc=ibm,dc=com
objectclass: organizationalPerson
objectclass: person
objectclass: top
objectclass: inetOrgPerson
uid: webservice
userpassword: tw_webservice
sn: webservice
givenName: tw
cn: tw_webservice

dn: uid=tw_portal_admin,cn=users,dc=ibm,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: tw_portal_admin
userpassword: tw_portal_admin
sn: admin
givenName: tw_portal
cn: tw_portal_admin

dn: uid=tw_runtime_server,cn=users,dc=ibm,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: tw_runtime_server
userpassword: tw_runtime_server
sn: server
givenName: tw_runtime
cn: tw_runtime_server


## Usuário administrativo WAS
dn: uid=admin,cn=users,dc=ibm,dc=com
objectclass: organizationalPerson
objectclass: person
objectclass: top
objectclass: inetOrgPerson
uid: admin
userpassword: admin
sn: admin
givenName: admin
cn: admin


# Grupos padrão do WLE. Não altere
dn: cn=tw_admins,cn=groups,dc=ibm,dc=com
objectclass: groupOfUniqueNames
objectclass: top
uniquemember: uid=tw_admin,cn=users,dc=ibm,dc=com
uniquemember: uid=admin,cn=users,dc=ibm,dc=com
cn: tw_admins

dn: cn=tw_authors,cn=groups,dc=ibm,dc=com
objectclass: groupOfUniqueNames
objectclass: top
uniquemember: uid=tw_admin,cn=users,dc=ibm,dc=com
uniquemember: uid=tw_author,cn=users,dc=ibm,dc=com
cn: tw_authors

dn: cn=tw_portal_admins,cn=groups,dc=ibm,dc=com
objectclass: groupOfUniqueNames
objectclass: top
uniquemember: uid=tw_portal_admin,cn=users,dc=ibm,dc=com
cn: tw_portal_admins

dn: cn=Debug,cn=groups,dc=ibm,dc=com
objectclass: groupOfUniqueNames
objectclass: top
uniquemember: uid=tw_admin,cn=users,dc=ibm,dc=com
cn: Debug

dn: cn=tw_allusers,cn=groups,dc=ibm,dc=com
objectclass: groupOfUniqueNames
objectclass: top
uniquemember: uid=tw_admin,cn=users,dc=ibm,dc=com
uniquemember: uid=tw_author,cn=users,dc=ibm,dc=com
uniquemember: uid=tw_webservice,cn=users,dc=ibm,dc=com
uniquemember: uid=tw_portal_admin,cn=users,dc=ibm,dc=com
uniquemember: uid=admin,cn=users,dc=ibm,dc=com
cn: tw_allusers

## Usuários e grupos adicionais que podem ser customizados
dn: uid=tw_user1,cn=users,dc=ibm,dc=com
objectclass: organizationalPerson
objectclass: person
objectclass: top
objectclass: inetOrgPerson
uid: tw_user1
userpassword: tw_user1
sn: user1
givenName: tw
cn: tw_user1

dn: uid=tw_user2,cn=users,dc=ibm,dc=com
objectclass: organizationalPerson
objectclass: person
objectclass: top
objectclass: inetOrgPerson
uid: tw_user2
userpassword: tw_user2
sn: user2
givenName: tw
cn: tw_user2

dn: uid=tw_user3,cn=users,dc=ibm,dc=com
objectclass: organizationalPerson
objectclass: person
objectclass: top
objectclass: inetOrgPerson
uid: tw_user3
userpassword: tw_user3
sn: user3
givenName: tw
cn: tw_user3

dn: cn=tw_users,cn=groups,dc=ibm,dc=com
objectclass: groupOfUniqueNames
objectclass: top
uniquemember: uid=tw_user1,cn=users,dc=ibm,dc=com
uniquemember: uid=tw_user2,cn=users,dc=ibm,dc=com
uniquemember: uid=tw_user3,cn=users,dc=ibm,dc=com
cn: tw_users

dn: uid=tw_manager1,cn=users,dc=ibm,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: tw_manager1
userpassword: tw_manager1
sn: manager1
givenName: tw
cn: tw_manager1

dn: uid=tw_manager2,cn=users,dc=ibm,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: tw_manager2
userpassword: tw_manager2
sn: manager2
givenName: tw
cn: tw_manager2

dn: cn=tw_managers,cn=groups,dc=ibm,dc=com
objectclass: groupOfUniqueNames
objectclass: top
uniquemember: uid=tw_manager1,cn=users,dc=ibm,dc=com
uniquemember: uid=tw_manager2,cn=users,dc=ibm,dc=com
cn: tw_managers

Conclusão

Este tutorial mostrou como instalar e configurar um servidor do LDAP, especificamente Tivoli Directory Server. Em seguida, descreveu como importar um arquivo LDIF e configurar segurança global no WebSphere usando repositórios federados. O procedimento é o mesmo caso você use qualquer outro servidor do LDAP, e o mesmo arquivo LDIF pode ser importado em qualquer servidor LDAP.

Recursos

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Tivoli, WebSphere
ArticleID=657710
ArticleTitle=Configurando segurança global no WebSphere Lombardi Edition V7.2 usando Tivoli Directory Server V6.3
publish-date=07202011