Propriedades de configuração do emissor SAML

Ao criar um novo token SAML autoemitido, é possível especificar propriedades de configuração para controlar como o token é configurado. As propriedades de configuração são pares de nome/valor que descrevem informações no lado do provedor, como a localização do emissor e os caminhos do arquivo de armazenamento confiável e do keystore.

As propriedades de configuração do emissor SAML podem ser armazenadas em um arquivo de propriedade chamado SAMLIssuerConfig.properties. O uso do arquivo SAMLIssuerConfig.properties foi descontinuado no WebSphere Application Server versão 8.

A partir do WebSphere Application Server versão 8, também é possível especificar essas propriedades em ligações de políticas de WS-Security ou no WSSGenerationContext das Interfaces de Programação de Aplicativos (APIs) do Web Services Security (WSS).

No console administrativo, as propriedades são configuradas nas Propriedades Customizadas de Saída do WS-Security. Um exemplo de caminho seria Serviços > Conjuntos de políticas > Ligações do conjunto de políticas do cliente geral > Amostra de Saml Bearer Client > WS-Security > Propriedades customizadas. Também é possível configurar as propriedades nas ligações de política de WS-Security usando a tarefa administrativa setSAMLIssuerConfigInBinding. Para obter informações adicionais, consulte Gerenciando a configuração de token SAML de emissão automática usando comandos wsadmin.

Nas ligações de Segurança WS, estas propriedades também podem ser configuradas no consumidor de token SAML ou manipulador de retorno de chamada do consumidor de token SAML. A precedência, de alta para baixa, é: manipulador de retorno de chamada, consumidor de token, propriedades customizadas gerais.

Se o gerador de token SAML for usado para autoemitir um token SAML usando as ligações de Segurança WS, há dois caminhos que podem ser usados para gerar o token:
  1. Gere o token autoemitido a partir do zero.
  2. Gere o token autoemitido com base em um token que esteja presente no assunto runAs. Se nenhum token estiver presente no assunto, o token será construído a partir do zero.
Evitar Problemas Evitar Problemas: Se você desejar assegurar que o token autoemitido seja gerado a partir do zero, a propriedade customizada NameID deverá ser configurada no manipulador de retorno de chamada do gerador de token SAML. Se a propriedade NameID não estiver configurada no manipulador de retorno de chamada do gerador de token e não havia nenhum token SAML no assunto runAs, o NameID no Assunto no token será configurado para UNAUTHENTICATED.gotcha

Se o gerador de token SAML for usado para emitir automaticamente um token SAML usando as WSSAPIs, as propriedades customizadas serão incluídas diretamente no com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext usando um HashMap. Consulte o javadoc de com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext para obter informações adicionais.

Se um token SAML de emissão automática for criado usando a WSSAPI com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory, o método SAMLTokenFactory.newDefaultProviderConfig() retornará um objeto com.ibm.wsspi.wssecurity.saml.config.ProviderConfig que possui valores de objetos configurados para as propriedades especificadas no arquivo SAMLIssuerConfig.properties. Se nenhum arquivo SAMLIssuerConfig.properties for especificado, que é o estilo de programação recomendado, será retornado um objeto ProviderConfig com conteúdo vazio. Use métodos setter ProviderConfig para preencher o conteúdo. Consulte o javadoc de com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory para obter informações adicionais.

Local do Arquivo SAMLIssuerConfig.properties

Um arquivo de configuração único, SAMLIssuerConfig.properties, contendo as propriedades do lado do provedor é criado e armazenado em cada servidor. Em um servidor WebSphere, o arquivo está localizado no repositório em nível do servidor ou no repositório em nível de célula. Em um ambiente que não é baseado no WebSphere, o local do arquivo é definido por uma propriedade de sistema Java™. O nome desta propriedade é com.ibm.webservices.wssecurity.platform.SAMLIssuerConfigDataPath.

Por exemplo, o local do arquivo no nível do servidor em um servidor WebSphere é:app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties

O local do arquivo no nível da célula em um servidor WebSphere é:app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties

Propriedades de Token SAML

A tabela a seguir descreve as propriedades de configuração do provedor.
Tabela 1. Propriedades para Configurar as Informações do Provedor para um Novo Token SAML. Use estas propriedades para controlar como o token é criado. Essa tabela mostra as propriedades que são usadas no arquivo SAMLIssuerConfig.properties e as ligações de política de WS-Security.
Nome da propriedade SAMLIssuerConfig.properties Nome da propriedade de ligações de políticas Valor da propriedade de amostra Descrição da Propriedade
com.ibm.wsspi.wssecurity.dsig.oldEnvelopedSignature com.ibm.wsspi.wssecurity.saml.config.issuer.oldEnvelopedSignature verdadeiro Use apenas se estiver configurado a propriedade customizada JVM com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty como true. Consulte o tópico Propriedades customizadas da Java Virtual Machine (JVM) para obter uma descrição de quando é possível usar essa propriedade customizada JVM.
IssuerFormat com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerFormat urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName O valor do atributo Format do elemento Issuer no token SAML.
Nota: Se desejar incluir o atributo Format no elemento Issuer, você deverá especificar esta propriedade.
IssuerURI com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerURI http://www.websphere.ibm.com/SAML/SelfIssuer A URI do emissor.
TimeToLiveMilliseconds com.ibm.wsspi.wssecurity.saml.config.issuer.TimeToLiveMilliseconds 3600000 Quantidade de tempo antes da expiração do token. Essa propriedade é usada para configurar os atributos NotOnOrAfter no token. NotOnOrAfter é configurado como (currentTime)+TimeToLive+(currentClockSkew).
KeyStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreRef name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode Uma referência a um keystore gerenciado em security.xml que contém a chave de assinatura.
KeyStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePath app_server_root/etc/ws-security/samples/dsig-receiver.ks O local do arquivo keystore que contém a chave de assinatura.
Nota: Você deve modificar este valor a partir do valor padrão para corresponder ao local do caminho para seu sistema.
KeyStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreType JKS O tipo de keystore.
KeyStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePassword password A senha do arquivo keystore (a senha deve ser codificada com XOR). Para obter informações adicionais, leia sobre como codificar senhas em arquivos.
KeyAlias com.ibm.wsspi.wssecurity.saml.config.issuer.KeyAlias soapprovider O alias da chave privada de assinatura conforme definido no keystore.
KeyName com.ibm.wsspi.wssecurity.saml.config.issuer.KeyName CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP O nome da chave privada de assinatura conforme definido no arquivo keystore. Esse nome é para referência e não é avaliado pelo tempo de execução.
KeyPassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyPassword password A senha da chave privada conforme definida no arquivo keystore (a senha deve ser codificada por XOR).
TrustStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreRef name=myTrustStoreRef managementScope=(cell):myCell:(node):myNode Uma referência a um keystore gerenciado em security.xml que contém o certificado de criptografia.
TrustStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePath app_server_root/etc/ws-security/samples/dsig-receiver.ks O local do arquivo de armazenamento que contém o certificado de criptografia.
Nota: Você deve modificar este valor a partir do valor padrão para corresponder ao local do caminho para seu sistema.
TrustStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreType JKS O tipo de armazenamento do arquivo de armazenamento que contém o certificado de criptografia.
TrustStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePassword password A senha do arquivo de armazenamento que contém o certificado de criptografia.
AttributeProvider com.ibm.wsspi.wssecurity.saml.config.issuer.AttributeProvider com.mycompany.SAML.AttributeProviderImpl Classe de implementação do provedor de atributos.
Nota: A classe deve implementar javax.security.auth.callback.CallbackHandler. A classe deve receber o objeto de retorno de chamada com.ibm.websphere.wssecurity.callbackhandler.Saml11AttributeCallback ou com.ibm.websphere.wssecurity.callbackhandler.Saml20AttributeCallback, então, atualize a lista SAMLAttribute recebida do método getSAMLAttributes chamado desse objeto.

Para obter informações adicionais, consulte Incluindo atributos para tokens SAML de emissão automática usando a API.

EncryptingAlias com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptingAlias soaprecipient A entrada no arquivo de armazenamento fornecido na propriedade Armazenamento Confiável que contém o certificado público que será usado para criptografar o token SAML. Ao gerar um token autoemitido com APIs, um alias configurado no RequesterConfig usando o método setKeyAliasForAppliesTo terá precedência sobre o valor fornecido para essa propriedade.
EncryptSAML com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptSAML verdadeiro Configure essa propriedade para true se desejar gerar um token SAML criptografado. O valor-padrão para esta propriedade é false.

Ao gerar um token autoemitido com APIs, também é possível indicar que você deseja criptografar o token SAML usando o método setEncryptSAML(true) no objeto RequesterConfig. O token SAML será criptografado se setEncryptSAML=true no objeto RequesterConfig ou a propriedade customizada EncryptSAML for configurada para true.

NameIDProvider com.ibm.wsspi.wssecurity.saml.config.issuer.NameIDProvider com.mycompany.SAML.NameIDProviderImpl Classe de implementação do provedor de ID de nome.
Nota: A classe deve implementar javax.security.auth.callback.CallbackHandler. A classe deve receber o objeto de retorno de chamada com.ibm.websphere.wssecurity.callbackhandler.NameIDCallback, em seguida, chamar o método setSAMLNameID nesse objeto para atualizar o NameID.

Para obter informações adicionais, consulte Customizando o NameID para tokens SAML de emissão automática usando a API.

UseSha2ForSignature com.ibm.wsspi.wssecurity.saml.config.issuer.UseSha2ForSignature verdadeiro Configure essa propriedade para true para usar o algoritmo de assinatura SHA-2, http://www.w3.org/2001/04/xmldsig-more#rsa-sha256, ao assinar o token SAML.

Exemplo:

Consulte o seguinte exemplo de um arquivo de propriedades de configuração do token SAML:
IssuerURI=http://www.websphere.ibm.com/SAML/SelfIssuer
TimeToLiveMilliseconds=3600000
KeyStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
KeyStoreType=JKS
KeyStorePassword={xor}LDotKTot
KeyAlias=soapprovider
KeyName=CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP
KeyPassword={xor}LDotKTot
TrustStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
TrustStoreType=JKS
TrustStorePassword={xor}LDotKTot 

Ícone que indica o tipo de tópico Tópico de Referência



Í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=rwbs_samltokenproperties
Nome do arquivo: rwbs_samltokenproperties.html