Sicheren Dialog mit wsadmin-Scripting aktivieren

Verwenden Sie diesen Artikel und die Befehle in der Gruppe SecureConversation des Objekts AdminTask, um den Clientcache für sichere Dialoge durch das Erstellen eines neuen Richtliniensatzes und neuer Bindungen für Ihre Anwendungen zu aktivieren.

Vorbereitende Schritte

Stellen Sie sicher, dass der Richtliniensatz "SecureConversation" in Ihrer Konfiguration verfügbar ist. Standardmäßig ist der Richtliniensatz "SecureConversation" nicht verfügbar. Verwenden Sie den Befehl "importPolicySet", um die Richtlinie "SecureConversation", wie im folgenden Beispiel gezeigt, in Ihre Konfiguration zu importieren:
AdminTask.importPolicySet('-defaultPolicySet SecureConversation')

Bevor Sie die in diesem Artikel beschriebenen Befehle verwenden, sollten Sie sich vergewissern, dass Sie die aktuelle Version des Tools wsadmin verwenden. Die Verwaltungsbefehle für Richtliniensätze, die ein Eigenschaftenobjekt als Wert für die Parameter attributes und bindingLocation akzeptieren, werden in früheren Versionen des Tools wsadmin nicht unterstützt. Diese Beispiele können beispielsweise nicht auf einem Knoten der Version 6.1.0.x ausgeführt werden.

Informationen zu diesem Vorgang

In diesem Artikel werden der Standardrichtliniensatz SecureConversation und die WS-Security- und TrustServiceSecurityDefault-Standardbindungen verwendet, um sichere Dialog zu aktivieren.

Der Standardrichtliniensatz SecureConversation enthält eine Anwendungsrichtlinie mit der symmetrischen Bindung und eine Bootstrap-Richtlinie mit der asymmetrischen Bindung. Die Anwendungsrichtlinie sichert die Anwendungsnachrichten. Die Bootstrap-Richtlinie sichert RST-Nachrichten (RequestSecurityToken). Der Trust-Service, der Sicherheitskontexttokenprovider ausstellt, verwendet die Systemrichtlinie TrustServiceSecurityDefault und die TrustServiceSecurityDefault-Bindungen. Die Trust-Richtlinie sicheret RSTR-Nachrichten (RequestSecurityTokenResponse). Wenn Sie die Bootstrap-Richtlinie ändern, müssen Sie auch die Trust-Richtlinie so ändern, dass beide Konfigurationen übereinstimmen.

Fehler vermeiden Fehler vermeiden: Führen Sie die folgenden Schritte nur in Entwicklungs- und Testumgebungen aus. Die WS-Security-Bindungen in dieser Prozedur enthalten Beispielschlüsseldateien, die Sie anpassen müssen, bevor Sie die Bindungen in einer Produktionsumgebung verwenden. Erstellen Sie angepasste Bindungen für Ihre Produktionsumgebung. gotcha

Vorgehensweise

  1. Starten Sie das Scripting-Tool "wsadmin" mit der Scripting-Sprache Jython. Weitere Informationen finden Sie in der Dokumentation zum Starten des wsadmin-Scripting-Clients.
  2. Kopieren Sie den vorhandenen SecureConversation-Richtliniensatz.
    Verwenden Sie das folgende Befehlsbeispiel, um einen neuen Richtliniensatz durch Kopieren des vorhandenen SecureConversation-Richtliniensatzes zu erstellen:
    AdminTask.copyPolicySet('[-sourcePolicySet SecureConversation -newPolicySet CopyOfSCPolicySet]')
  3. Ändern Sie die Bindung für die globale Sicherheitsdomäne. Wenn Sie beim Erstellen Ihres Profils mit Profile Management Tool oder mit dem Befehl "manageprofiles" die Option Server mit einer Entwicklungsschablone erstellen ausgewählt haben, können Sie diesen Schritt überspringen.
    1. Listen Sie die jedes Attribut der WS-Security-Richtlinie auf.
      Wenn Sie die Bindung für die globale Sicherheitsdomäne ändern möchten, verwenden Sie den Befehl "getDefaultBindings", um, wie im folgenden Beispiel gezeigt, die Bindung zu bestimmen, die als Standardbindung für den Provider oder den Client festgelegt werden soll:
      AdminTask.getDefaultBinding('-bindingType provider')
    2. Zeigen Sie die Attribute für die Bindung an.
      Verwenden Sie den Befehl "getBinding", um, wie im folgenden Beispiel gezeigt, die aktuellen Attribute für die Bindung anzuzeigen:
      AdminTask.getBinding('-bindingLocation "" -bindingName myBinding')
    3. Ändern Sie die abgehende Konfiguration für das Zugriffsschutztoken.
      Verwenden Sie die folgenden Befehle, um die abgehende Konfiguration für das Zugriffsschutztoken zu ändern:
      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 cmd1_attributes_value 
      -attachmentType application]')
      
      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 cmd2_attributes_value 
      -attachmentType application]')
  4. Optional: Ändern Sie die TrustDefaultBindings-Bindung. Wenn Sie beim Erstellen Ihres Profils mit Profile Management Tool oder mit dem Befehl "manageprofiles" die Option Server mit einer Entwicklungsschablone erstellen ausgewählt haben, können Sie diesen Schritt überspringen.
    Wenn die TrustDefaultBindings noch nicht angepasst wurden, verwenden Sie die folgenden Befehle, um die TrustDefaultBindings-Bindung zu ändern:
    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]')
  5. Ordnen Sie der Anwendung den Richtliniensatz und die Bindung zu.
    Verwenden Sie den Parametr "attachmentType" für den Befehl "createPolicySetAttachment", um anzugeben, ob Ihre Anwendung ein Service-Client oder ein Service-Provider ist. Verwenden Sie die folgenden Befehle, um den Richtliniensatz CopyOfSCPolicySet der Service-Client-Anwendung myTestApp zuzuordnen:
    AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet 
    -resources WebService:/ -attachmentType client]') 
    Verwenden Sie die folgenden Befehle, um den Richtliniensatz CopyOfSCPolicySet der Service-Provider-Anwendung myTestApp zuzuordnen:
    AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet 
    -resources WebService:/ -attachmentType application]')
    In diesem Schritt werden die Bindungen automatisch zugeordnet.

Ergebnisse

Ihre Konfiguration für sichere Dialoge wird in der Datei "WSSCCache.xml" im Verzeichnis auf Zellenebene aktualisiert.

Nächste Schritte

Verwalten Sie Ihre Konfigurationen für sichere Dialoge mit der Befehlsgruppe "SecureConversation" für das Objekt "AdminTask".


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_wsfpenablewssc
Dateiname:txml_wsfpenablewssc.html