Configurando Ligações e Conjuntos de Políticas para se Comunicar com STS

Configure conjuntos de política e documentos de ligação para ativar um cliente de serviços da Web a pedir asserções SAML de um Security Token Service (STS) externo.

Antes de Iniciar

Após instalar, você deverá criar um novo perfil de servidor ou incluir definições de configuração SAML em um perfil existente. Consulte sobre a configuração do SAML para obter mais informações.

Sobre Esta Tarefa

WebSphere Application Server com SAML suporta clientes de serviços da Web que usam o conjunto de políticas e as ligações de Segurança de Serviços da Web ao se comunicarem com um security token service (STS) externo. Os clientes de serviços da web usam o conjunto de políticas e ligações para se comunicarem com o provedor de serviços da web de destino. Um cliente de serviços da Web usa dois conjuntos de conexões de conjunto de políticas: um conjunto de conexões de conjunto de políticas para se comunicar com o provedor de serviços da Web de destino; e o outro conjunto de conexões de conjunto de políticas para se comunicar com o STS. Os conjuntos de política e as ligações que são usadas ao se comunicar com o provedor de serviços da Web de destino são conectados ao cliente dos serviços da Web. Em contraste, os conjuntos de política e as ligações que ativam a comunicação STS não são diretamente conectados aos clientes de serviços da Web. Em vez disso, os conjuntos de política e as ligações que ativam a comunicação STS são especificados como propriedades customizadas no documento de ligação do cliente de serviços das Web. É possível usar ligações gerais ou ligações específicas do aplicativo para a comunicação com um STS. O uso de uma ligação geral para acessar um STS é simples; basta especificar o nome da ligação geral nas propriedades customizadas.

O procedimento para configurar ligações específicas do aplicativo para acessar um STS é mais complexo. O console administrativo é projetado para gerenciar conexões de conjunto de políticas para se comunicar com um provedor de serviço da Web. O console não é projetado para gerenciar um segundo conjunto de anexos do conjunto de políticas para comunicação com um STS. Entretanto, é possível usar o console administrativo para gerenciar um anexo de conjunto de políticas para acessar um STS, conforme descrito no procedimento.

Use o console administrativo para conectar o conjunto de políticas que é usado para permitir o acesso de um STS a um cliente de serviços da Web, e depois crie e modifique uma ligação específica de aplicativo. Após a conclusão da configuração da ligação, desconecte o conjunto de políticas e a ligação do cliente de serviços da Web. Esse procedimento é necessário porque a próxima etapa é conectar o conjunto de políticas e as ligações para se comunicarem com o provedor de serviços da Web de destino. Ligações específicas de aplicativo desconectadas não são excluídas do sistema de arquivos, assim, as propriedades customizadas das ligações do cliente de serviços da Web podem obter êxito na referência às ligações específicas de aplicativo desconectadas.

O procedimento utiliza um conjunto de políticas de aplicativo padrão, padrão Username WSHTTPS, como um exemplo para descrever as etapas de configuração para acessar o STS. As etapas podem também ser aplicadas a outros conjuntos de política. O aplicativo de serviços da Web, JaxWSServicesSamples, é usado no exemplo. JaxWSServicesSamples não é instalado por padrão.

Procedimento

  1. Importe o conjunto de políticas padrão Username WSHTTPS. Neste exemplo, a política padrão Username WSHTTPS é utilizada para demonstrar o procedimento, mas é possível usar um conjunto de políticas diferente para configurar as ligações, caso o conjunto de políticas atenda aos requisitos de política do STS externo.
    1. Clique em Serviços > Conjuntos de Políticas > Conjuntos de Políticas de Aplicativos.
    2. Clique em Importar.
    3. Selecione Do Repositório Padrão.
    4. Selecione o conjunto de políticas Padrão WSHTTPS.
    5. Clique em OK para importar o conjunto de políticas.
  2. Conecte um conjunto de políticas para o cliente de confiança. Clique em Aplicações > Tipos de Aplicativos > WebSphere Enterprise Applications > JaxWSServicesSamples > Conjuntos de Políticas de Cliente de Serviço e Ligações. As etapas relacionadas à conexão e desconexão do conjunto de políticas e à configuração da ligação de cliente de confiança serão necessárias apenas se for usada uma ligação específica do aplicativo para acessar o STS externo. Você pode ignorar estas etapas e acessar a etapa que discute a configuração da comunicação com o STS, se usar uma ligação geral para acessar o STS externo.
    1. Marque a caixa de seleção do recurso de cliente de serviços da Web.
    2. Clique em Anexar Conjunto de Políticas do Cliente.
    3. Selecione o conjunto de políticas, Padrão Username WSHTTPS.
    Essa etapa anexa o conjunto de políticas ao cliente de confiança de serviços da Web, tal como você faria para usar esse conjunto de política para o aplicativo cliente para acessar os serviços da Web de destino. No entanto, como você planeja usar o conjunto de políticas padrão Username WSHTTPS para então acessar um STS externo, o conjunto de políticas será conectado apenas temporariamente ao cliente de serviços da Web. O propósito desta etapa é permitir o uso do console administrativo para criar ou modificar o documento de ligação de cliente.
  3. Configure a ligação de cliente de confiança.
    1. Selecione o recurso do cliente de serviços da Web novamente.
    2. No painel Conjuntos de Políticas e Ligações do Cliente de Serviço, clique em Designar Ligação.
    3. Clique em Nova Ligação Específica do Aplicativo para criar uma ligação específica do aplicativo.
    4. Especifique um nome de configuração de ligação para a nova ligação específica de aplicativo. Neste exemplo, o nome da ligação é SamlTCSample.
    5. Inclua o tipo de política de transporte SSL na ligação. Opcionalmente, é possível modificar as configurações de NodeDefaultSSLSettings. Clique em Segurança > Gerenciamento de Certificado e Chave SSL > Configurações SSL > NodeDefaultSSLSettings.
  4. Opcional: É possível criar uma ligação de transporte HTTP utilizando as etapas anteriores se você quiser configurar um nome de usuário e uma senha para incluir no cabeçalho HTTP ou se quiser configurar um proxy. Se você escolher não criar uma ligação de transporte HTTP, o ambiente de tempo de execução dos serviços da Web usa as configurações de transporte HTTP padrão.
  5. Inclua o tipo de política WS-Security na ligação, em seguida, modifique as configurações de autenticação.
    1. Clique em Aplicativos > Tipos de Aplicativo > WebSphere Enterprise Applications > JaxWSServicesSamples > Ligações e Configurações de Política de Cliente de Serviço > SamlTCSample > Incluir > WS-Security > Autenticação e Proteção > request:uname_token.
    2. Dê um clique em Aplicar.
    3. Selecione Manipulador de Retorno de Chamada.
    4. Especifique um nome do usuário e uma senha (e confirme a senha) para autenticar o cliente de serviços da Web para o STS externo.
    5. Clique em OK e em Salvar.
  6. Após o salvamento das configurações de ligação, retorne ao painel Conjuntos de Políticas e Ligações do Cliente de Serviço para desconectar o conjunto de políticas e as ligações.
    1. Clique em Aplicações > Tipos de Aplicativos > WebSphere Enterprise Applications > JaxWSServicesSamples > Conjuntos de Políticas de Cliente de Serviço e Ligações.
    2. Clique na caixa de seleção do recurso de cliente de serviços da Web.
    3. Clique em Desconectar Conjunto de Políticas do Cliente.
    A configuração de ligação específica do aplicativo criada nas etapas anteriores não é excluída do sistema de arquivos quando o conjunto de políticas é desconectado. Isto significa que você ainda pode usar a ligação específica do aplicativo criada para acessar o STS.
  7. Importe o certificado SSL do STS externo.
    1. Clique em Segurança > Gerenciamento de Chave e Certificado SSL > Gerenciar Configurações de Segurança do Terminal > server_or_node_endpoint > Armazenamentos de Chave e Certificados > NodeDefaultTrustStore > Certificados de Assinante.
    2. Clique em Recuperar da Porta.
    3. Especifique o nome do host e número da porta do servidor STS externo e designe um alias ao certificado. Use a porta de STS SSL.
    4. Clique em Recuperar Informações do Signatário.
    5. Clique em Aplicar e em Salvar para copiar o certificado recuperado para o objeto NodeDefaultTrustStore.
  8. Opcional: Se forem necessárias mais modificações na configuração wstrustClientBinding, e a propriedade wstrustClientBinding estiver apontando para uma ligação específica do aplicativo, você deverá anexar a ligação específica do aplicativo ao cliente de serviços da Web antes de poder concluir as modificações. A conexão é temporária. Conforme detalhado nas etapas anteriores, é possível desanexar a ligação específica do aplicativo modificado do cliente de serviço da Web depois que a modificação for concluída.

Resultados

Após concluir as etapas com êxito, o cliente dos serviços da Web está pronto para enviar pedidos para o STS externo. Para ativar essa função, as condições e configurações a seguir foram ativadas quando você concluiu o procedimento:
  • Anexar ligações e um conjunto de políticas que propagam tokens SAML. Por exemplo, conecte o conjunto de políticas padrão SAML11 Bearer WSHTTPS e a ligação geral da amostra Saml Bearer Client ao cliente de serviço da Web.
  • O conjunto de políticas padrão Username WSHTTPS e uma ligação específica do aplicativo, SamlTCSample, são referidos na ligação da amostra Saml Bearer Client e configurados para acessar o STS externo.
  • O certificado SSL do STS externo foi recuperado e incluído no truststore NodeDefaultTrustStore.
  • Para confirmar que você ativou a função com sucesso, é possível fazer a configuração de rastreio, com.ibm.ws.wssecurity.*=all=enabled. O rastreio mostra que asserções do SAML são emitidas pelo STS externo, por exemplo:
    [8/23/09 18:26:59:252 CDT] 0000001f TrustSecurity 3   Security Token Service response:
    [8/23/09 18:26:59:392 CDT] 0000001f TrustSecurity 3   
    <?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
       xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <s:Header>
            <a:Action s:mustUnderstand="1">http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTRC/IssueFinal</a:Action>
            <a:RelatesTo>urn:uuid:663A7B27BA8EB2CF9D1251070029934</a:RelatesTo>
            <o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" s:mustUnderstand="1">
                <u:Timestamp u:Id="_0">
                    <u:Created>2009-08-23T23:26:57.664Z</u:Created>
                    <u:Expires>2009-08-23T23:31:57.664Z</u:Expires>
                </u:Timestamp>
            </o:Security>
        </s:Header>
        <s:Body>
          <trust:RequestSecurityTokenResponseCollection xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
            <trust:RequestSecurityTokenResponse>
              <trust:Lifetime>
                <wsu:Created 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-08-23T23:26:57.648Z</wsu:Created>
                <wsu:Expires 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-08-24T09:26:57.648Z</wsu:Expires>
              </trust:Lifetime>
            <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
              <a:EndpointReference>
                 <a:Address>https://taishan.austin.ibm.com:9443/WSSampleSei/EchoService12</a:Address>
                  </a:EndpointReference>
            </wsp:AppliesTo>
            <trust:RequestedSecurityToken>
              <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" MajorVersion="1" MinorVersion="1" 
    AssertionID="_3c656382-9916-4e5f-9a16-fe0287dfc409" Issuer="http://svt193.svt193domain.com/Trust" IssueInstant="2009-08-23T23:26:57.663Z">
              <saml:Conditions NotBefore="2009-08-23T23:26:57.648Z" NotOnOrAfter="2009-08-24T09:26:57.648Z">
              <saml:AudienceRestrictionCondition>
              <saml:Audience>https://taishan.austin.ibm.com:9443/WSSampleSei/EchoService12</saml:Audience>
              </saml:AudienceRestrictionCondition>
              </saml:Conditions>
              <saml:AuthenticationStatement AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password" 
    AuthenticationInstant="2009-08-23T23:26:57.640Z">
              <saml:Subject>
              <saml:SubjectConfirmation>
              <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
              </saml:SubjectConfirmation>
              </saml:Subject>
              </saml:AuthenticationStatement>
                <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                <ds:SignedInfo>
                <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                <ds:Reference URI="#_3c656382-9916-4e5f-9a16-fe0287dfc409">
                <ds:Transforms>
                <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>YGySZX4VPv25R+oyzFpE0/T/tjs=</ds:DigestValue>
                </ds:Reference>
                </ds:SignedInfo>
                     <ds:SignatureValue>eP68...Vr08=</ds:SignatureValue>
                       <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
                          <X509Data>
                            <X509Certificate>MII...ymqg3</X509Certificate>
                          </X509Data>
                        </KeyInfo>
                      </ds:Signature>
                 </saml:Assertion>
             </trust:RequestedSecurityToken>
           <trust:RequestedAttachedReference>
              <o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <o:KeyIdentifier 
    ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_3c656382-9916-4e5f-9a16-fe0287dfc409</o:KeyIdentifier>
                </o:SecurityTokenReference>
            </trust:RequestedAttachedReference>
            <trust:RequestedUnattachedReference>
              <o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                 <o:KeyIdentifier 
    ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_3c656382-9916-4e5f-9a16-fe0287dfc409</o:KeyIdentifier>
              </o:SecurityTokenReference>
            </trust:RequestedUnattachedReference>
            <trust:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</trust:TokenType>
            <trust:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</trust:RequestType>
            <trust:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer</trust:KeyType>
            </trust:RequestSecurityTokenResponse>
            </trust:RequestSecurityTokenResponseCollection>
        </s:Body>
    </s:Envelope>

O que Fazer Depois

Conclua a configuração do cliente de serviço da Web e do provedor de serviço da Web. Consulte sobre a configuração de ligações de cliente e provedor para o token de transmissão SAML para obter mais informações.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configsamlpsbindsts
Nome do arquivo: twbs_configsamlpsbindsts.html