Utilice este tema y los mandatos del grupo SecureConversation
del objeto AdminTask para habilitar la memoria caché de cliente de Secure Conversation
creando un conjunto de políticas nuevo y enlaces para conectarse a las aplicaciones.
Antes de empezar
Verifique que el conjunto de políticas SecureConversation está disponible en la configuración. De forma predeterminada, el conjunto de políticas SecureConversation no está disponible. Utilice el mandato importPolicySet para importar la política SecureConversation en la configuración, como se demuestra en el ejemplo siguiente:
AdminTask.importPolicySet('-defaultPolicySet ConversaciónSegura')
Antes e utilizar los mandatos de este tema,
verifique que utiliza la versión más reciente de la herramienta
wsadmin. Los mandatos de gestión de conjuntos de políticas que
aceptan un objeto de propiedades como valor para los parámetros
attributes o bindingLocation no se admiten en versiones
anteriores de la herramienta wsadmin. Por ejemplo, los mandatos no se
ejecutan en un nodo de la versión 6.1.0.x.
Acerca de esta tarea
Este tema utiliza el conjunto de políticas SecureConversation predeterminado y
los enlaces WS-Security y TrustServiceSecurityDefault predeterminados para habilitar Secure Conversation.
El conjunto de políticas SecureConversation predeterminado contiene una política
de aplicación con el enlace simétrico y una política de rutina de carga
con el enlace asimétrico. La política de aplicación protege los mensajes de aplicación. La política de rutina de carga protege los mensajes RequestSecurityToken (RST). El
servicio de confianza, que emite proveedores de señal de contexto de seguridad,
utiliza la política de sistema TrustServiceSecurityDefault y los enlaces
TrustServiceSecurityDefault. La política de confianza protege los mensajes
RequestSecurityTokenResponse (RSTR). Si modifica la política de rutina de carga,
también debe modificar la política de confianza para que coincidan ambas configuraciones.
Avoid trouble: Utilice los pasos siguientes sólo en entornos de desarrollo y de prueba. Los enlaces de WS-Security de este procedimiento contienen archivos de claves de ejemplo que debe personalizar antes de utilizar los enlaces en un entorno de producción.
Cree enlaces personalizados para el entorno de producción.
gotcha
Procedimiento
- Inicie la herramienta de scripts wsadmin utilizando el lenguaje de scripts Jython. Para obtener más información, consulte cómo iniciar el cliente de scripts wsadmin.
- Copie el conjunto de políticas SecureConversation existente.
Utilice
el mandato de ejemplo siguiente para crear un nuevo conjunto de políticas copiando el
conjunto de políticas SecureConversation existente:
AdminTask.copyPolicySet('[-sourcePolicySet SecureConversation -newPolicySet CopyOfSCPolicySet]')
- Cambie el enlace para el dominio de seguridad global. Si eligió la opción Crear el servidor utilizando la plantilla de desarrollo al crear el perfil con la Herramienta de gestión de perfiles o el programa de utilidad del mandato manageprofiles, puede omitir este paso.
- Liste cada atributo de política WS-Security.
Para modificar el enlace del dominio de seguridad global, utilice el mandato getDefaultBindings para determinar el enlace que se establece como valor predeterminado para el proveedor o cliente, como se demuestra en el ejemplo siguiente:
AdminTask.getDefaultBinding('-bindingType proveedor')
- Visualice los atributos del enlace.
Utilice el mandato getBinding para visualizar los atributos actuales del enlace, como se demuestra en el ejemplo siguiente:
AdminTask.getBinding('-bindingLocation "" -bindingName miEnlace')
- Modifique la configuración de salida para la señal de protección.
Utilice los mandatos siguientes para modificar la configuración de salida para
la señal de protección:
cmd1_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.key.name [CN=Bob,O=IBM, C=US]] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.type JCEKS] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.keystore.path ${USER_INSTALL_ROOT}
/etc/ws-security/samples/enc-sender.jceks] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes valor_atributos_cmd1
-attachmentType aplicación]')
cmd2_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore
.path ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.keypass client] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.alias soaprequester]
[application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes valor_atributos_cmd2
-attachmentType aplicación]')
- Opcional: Modifique el enlace TrustDefaultBindings.
Si eligió la opción Crear el servidor utilizando la plantilla de desarrollo al crear el perfil con la Herramienta de gestión de perfiles o el programa de utilidad del mandato manageprofiles, puede omitir este paso.
Si
TrustDefaultBindings aún no se ha personalizado, utilice los mandatos siguientes para
modificar el enlace TrustDefaultBindings:
cmd3_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore
.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.type JCEKS] [application
.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.path ${USER_INSTALL_ROOT}/etc
/ws-security/samples/enc-sender.jceks] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler
.key.name [CN=Bob, O=IBM, C=US]] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd3_attributes_value -attachmentType system/trust]')
cmd4_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.path
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler
.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.key.keypass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key
.alias soaprequester] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd4_attributes_value-attachmentType system/trust]')
- Adjunte el conjunto de políticas y el enlace a la aplicación.
Utilice
el parámetro attachmentType para el mandato createPolicySetAttachment para especificar si
la aplicación es un cliente de servicio o un proveedor de servicio. Utilice los mandatos
siguientes para adjuntar el conjunto de políticas
CopiaDeConjuntoPolíticasOrig a la
aplicación cliente de servicio
myTestApp:
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType cliente]')
Utilice los mandatos siguientes para adjuntar el conjunto de políticas
CopiaDeConjuntoPolíticasOrig a la aplicación de proveedor de servicio
miAplPrueba:
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType application]')
En este paso se asignan automáticamente los enlaces.
Resultados
La configuración de Secure Conversation se actualiza en el archivo WSSCCache.xml situado en el directorio de nivel de célula.
Qué hacer a continuación
Gestione las configuraciones de Secure Conversation con el grupo de mandatos
SecureConversation para el objeto AdminTask.