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
- 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.
- Clique em .
- Clique em Novo para criar a configuração do responsável pela chamada.
- Especifique um Nome, como responsável pela chamada.
- 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.
- Clique em Aplicar e em Salvar.
- 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:
- 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.
- Inclua uma propriedade customizada do manipulador de Retorno de Chamada, crossDomainIdAssertion, e configure esse valor para false.
- Opcional: Faça a asserção dos tokens de segurança SAML com base no relacionamento de confiança.
- 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.
- 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.
- 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.
- Configurar domínios de segurança confiáveis.
- No painel Segurança Global, clique no botão Configurar ao lado de Definições de região disponíveis.
- Clique no link Regiões de autenticação confiáveis - entrada.
- Escolha a opção Regiões confiáveis, conforme indicado abaixo.
- Clique no botão Incluir região externa.
- 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>