Configurando Ligações de Cliente e Provedor para o Token de Transmissão SAML

Um token de transmissão SAML é um token SAML que usa o método de confirmação de assunto de transmissão. Em um método de confirmação de assunto de acesso, um emissor de mensagens SOAP não é requerido a estabelecer a correspondência que liga um token do SAML ao conteúdo da mensagem SOAP contida. É possível configurar os anexos do conjunto de políticas de cliente e de provedor e as ligações com o token de acesso do SAML.

Antes de Iniciar

WebSphere Application Server com SAML fornece inúmeros conjuntos de política de aplicativo do token SAML padrão e várias amostras de ligação de provedor e cliente gerais. Antes que possa configurar as ligações de cliente e de provedor com o token de acesso do SAML, você deve:
  • Criar um ou mais novos perfis do servidor que incluam as definições de configuração do SAML ou incluir as definições de configuração do SAML em um perfil existente. Leia sobre como definir a configuração do SAML para obter informações adicionais sobre como incluir definições de configuração do SAML em um perfil.
  • Importar um dos conjuntos de políticas padrão a seguir:
    • Padrão SAML20 Bearer WSHTTPS
    • Padrão SAML20 Bearer WSSecurity
    • Padrão SAML11 Bearer WSHTTPS
    • Padrão SAML11 Bearer WSSecurity

    Os conjuntos de políticas SAML11 são quase idênticos aos conjuntos de políticas SAML20, exceto que os SAML20 suportam o tipo de token SAML Versão 2.0, enquanto os SAML11 suportam o tipo de token Versão 1.1.

    São necessários dois conjuntos de políticas padrão. Portanto, você deve importar o conjunto de políticas padrão WSHTTPS do Nome de Usuário e um dos seguintes conjuntos de políticas de acesso a seguir. Certifique-se de que o conjunto de políticas de acesso importado corresponda ao cenário; por exemplo, SAML 1.1 ou 2.0 e HTTPS ou não HTTPS.
    • Tokens SAML11 Bearer WSHTTPS padrão para SAML 1.1 que usam HTTPS
    • Tokens SAML20 Bearer WSHTTPS padrão para SAML 1.1 que usam HTTPS
    • Tokens SAML20 Bearer WSSecurity padrão para SAML 2.0 que usam HTTP
    • Tokens SAML11 Bearer WSSecurity padrão para SAML 2.0 que usam HTTP
    Para importar esses conjuntos de políticas, no console administrativo:
    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 os dois conjuntos de políticas padrão desejados.

      O conjunto de políticas padrão do SAML escolhido nesta etapa será referido como a política do SAML apropriada nas etapas do procedimento a seguir.

    5. Clique em OK para importar os conjuntos de políticas e, em seguida, clique em Salvar para salvar as mudanças.
  • Se as asserções do SAML forem assinadas pelo STS e você requerer a avaliação de confiança do emissor (o assinante), um arquivo keystore que pode ser usado para a avaliação de confiança do certificado X.509 do emissor deverá estar disponível. Este keystore pode conter o certificado público do emissor ou todas as informações necessárias para criar o caminho do certificado. Os tipos de armazenamento de chaves suportados incluem: jks, jceks e pkcs12. Este arquivo será referido como o arquivo de armazenamento de confiança no procedimento a seguir.
  • A política padrão WSHTTPS do Nome de Usuário será usada para se comunicar com o STS. Se o certificado de emissor do STS para uso com o SSL não tiver sido importado no NodeDefaultSSLSettings, consulte o tópico Recuperando assinantes de uma porta SSL remota para obter uma descrição de como importar esse certificado. Você também pode desejar revisar o tópico Instalação segura para recuperação do assinante do cliente no SSL para obter informações gerais sobre os certificados de emissor do STS.

Sobre Esta Tarefa

Uma política de token SAML é definida por uma extensão CustomToken no servidor de aplicativos. Para criar a extensão CustomToken, você deve definir os parâmetros de configuração do token do SAML nos termos das propriedades customizadas no documento de ligação de cliente e de provedor. A amostra SAML Bearer Client e a amostra SAML Bearer Provider para ligações gerais contêm a configuração essencial para as propriedades customizadas.

As ligações de amostra de cliente e de provedor contêm as informações de configuração do tipo de token SAML11 e SAML20. Essas amostras podem ser usadas com os conjuntos de políticas SAML11 e SAML20. Dependendo de como você pretende implementar os tokens SAML, será necessário modificar os valores de propriedades nas amostras de ligação instaladas. Os exemplos das propriedades e os valores da propriedade são fornecidos no procedimento a seguir.

Como o procedimento a seguir indica, para modificar a amostra de ligação, você deve primeiro configurar o anexo do conjunto de políticas do cliente de serviços da web e, em seguida, modificar o anexo do conjunto de políticas do provedor de serviços da web. O exemplo fornecido no procedimento usa o aplicativo de serviço da web de amostra JaxWSServicesSamples.

Procedimento

  1. Configurar o cliente de confiança

    Se você estiver usando as ligações gerais para acessar o STS externo, ignore para Anexar o conjunto de políticas e ligações à etapa do aplicativo cliente.

    Se você estiver usando as ligações específicas ao aplicativo para acessar o STS externo, conclua as subetapas a seguir.

    1. Anexe temporariamente um conjunto de políticas do cliente de confiança ao aplicativo do cliente de serviços da web, para que as ligações possam ser configuradas.

      Anexar um conjunto de políticas ao cliente de confiança permita usar o console administrativo para criar e, em seguida, modificar as ligações do documento de ligação de cliente. Você apenas deverá concluir esta ação, se uma ligação específica ao aplicativo for usada para acessar o STS externo.

      1. No console administrativo, clique em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de Políticas e Ligações de Cliente de Serviço.
      2. Selecione o recurso do cliente de serviços da web (JaxWSServicesSamples).
      3. Clique em Anexar Conjunto de Política do Cliente.
      4. Selecione o conjunto de políticas Padrão WSHTTPS do Nome de Usuário.
    2. Criar a ligação de cliente de confiança.
      1. Selecione novamente o recurso do cliente de serviços da web (JaxWSServicesSamples).
      2. Clique em Designar Ligação.
      3. Clique em Nova Ligação Específica de Aplicativo para criar uma ligação específica de aplicativo.
      4. Especifique um nome de configuração de ligação para a nova ligação específica ao aplicativo. Neste exemplo, o nome de ligação é SamlTCSample.
    3. Inclua o tipo de política de transporte SSL na ligação,

      Clique em Incluir > Transporte SSL e, em seguida, clique em OK.

    4. Inclua o tipo de política de WS-Security na ligação, em seguida, modifique as configurações de autenticação do cliente de confiança.
      1. Se o tipo de política de WS-Security ainda não estiver na definição de ligação SamlTCSample, clique em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de Políticas e Ligações de Cliente de Serviço > SamlTCSample.
      2. Clique em Incluir > WS-Security > Autenticação e Proteção > request:uname_token.
      3. Clique em Aplicar.
      4. Selecione Manipulador de Retorno de Chamada
      5. Especifique um nome de usuário e senha para o cliente de serviços da web se autenticar no STS externo.
      6. Clique em OK e, em seguida, clique em Salvar.
    5. Depois que as configurações de ligação estiverem salvas, retorne para o painel Conjuntos de Políticas e Ligações de Cliente de Serviços e separe o conjunto de políticas e as ligações.
      1. Clique em Conjuntos de Políticas e Ligações de Cliente de Serviço na navegação desta página ou em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de de Políticas e Ligações de Cliente de Serviço.
      2. Selecione o recurso do cliente de serviços da web (JaxWSServicesSamples) e, em seguida, clique em Separar Conjunto de Políticas do Cliente.

      A configuração de ligação específica ao aplicativo que você acabou de criar não será excluída do sistema de arquivos quando o conjunto de políticas for separado. Entretanto, é possível usar ainda a ligação específica ao aplicativo criada para acessar o STS com o cliente de confiança.

  2. Anexar o conjunto de políticas e as ligações do SAML ao aplicativo cliente
    1. Anexe o conjunto de políticas do SAML desejado ao aplicativo cliente de serviços da web.
      1. Se a política SAML ainda não estiver na página Conjuntos de Políticas e Ligações de Cliente de Serviço para JaxWSServicesSamples, clique em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de Políticas e Ligações do Cliente
      2. Selecione o recurso do cliente de serviços da Web.
      3. Clique em Anexar Conjunto de Política do Cliente.
      4. Selecione a política SAML apropriada para o cliente de serviços da web.
    2. Anexe a ligação geral de amostra do SAML Bearer Client ao cliente.
      1. Selecione o recurso do cliente de serviços da Web novamente.
      2. Clique em Designar Ligação.
      3. Selecione Amostra do SAML Bearer Client.
  3. Configure as ligações do cliente de serviços da Web

    Configure a URL de terminal do STS na ligação de amostra.

    1. Clique em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de Política e Ligações de Cliente de Serviço > Amostra do SAML Bearer Client > WS-Security > Autenticação e Proteção.
    2. Clique em gen_saml11token ou gen_saml20token na tabela Tokens de Autenticação.
    3. Clique em Manipulador de Retorno de Chamada.
    4. Modifique a propriedade stsURI para especificar o terminal STS.

      Essa propriedade não é necessária para o próprio emissor em um servidor intermediário. No entanto, se a propriedade estiver especificada para o próprio emissor em um servidor intermediário, ela será configurada como www.websphere.ibm.com/SAML/Issuer/Self.

    5. Verifique se as propriedades a seguir estão configuradas para os valores necessários.

      Se algumas dessas propriedades estiverem configuradas para algum outro valor, você deverá alterar a configuração de propriedades para o valor necessário.

      • A propriedade confirmationMethod deve ser configurada como Bearer.
      • A propriedade keyType deve ser configurada como http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer.
      • A propriedade wstrustClientPolicy deve ser configurada como Padrão WSHTTPS do Nome de Usuário.
      • O valor especificado para a propriedade wstrustClientBinding deve corresponder ao nome da ligação específica ao aplicativo do cliente de confiança criado nas etapas anteriores. Por exemplo, nas etapas anteriores, criamos uma ligação específica ao aplicativo denominada SamlTCSample. Neste cenário, o SamlTCSample deve ser especificado como o valor da propriedade wstrustClientBinding
    6. Opcional: Se você desejar alterar como o servidor de aplicativos procura a ligação, será possível especificar a propriedade wstrustClientBindingScope e configurar seu valor como aplicativo ou domínio.

      Quando o valor estiver configurado como domínio, o servidor de aplicativos procurará wstrustClientBinding no local do sistema de arquivos que contém documentos de ligações gerais.

      Quando o valor estiver configurado como aplicativo, o servidor de aplicativos procurará wstrustClientBinding no local do sistema de arquivos que contém documentos de ligações específicas do aplicativo.

      Quando a propriedade wstrustClientBindingScope não é especificada, o comportamento padrão do servidor de aplicativos é procurar ligações específicas do aplicativo e depois procurar ligações gerais.

      Se wstrustClientBinding não puder ser localizada, o servidor de aplicativos usará as ligações padrão.

    7. Opcional: Se você desejar modificar a versão SOAP do cliente de confiança padrão, que é a mesma do aplicativo cliente, especifique um novo valor para a propriedade customizada wstrustClientSoapVersion.

      Configure a propriedade customizada wstrustClientSoapVersion como 1.1 para alterar para SOAP Versão 1.1.

      Configure a propriedade customizada wstrustClientSoapVersion como 1.2 para alterar para SOAP Versão 1.2.

    8. Clique em Aplicar e, em seguida, clique em Salvar.

    Se forem necessárias mais modificações na configuração wstrustClientBinding e a propriedade wstrustClientBinding estiver apontando para uma ligação específica ao aplicativo, por exemplo, neste caso, SamlTCSample, você deverá anexar a ligação específica ao aplicativo ao cliente de serviços da web antes de poder concluir as modificações. O anexo é temporário. 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.

    Antes de continuar para a próxima etapa, verifique se o certificado SSL do STS externo existe no NodeDefaultTrustStore. Consulte a seção Antes de Iniciar para obter informações adicionais.

  4. Reinicie o aplicativo de cliente de serviços da Web para que as modificações de anexo do conjunto de política possa entrar em vigor.

    As informações de anexo do conjunto de políticas e ligação serão atualizadas quando o aplicativo for reiniciado, mas as informações atualizadas na ligação geral não serão refletidas no tempo de execução até que todas as ligações gerais sejam atualizadas.

    O aplicativo deve ser reiniciado após as ligações gerais serem recarregadas para se aproveitar das atualizações. Consulte as ligações gerais Recarregar o Cliente e o Provedor e reinicie a etapa de aplicativos a seguir para obter informações adicionais.

  5. Anexe o conjunto de políticas e as ligações do SAML ao aplicativo provedor.
    1. Anexe o conjunto de políticas SAML apropriado ao provedor de serviços da web.
      1. No console administrativo, clique em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de Políticas e Ligações de Provedor de Serviços.
      2. Selecione o recurso do provedor de serviços da web (JaxWSServicesSamples).
      3. Clique em Anexar Conjunto de Políticas.
      4. Selecione a política SAML apropriada para o provedor de serviços da web.
    2. Designe a ligação geral de amostra do SAML Bearer Provider.
      1. Selecione novamente o recurso do provedor de serviços da web.
      2. Clique em Designar Ligação.
      3. Selecione Amostra do SAML Bearer Provider.
  6. Configure as ligações de provedores de serviços da web.
    1. Se as ligações de provedores de serviços da web ainda não estiverem na página de conjuntos de políticas e ligações do provedor de serviços para JaxWSServicesSamples, clique em Aplicativos Corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de Políticas e Ligações de Provedor de Serviço > Amostra do SAML Bearer Provider.
    2. Clique em WS-Security > Autenticação e Proteção.
    3. Na tabela Tokens de Autenticação, clique em con_saml11token ou em con_saml20token.
    4. Clique em Manipulador de Retorno de Chamada.

      A página Manipulador de Retorno de Chamada do console administrativo é usada para configurar os dados de ligação de validação da assinatura digital do emissor do token do SAML para o STS externo.

    5. Opcional: Configure a propriedade customizada signatureRequired como false, se desejar renunciar a validação da assinatura digital.

      É possível configurar a propriedade customizada signatureRequired como false, se desejar renunciar a validação da assinatura digital. No entanto, uma boa prática de segurança é para requerer as asserções do SAML a serem assinadas e sempre requerer a validação da assinatura digital do emissor. False é o valor padrão desta propriedade.

    6. Opcional: Configure a propriedade customizada trustAnySigner como true, se desejar não permitir nenhuma validação de certificado de assinante.

      A definição de configuração do certificado Trust Any será ignorada para fins de validação de assinatura do SAML. Esta propriedade será válida apenas se a propriedade customizada signatureRequired estiver configurada como true, que é o valor padrão desta propriedade.

    7. Conclua as ações a seguir, se as asserções forem assinadas pelo STS, a propriedade customizada signatureRequired será configurada como o valor padrão true e a propriedade customizada trustAnySigner será configurada como o valor padrão false.
      • Inclua um certificado no armazenamento confiável para o provedor que permite que o certificado de assinatura do STS externo passe a validação de confiança, como por exemplo, o próprio certificado de assinatura do STS ou seu certificado CA raiz.
      • Configure a propriedade customizada trustStorePath como um valor que corresponda ao nome do arquivo do armazenamento de confiança. Este valor pode ser o caminho completo ou palavras-chave de uso, como por exemplo, ${USER_INSTALL_ROOT}.
      • Configure a propriedade customizada trustStoreType como um valor que corresponda ao tipo de armazenamento de chaves. Os tipos de armazenamentos de chaves suportados incluem: jks, jceks e pkcs12.
      • Configure a propriedade customizada trustStorePassword como um valor que corresponda à senha do armazenamento confiável. A senha é armazenada como uma propriedade customizada e é codificada pelo console administrativo.
      • Opcional: Configure a propriedade customizada trustedAlias como um valor, como por exemplo, samlissuer. Se essa propriedade for especificada, o certificado X.509 representado pelo alias será o único certificado STS confiável para a verificação de assinatura do SAML. Se essa propriedade customizada não for especificada, o ambiente de tempo de execução dos serviços da Web usa o certificado de sinalização dentro as asserções SAML para validar a assinatura SAML e depois verifica o certificado em relação ao armazenamento confiável configurado.
    8. Opcional: Configure o destinatário para validar o nome do emissor ou o certificado SubjectDN do emissor na asserção do SAML ou ambos.

      É possível criar uma lista de nomes de emissores confiáveis ou uma lista de certificados SubjectDNs confiáveis ou é possível criar ambos os tipos de listas. Se você criar listas de nome de emissor e SubjectDN, o nome do emissor e o SubjectDN serão verificados. Se o nome do emissor do SAML recebido ou o SubjectDN do assinante não estiver nas listas confiáveis, a validação do SAML falhará e uma exceção será emitida.

      O exemplo a seguir mostra como criar uma lista de emissores e de SubjectDNs confiáveis. Para cada nome do emissor confiável, use trustedIssuer_n em que n é um número inteiro positivo. Para cada SubjectDN confiável, use trustedSubjectDN_n em que n é um número inteiro positivo. Se você criar ambos os tipos de listas, o número inteiro n deverá ser correspondente em ambas as listas para a mesma asserção do SAML. O número inteiro n começa com 1 e aumenta de 1 em 1.

      Neste exemplo, confie uma asserção do SAML com o WebSphere/samlissuer do nome do emissor, independentemente do SubjectDN do assinante, portanto, inclua a propriedade customizada a seguir:
       <properties value="WebSphere/samlissuer" name="trustedIssuer_1"/>
      Além disso, confie uma asserção do SAML emitida pelo IBM/samlissuer, quando o SubjectDN do assinante for ou=websphere,o=ibm,c=us, portanto, inclua as propriedades customizadas a seguir:
      <properties value="IBM/samlissuer" name="trustedIssuer_2"/> 
      <properties value="ou=websphere,o=ibm,c=us" name="trustedSubjectDN_2"/>  
    9. Decriptografar a asserção do SAML.

      Se a asserção do SAML for criptografada pelo STS, o token do SAML aparecerá no cabeçalho Segurança de SOAP como um elemento EncryptedAssertion, em vez de um elemento Asserção. Para decriptografar a asserção do SAML, você deve configurar a chave privada que corresponde à chave pública usada para criptografar a asserção no STS.

      As propriedades customizadas do manipulador de retorno de chamada a seguir devem ser configuradas como o valor descrito na tabela a seguir para o destinatário decriptografar a asserção do SAML.

      Propriedade customizada Valor
      keyStorePath Local do keystore
      keyStoreType Tipo de keystore correspondente

      Os tipos de keystore suportados incluem: jks, jceks e pkcs12

      keyStorePassword Senha para o keystore
      keyAlias O alias da chave privada usada para a criptografia do SAML
      keyName O nome da chave privada usada para a criptografia do SAML
      keyPassword A senha para o nome da chave
  7. Opcional: É possível configurar a ligação do responsável pela chamada para selecionar um token SAML para representar a identidade do solicitante. O ambiente de tempo de execução da Segurança de serviços da Web usa a configuração de login do JAAS para adquirir o nome de segurança do usuário e os dados de associação ao grupo do registro do usuário usando o NameId do token SAML ou NameIdentifier como o nome de usuário.
    1. Clique em WebSphere Enterprise Applications > JaxWSServicesSamples > Ligações e Conjuntos de Políticas do Provedor do Serviço > Amostra Saml Bearer Provider > WS-Security > Responsáveis pela Chamada.
    2. Clique em Novo para criar a configuração do responsável pela chamada
    3. Especifique um Nome, como responsável pela chamada.
    4. Insira um valor para Parte local da identidade do responsável pela chamada.

      Para os tokens do SAML 1.1, insira:

      http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1

      Para os tokens do SAML 2.0, insira:

      http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0
    5. Clique em Aplicar e em Salvar.
  8. Recarregue as ligações gerais Cliente e Provedor e reinicie os aplicativos.

    Quando as informações nas ligações gerais forem atualizadas, as novas configurações não serão refletidas imediatamente no tempo de execução. Uma ligação geral atualizada deve ser recarregada pelo gerenciador do conjunto de políticas no servidor de aplicativos antes das atualizações entrarem em vigor. É possível recarregar os conjuntos de políticas e as ligações gerais atualizados parando e reiniciando o servidor de aplicativos ou usando o comando atualizar no MBean PolicySetManager no wsadmin. Para obter informações adicionais sobre como atualizar o gerenciador do conjunto de políticas, consulte o tópico Atualizando as configurações do conjunto de políticas usando o script wsdamin.

    Para recarregar as ligações gerais Cliente e Provedor e reiniciar os aplicativos, conclua uma das ações a seguir:
    • Reinicie o servidor de aplicativos ou
    • Atualize o MBean PolicySetManager e, em seguida, reinicie os aplicativos de serviços da web Cliente e Provedor.

Resultados

Depois de concluir o procedimento, o aplicativo de serviços da Web JaxWSServicesSamples está pronto para usar o conjunto de políticas padrão SAML Bearer, a amostra Saml Bearer Client, e as ligações gerais da amostra SamlBearer Provider.

Í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_configsamlbearertoken
Nome do arquivo: twbs_configsamlbearertoken.html