 | Nível: Avançado Miguel A Ortiz, Jr., Software Engineer, Systems Documentation, Inc. (SDI) Patrick Wardrop, Software Engineer, SDI Corp.
26/Fev/2009 Este artigo se fundamenta na Parte 4 desta série, "Usando a
SAML na Segurança do MDM Server," e aborda como a integração do IBM®
InfoSphere™ Master Data Management (MDM) Server com o IBM Tivoli® Federated
Identity Manager (TFIM) pode estender os recursos de propagação de identidade do MDM Server
e simplificar o desenvolvimento de aplicativo cliente. Descubra como usar e configurar esses
componentes para resolver problemas de negócio do mundo real.
Introdução
O InfoSphere Master Data Management (MDM) Server é frequentemente implementado
em ambientes complexos.
Em tais ambientes, talvez você descubra que a integração com os produtos
de segurança externos reduz o custo, minimiza a complexidade do ambiente
e fornece uma arquitetura mais segura.
Por meio da integração do MDM Server com o Tivoli Federated Identity Manager
(TFIM), é possível melhorar o ambiente de segurança do MDM Server e a conformidade
com as normas de segurança atuais da Web. Este arquivo apresenta instruções passo a
passo sobre como estender o analisador de autenticação padrão (SAML11Parser) fornecido com o MDM Server V8.0.1 com um analisador de autenticação do TFIM V6.2 customizado (TfimMdmIdentityMediator).
 |
Pilha de softwares para todos os artigos nesta
série Nesta série, "MDM Server" refere-se ao release 8.0 do InfoSphere MDM
Server e à pilha relacionada. Este artigo parte da premissa de que você está
familiarizado com o MDM Server e com a terminologia usada nos manuais do produto.
|
|
Esta solução de integração utiliza a estrutura de segurança do ambiente
atual.
Agindo dessa forma, ela minimiza o esforço de desenvolvimento para modificação dos aplicativos
atuais para fins de compatibilidade da segurança do MDM Server e facilita o rápido desenvolvimento de novos aplicativos.
Cenário
Como discutido no quarto artigo desta série, "Usando a SAML na Segurança do MDM Server", o MDM Server é naturalmente capaz de aceitar tokens da SAML 1.1 como uma asserção de autenticação alternativa que contém a identidade do usuário e a associação do grupo.
(O token DWL Control é o padrão.)
O aplicativo MDM Client é responsável pela montagem das informações de segurança exigidas pelo MDM Server e pela inclusão
delas na transação correspondente.
Se a arquitetura de segurança em que o MDM Client reside usar os tokens da SAML 1.1, esse recurso será um
benefício importante. No entanto, há diversos outros padrões e tokens de segurança proprietários que são usados
em ambientes diferentes. Por exemplo, os tokens Kerberos são o token de segurança nativo da Microsoft®, os
PassTickets normalmente são usados em ambientes de mainframe, a Lightweight Third-Party Authentication (LTPA) é
usada nos ambientes do WebSphere® Application Server e os iv_creds são usados nos ambientes do Tivoli Access Manager.
Nos casos em que a arquitetura de segurança não usa os tokens da SAML 1.1, o MDM Client precisa analisar e extrair
as informações do usuário do token padrão do ambiente e construir devidamente um token DWL Control, ou adquirir as
informações do usuário acessando um repositório do usuário. No entanto, em ambas as opções, você acaba introduzindo
complexidade extra no processo de desenvolvimento de aplicativo e na arquitetura de segurança.
Uma terceira opção é estender o MDM Server de modo que ele compreenda o
token nativo do ambiente e o consuma como uma asserção de autenticação válida,
comparável ao suporte nativo da SAML 1.1.
Este artigo demonstra um exemplo de tal abordagem mostrando como é possível ampliar
o suporte a token do MDM Server por estendê-lo até a integração com o Security Token
Service (STS) do TFIM.
Por meio da integração com o TFIM, o MDM Server obtém a capacidade de consumir qualquer
token individual ou combinação de tokens que seja compreendido pelo STS do TFIM.
Com a integração do MDM Server e o TFIM, você adquire uma maior compatibilidade a
padrões, além de outros benefícios, inclusive:
- Validação da assinatura digital de um token
- Capacidade de aceitação de conteúdo de token criptografado
- Habilidade de mapear a identidade em um token à identidade local do MDM Server
Integração entre design e arquitetura
Quando um token de segurança localizado no DWLControl chega ao Ponto de
Entrada do MDM, o MDM Server encaminha a mensagem ao componente Authentication
Assertion Parser (AAP). O AAP delega o processo à classe do analisador configurada
no parâmetro da tabela de configuração do MDM /IBM/DWLCommonServices/Security/SAML/security_data_parser.
A classe SAML11Parser é definida por padrão. A chave para integrar os dois produtos
é a capacidade de estender o MDM SAML 1.1 Assertion Parser até incluir um cliente STS
que utilize o protocolo WS-Trust para se comunicar com um servidor STS. Nesse cenário, a classe do analisador é chamada TfimMdmIdentityMediator.
Fluxo do token de segurança
A Figura 1 mostra o fluxo do token que ocorre quando o
componente do AAP recebe um pedido do cliente com um
token LTPA incorporado.
Figura 1. Fluxo do token de segurança
Estas são as etapas do fluxo:
- O AAP informa o elemento authData, que contém o token LTPA, à
classe TfimMdmIdentityMediator (classe mediator).
- A classe mediator extrai o componente cliente do elemento authData
(neste caso, o token LTPA).
- A classe mediator cria uma mensagem WS-Trust Request Security Token
que inclui o elemento extraído e envia a solicitação ao STS configurado.
- O STS valida o token de segurança recebido.
- O STS é aplicado a qualquer mapeamento de identidade necessário (recuperação de grupo, recuperação de atributo).
- O STS emite uma SAML 1.1 Assertion no formato que o MDM Server suporta.
- O STS retorna a SAML Assertion.
- Quando a classe mediator recebe a SAML 1.1 Assertion retornada do
servidor STS, ela a encaminha hierarquia abaixo até o MDM SAML 1.1 Assertion Parser padrão.
- A SAML 1.1 Assertion é analisada e o authData resultante percorre todo
o caminho de volta até o AAP.
O que é TFIM?
O IBM Tivoli Federated Identity Manager (TFIM) apresenta um modelo simples, fracamente
acoplado, de gerenciamento de identidade e acesso aos recursos que permeiam empresas e
domínios de segurança. Em vez de replicar a administração de identidade e segurança em
ambas as empresas ou domínios, o TFIM fornece um modelo simples de gerenciamento de identidade
e provê acesso às informações e serviços em um modo confiável.
Para empresas que implementam a Service Oriented Architecture (SOA) e os serviços da Web,
o TFIM provê gerenciamento de segurança integrado baseado em política para os serviços da
Web federados. A base do TFIM é a confiança, a integridade e a privacidade dos dados. Para
aplicativos baseados na Web, o TFIM oferece suporte aos protocolos de conexão única federados
mais comuns (quer centralizados no usuário, quer na empresa), por exemplo, InfoCard, OpenID, SAML 1.0/1.1/2.0 e WS-Federation.
Este artigo mostra como utilizar o Security Token Service (STS) do TFIM, normalmente utilizado
nos cenários SOA para mediação de identidade. O STS é útil para proteger a troca de credenciais
de segurança entre duas ou mais partes estabelecendo a "confiabilidade" em um relacionamento
confiável intermediado. Os clientes se comunicam remotamente com o STS via WS-Trust, que é uma
extensão ao padrão WS-Security. O STS propicia a capacidade de validação, troca e emissão de
credenciais de segurança, que normalmente estão na forma de tokens de segurança da XML. Alguns
dos tipos de tokens de segurança mais comumente usados são SAML Assertion 1.0/1.1/2.0, GSS Kerberos V5 AP_REQ, PassTickets e Lightweight Third-Party Authentication (LTPA).
Configurando o MDM Server
Etapa 1: Preparar o ambiente do MDM Server
Para executar esta etapa, obtenha primeiro o arquivo TFIM-MDMS.zip da seção
Download deste artigo.
Os arquivos descritos abaixo estão contidos no arquivo zip.
-
Descompacte o fimmdm.tar para o diretório de EARs MDM-App.ear.
O diretório padrão do Linux® é: /opt/ibm/websphere/AppServer/profiles/profile name/installedApps/cell name/MDM-App.ear
- Copie com.ibm.tivoli.fimmdm.jar para o diretório MDM-App.ear.
- Copie DWLCommonServicesEJB.jar para o diretório MDM-App.ear.
Obs.: Se você instalar fix packs para o MDM Server,
verifique se essa integração ainda funciona.
- Copie tfim-mdm.properties para o diretório lib/ext do WebSphere Application Server.
O diretório padrão do Linux é: /opt/ibm/websphere/AppServer/lib/ext
- Atualize o arquivo tfim-mdm.properties a fim de que ele aponte para o terminal STS apropriado.
Etapa 2: Configurar e autorizar um grupo de usuários para teste
Nesta etapa, você usará o aplicativo Administration do MDM Server para criar um grupo e atribuir-lhe as transações apropriadas.
- No navegador da Web, efetue login no aplicativo Administration:
http://nome_do_servidor:porta/CustomerBusinessAdminWeb/
- Crie um grupo:
- Vá para a página Incluir Grupo de Usuários: Segurança -> Grupos de Usuários.
- Clique no botão Incluir.
- Na página Incluir Grupo de Usuários, digite um Nome de Grupo de Usuários e, opcionalmente, uma Descrição.
- Clique no botão Submeter.
Figura 2. Página Incluir Grupo de Usuários
- Associe as transações a serem testadas ao grupo recém-criado. Para este exemplo, use a transação searchPerson.
- Vá para a página Associação da Transação: Segurança -> Associações da Transação.
- Selecione o grupo no menu Selecionar Grupo de Usuários para Designar Transações e clique no botão IR.
Figura 3. Página Associação da Transação
- Na página Designar Transação a um Grupo de Usuários, selecione searchPerson no menu Selecionar Transação a ser Designada e clique no botão INCLUIR.
- Depois de atualizar a página, clique no botão SUBMETER.
Figura 4. Página Designar Transação a um Grupo de Usuários
Etapa 3: Atualizar Configuração do MDM Server
Nesta etapa, você definirá o parâmetro SAML/security_data_parser do MDM Server como o nome da classe de extensão e garantirá a ativação da segurança no ambiente.
- Inicie o agente de gerenciamento do MDM Server.
- Navegue para o diretório do agente de gerenciamento em:
Diretório Inicial do MDM/ManagementAgent
- Execute o script startAgent.sh.
- Inicie o MDM Server Management Console.
- Navegue até o diretório do Management Console localizado em:
Diretório Inicial do MDM/ManagementConsole
- Execute o script console.sh.
- Siga os menus para alterar os valores dos parâmetros.
- Defina o elemento de configuração /IBM/DWLCommonServices/Security/SAML/security_data_parser como o nome da sua classe. Para este exemplo, use a classe: com.ibm.tivoli.fim.mdm.TfimMdmIdentityMediator
- Defina o elemento de configuração /IBM/DWLCommonServices/Security/enabled como true (se ainda não estiver definido desse modo).
Configurando as cadeias do TFIM Security Token Service (STS) Etapa 4: Configurar o STS com o console de gerenciamento do TFIM
Este exemplo usa um tipo de token de entrada, LTPAv1.
- No navegador da Web, abra o console de gerenciamento do TFIM:
http://console.tfim.domain.com:9060/ibm/console
- Vá para o painel Cadeias de Serviços Confiáveis: Tivoli Federated Identity Manager -> Configurar Serviço Confiável -> Cadeias de Serviços Configuráveis.
- Clique no botão Criar....
Figura 5. Painel Cadeias de Serviços Confiáveis
- No painel Introdução do Assistente de Mapeamento de Cadeia de Serviços Confiáveis, clique no botão Avançar.
Figura 6. Assistente de Mapeamento de Cadeia de Serviços Configuráveis — Introdução
- No painel Identificação do Mapeamento de Cadeia, digite um nome de Mapeamento de Cadeia e, opcionalmente, uma Descrição. Clique no botão Avançar.
Figura 7. Assistente de Mapeamento de Cadeia de Serviços Confiáveis — Identificação do Mapeamento de Cadeia
- No painel Consulta a Mapeamento de Cadeia, insira um Endereço tipo AppliesTo (por exemplo, http://mdm.ibm.com/saml11) e um Endereço de Emissor (por exemplo, http://ibm.com/ldap).
Obs.: Os endereços tipo AppliesTo e de Emissor devem ser correspondentes aos que você especificou no arquivo tfim-mdm.properties na Etapa 1 (acima).
- No painel Identificação de Cadeia, digite um Nome de Cadeia para a nova cadeia e, opcionalmente, uma Descrição. Clique no botão Avançar.
Figura 8. Assistente de Mapeamento de Cadeia de Serviços Confiáveis — Identificação de Cadeia
- No painel Montagem de Cadeia, construa uma cadeia com os seguintes módulos:
- com.tivoli.am.fim.trustserver.sts.modules.STSLTPATokenModule
- com.tivoli.am.fim.trustserver.sts.modules.STSMapDefault
- com.tivoli.am.fim.trustserver.sts.modules.SAMLTokenSTSModule
Figura 9. Assistente de Mapeamento de Cadeia de Serviços Confiáveis — Montagem de Cadeia
- Use o painel Configuração do Módulo do Token LTPA para configurar o módulo STSLTPATokenModule. Importe uma chave LTPA exportada (é possível exportar a chave LTPA usando um painel de gerenciamento de segurança do WebSphere Application Server). Depois de importar a chave, insira a senha da chave e clique no botão Avançar.
Figura 10. Assistente de Mapeamento de Cadeia de Serviços Confiáveis — Configuração do Módulo do Token LTPA
- Use o painel Módulo de Mapeamento Padrão para configurar o módulo STSMapDefault. Selecione o arquivo XSLT a ser utilizado para o mapeamento de identidade. É possível usar o arquivo ltpa_saml_1x.xsl contido no arquivo TFIM-MDMS.zip da seção Download, no entanto, não se esqueça de alterar a função do usuário de ALLOWEDGROUP para a função apropriada. O exemplo inclui apenas um único grupo para o usuário, mas é possível modificá-lo a fim de incluir grupos adicionais. Como alternativa, use o DirectoryIntegratorSTSModule (Módulo TDI) como módulo de mapeamento. O módulo TDI tem a capacidade de consultar origens de dados externas para recuperar atributos e os grupos do usuário.
Depois de fazer a seleção, clique no botão Avançar.
Figura 11. Assistente de Mapeamento de Cadeia de Serviços Confiáveis — Módulo de Mapeamento Padrão
- Use o painel Configuração do Módulo SAML para configurar o SAMLTokenSTSModule de modo a emitir as asserções que o MDM Server pode consumir. Insira um valor para o nome da organização que está emitindo as asserções e desmarque a caixa de opção Assinar SAML Assertion (o MDM Server não valida asserção assinada).
Depois de definir as opções de configuração, clique no botão Avançar.
Figura 12. Assistente de Mapeamento de Cadeia de Serviços Confiáveis — Configuração do Módulo SAML
- No painel Resumo, verifique a cadeia que você acabou de definir. Depois da verificação, clique no botão Concluir para criar a cadeia.
Figura 13. Assistente de Mapeamento de Cadeia de Serviços Confiáveis — Resumo
Testando
Use o teste a seguir para verificar a integração do MDM Server com o TFIM. O teste usa a ferramenta Installation Verification Testing (IVT) fornecida pelo MDM Server.
- Extraia o arquivo SearchPersonWithLTPA.xml do arquivo
TFIM-MDMS.zip na seção Download.
- Edite SearchPersonWithLTPA.xml e faça todas as modificações
necessárias para a compatibilização do ambiente, incluindo a atualização do BinarySecurityToken com um token LTPA renovado.
- Copie o arquivo SearchPersonWithLTPA.xml para o seguinte
diretório:
Diretório de Instalação do MDM/IVT/xml/
(por exemplo, /opt/ibm/infosphere/MDMServer/IVT/xml)
- Navegue até o diretório do IVT localizado em:
Diretório de Instalação do MDM/IVT
- Execute o script verify.sh (ou verify.bat para Windows®) para iniciar um teste.
- Depois da conclusão do script verify.sh, consulte os resultados no
arquivo ResponseSearchPersonWithLTPA.xml localizado em:
Diretório de Instalação do MDM/IVT/xml/response/
Se o arquivo não contiver nenhuma mensagem de erro, a integração terá sido bem-sucedida.
Aprimoramentos possíveis
É possível fazer os seguintes aprimoramentos na
classe TfimMdmIdentityMediator:
- Adicionar cache a fim de impedir a revalidação de tokens idênticos em transações subsequentes.
- Ativar a introspecção do token de segurança fornecido para permitir vários tipos de tokens por instância do MDMS.
Conclusão
A utilização da estrutura de segurança flexível fornecida pelo IBM InfoSphere MDM Server e dos
recursos de segurança do IBM Tivoli Federated Identity Manager poderá aumentar a segurança, a
compatibilidade e a adaptabilidade de um ambiente do Master Data Management Server.
Download | Descrição | Nome | Tamanho | Método de download |
|---|
| Sample files for this article | TFIM-MDMS.zip | 11.8MB | HTTP |
|---|
Recursos Aprender
-
Compreendendo a Segurança do IBM InfoSphere MDM Server, Parte 1: Visão Geral da Segurança do Master Data Management" apresenta uma visão geral dos recursos de segurança do MDM Server e de como eles funcionam.
-
Compreendendo a Segurança do IBM InfoSphere MDM Server, Parte 2: Introdução aos serviços de autenticação" apresenta instruções detalhadas de configuração e implementação para dois cenários: um cliente aplicativo Java e outro de serviço da Web.
- Compreendendo a Segurança do IBM InfoSphere MDM Server,
Parte 3: Usando o LDAP para implementar a autorização da transação" apresenta um exemplo sobre como implementar o provedor de autorização de transação usando um servidor do LDAP.
-
Compreendendo a Segurança do IBM InfoSphere MDM Server, Parte 4: Usando a SAML no MDM Server" contém uma visão geral de propagação de identidade no MDM Server.
-
Enterprise Master Data Management: Uma Abordagem de SOA para Gerenciamento de Informações Essenciais" fornece uma referência técnica do MDM, independente de fornecedor, para os profissionais: arquitetos, analistas técnicos, consultores, designers de soluções e encarregados seniores de TI.
-
O Centro de
Informações do IBM InfoSphere Master Data Management Server contém a documentação do MDM Server
-
O Centro de Informações do Tivoli Federated Identity Manager contém a documentação do TFIM.
-
Visite a área InfoSphere no developerWorks para ler artigos e tutoriais e entrar em contato com outros recursos para expansão das capacidades do InfoSphere.
-
seção Gerenciamento de Informações do developerWorks: Saiba mais sobre Gerenciamento de Informações. Encontre documentações técnicas, artigos de instruções, orientação, downloads, informações sobre produtos e muito mais.
-
Mantenha-se atualizado com os webcasts e eventos técnicos do
developerWorks.
Obter produtos e tecnologias
-
Elabore seu próximo projeto de desenvolvimento com o
software de
teste IBM, disponível para download diretamente no developerWorks.
Discutir
Sobre os autores  | 
|  | Miguel A. Ortiz, Jr. é engenheiro de software da equipe da Information Platform and Solutions no laboratório da IBM Austin. Seu foco é a segurança do MDM Server, a integração do produto IPS e a integração de produtos de terceiros. |
 | 
|  | Patrick Wardrop é desenvolvedor na equipe do Tivoli Federated Identity Manager. Graduou-se como Bacharel em Ciências da Computação na Universidade de Guelph, Ontário, Canadá. |
Avalie esta página
|  |