Estabelecendo Contexto de Segurança para os Clientes de Serviços da Web Usando os Tokens de Segurança SAML

O WebSphere Application Server suporta duas opções de configuração de ligação do responsável pela chamada do conjunto de políticas para estabelecer o contexto de segurança do cliente usando os tokens de segurança SAML nas mensagens de solicitação SOAP de serviços da Web. As duas opções de configuração são mapear tokens SAML para uma entrada do usuário em um repositório do usuário local e asserir tokens SAML com base em um relacionamento de confiança.

Antes de Iniciar

Essa tarefa assume que está familiarizado com a tecnologia SAML do WebSphere Application Server.

Sobre Esta Tarefa

Essa tarefa descreve a opção de configuração de ligação do responsável pela chamada do conjunto de políticas do WebSphere Application Server para estabelecer o contexto de segurança do cliente usando os tokens de segurança SAML nas mensagens de solicitação SOAP de serviços da Web. É possível mapear tokens SAML para uma entrada do usuário em um repositório do usuário local ou asserir tokens SAML com base em um relacionamento de confiança. A segunda opção de configuração não requer acessar o repositório do usuário local. Em vez disso, o ambiente de tempo de execução do WS-Security preenche o contexto de segurança do cliente inteiramente usando o conteúdo dos tokens de segurança SAML. Esse processo é baseado em um relacionamento de confiança com o emissor do token SAML. Se um token SAML especificar o método de configuração do sujeito 'sender-vouches', o processo será baseado em um relacionamento de confiança com o remetente da mensagem.

Procedimento

  1. Configure uma ligação do responsável pela chamada do conjunto de políticas e selecione o tipo de token SAML para representar uma solicitação do cliente de serviços da web.
    1. Clique em WebSphere Enterprise Applications > application_name > Conjuntos de políticas e ligações do provedor de serviço > binding_name > 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. Por exemplo, http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0, que deve corresponder à parte local do elemento CustomToken na política de Segurança WS anexada.
    5. Clique em Aplicar e em Salvar.
  2. Opcional: Mapeie os tokens de segurança SAML para uma entrada do usuário em um repositório do usuário local. Mapear para uma entrada do usuário é o comportamento padrão quando configurar uma ligação do responsável pela chamada sem especificar uma opção de configuração. Como alternativa e opcionalmente, é possível selecionar essa opção de configuração explicitamente usando as seguintes etapas:
    1. Na página de configuração de ligação do responsável pela chamada, inclua um manipulador de Retorno de Chamada: com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. Inclua uma propriedade customizada do manipulador de Retorno de Chamada, crossDomainIdAssertion, e configure esse valor para false.
  3. Opcional: Faça a asserção dos tokens de segurança SAML com base no relacionamento de confiança.
    1. Na página de configuração de ligação do responsável pela chamada, inclua um manipulador de Retorno de Chamada: com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. Inclua uma propriedade customizada do manipulador de Retorno de Chamada, crossDomainIdAssertion, e configure esse valor para true.
    No WebSphere Application Server Versão 7.0 Fix Pack 7 e liberações posteriores, o ambiente de tempo de execução do WS-Security usará um nome do Emissor de token SAML para representar o nome da região de segurança externo. O WS-Security usa o elemento NameID, no caso dos tokens de segurança SAML 2.0, ou o elemento NameIdentifier, no caso dos tokens de segurança SAML 1.1, para representar o nome da segurança do usuário. Como alternativa, é possível especificar explicitamente qual atributo de token SAML será usado para representar o nome de segurança do usuário. Além disso, também é possível especificar qual atributo de token SAML será usado para representar a associação do grupo de usuários. Consulte as asserções SAML entre os domínios de segurança do WebSphere Application Server para obter uma discussão detalhada do modelo de confiança de asserção de token SAML e da configuração de ligação.

    A versão 8.x pode propagar o conteúdo de com.ibm.websphere.security.cred.WSCredential no token SAML. Você deve configurar uma propriedade customizada tokenRequest com um valor de propriedade issueByWSCredential na configuração de ligação do WS-Security do cliente de serviços da Web. Consulte a propagação de tokens SAML para obter uma descrição detalhada dessa opção de ligação. Quando a propriedade crossDomainIdAssertion estiver configurada como true na Versão 8.x, a Segurança WS verificará se um token do SAML contém um atributo SAML UniqueSecurityName com um elemento NameFormat com um valor de com.ibm.websphere.security.cred.WSCredential. Se localizado, o WS-Security usa o valor de atributo NameQualifier do elemento NameID ou do elemento NameIdentifier para representar o nome da região de segurança do usuário. O WS-Security também usa o valor de tributo UniqueSecurityName e o valor de atributo GroupIds para representar um nome de usuário e uma associação de grupo exclusivos. Esse comportamento padrão é diferente entre a Versão 7 e a Versão 8.x do produto. É possível incluir uma propriedade CallbackHandler, IssuerNameForRealm e configurar seu valor como true para configurar a Versão 8.x para preservar o comportamento da Versão 7. Como alternativa, é possível incluir uma propriedade CallbackHandler, NameQualifierForRealm e configurar seu valor como true para configurar a Versão 8.x para usar sempre o atributo NameQualifier para representar o nome da região de segurança do usuário.

  4. Ative e configure a segurança global do WebSphere Application Server.

    É possível usar o assistente de Configuração de Segurança para ativar a segurança administrativa. Também é necessário ativar a segurança do aplicativo, de forma que o aplicativo de amostra possa usar o assunto do usuário autenticado no contexto de segurança para criar um token SAML. Esta etapa envolve a configuração do terceiro ponto de verificação de relacionamento de confiança no lado do provedor de serviços da web. Esta etapa é necessária para usar o servidor de aplicativos para simular o provedor de serviços da web de domínio de segurança de destino. O subsistema de autenticação do WebSphere Application Server V8.0 suporta a declaração da identidade do usuário com um nome de região estrangeira e verifica o nome da região estrangeira com relação à lista de regiões de autenticação confiáveis de entrada. Após concluir esta etapa de configuração, oWebSphere Application Server pode criar um assunto do responsável pela chamada do cliente com uma identidade do usuário em um região de segurança estrangeira.

  5. Configurar domínios de segurança confiáveis.
    1. No painel Segurança Global, clique no botão Configurar ao lado de Definições de região disponíveis.
    2. Clique no link Regiões de autenticação confiáveis - entrada.
    3. Escolha a opção Regiões confiáveis, conforme indicado abaixo.
    4. Clique no botão Incluir região externa.
    5. Inclua o nome do emissor de asserção SAML no Nome da região externa.

      O nome do emissor de asserção SAML fornece informações sobre o emissor da asserção SAML, que está dentro do elemento Emissor na asserção SAML 2.0 ou é o atributo Emissor na asserção SAML.

Resultados

Um serviço da Web foi configurado para estabelecer um contexto de segurança do cliente usando o token de segurança SAML nas mensagens de solicitação SOAP de serviços da Web.

Exemplo

O exemplo a seguir ilustra os elementos NameIdentifier e Attribute a partir de uma asserção SAML 1.1 emitida automaticamente com base no WSCredential:
<saml:AttributeStatement>
    <saml:Subject>
        <saml:NameIdentifier NameQualifier="ldap.example.com:9080">uid=alice,dc=example,dc=com</saml:NameIdentifier>
        <saml:SubjectConfirmation>
            <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
        </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Attribute AttributeName="UniqueSecurityName" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>uid=alice,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
    <saml:Attribute AttributeName="GroupIds" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>cn=development,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=deployment,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=test,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
</saml:AttributeStatement>
O exemplo a seguir ilustra os elementos NameID e Attribute a partir de uma asserção SAML 2.0 emitida automaticamente com base no WSCredential:
<saml2:AttributeStatement>
    <saml2:Attribute Name="UniqueSecurityName" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
    <saml2:AttributeValue>uid=alice,dc=example,dc=com</saml2:AttributeValue>
    <saml2:Attribute>
        <saml2:Attribute AttributeName="GroupIds" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
        <saml2:AttributeValue>cn=development,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=deployment,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=test,dc=example,dc=com</saml2:AttributeValue>
    </saml2:Attribute>
<saml2:AttributeStatement>

<saml2:NameID NameQualifier="ldap.example.com:9060">alice</saml2:NameID>

Í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_representclientbysaml
Nome do arquivo: twbs_representclientbysaml.html