CSI-Authentifizierung mit Scripting konfigurieren
Dieser Artikel beschreibt, wie Sie mit dem Tool "wsadmin" die eingehende und abgehende Kommunikation über das Protokoll Common Secure Interoperability (CSI) konfigurieren. Common Secure Interoperability Version 2 (CSIv2) unterstützt eine verstärkte Anbieterinteroperabilität und weitere Features.
Vorbereitende Schritte
- Sie müssen die Rolle "Administrator" oder "Neuer Administrator" haben.
- Die globale Sicherheit muss in der Umgebung aktiviert sein.
- Konfigurieren Sie mehrere Realms mit Sicherheitsdomänen in Ihrer Umgebung.
Vorgehensweise
- Konfigurieren Sie die Authentifizierung eingehender CSI-Kommunikation.
Der Begriff "Eingehende Authentifizierung" bezieht sich auf die Konfiguration, die festlegt, welche Art der Authentifizierung für eingehende Anforderungen akzeptiert wird. Diese Authentifizierung wird in der Internet Object Reference (IOR) empfohlen, die der Client aus dem Servernamen abruft.
- Starten Sie das Scripting-Tool "wsadmin" mit der Scripting-Sprache Jython. Weitere Informationen finden Sie im Artikel "wsadmin-Scripting-Client starten".
- Bestimmen Sie die Einstellungen für die eingehende CSI-Kommunikation. Der Befehl "configureCSIInbound" konfiguriert verschiedene Einstellungen für die eingehende CSI-Kommunikation.
Tabelle 1. Befehlsparameter. Sehen Sie sich die folgende Liste optionaler Parameter an, mit denen Sie die Attribute für Ihre Konfiguration definieren können: Parameter Beschreibung -securityDomainName Gibt den Namen der Sicherheitskonfiguration an. Wenn Sie keinen Sicherheitsdomänennamen angeben, ändert der Befehl die globale Sicherheitskonfiguration. (String) -messageLevelAuth Gibt an, ob Clients, die eine Verbindung zu diesem Server herstellen, eine Benutzer-ID und ein Kennwort angeben müssen. Geben Sie Never an, um die Anforderung von Benutzer-ID und Kennwort zu inaktivieren. Geben Sie Supported an, um eine Benutzer-ID und ein Kennwort zu akzeptieren. Geben Sie Required an, wenn eine Benutzer-ID und ein Kennwort erforderlich sind. (String) -supportedAuthMechList Gibt das zu verwendende Authentifizierungsverfahren an. Geben Sie KRB5 für die Kerberos-Authentifizierung, LTPA für die LTPA-Authentifizierung (Lightweight Third-Party Authentication), BasicAuth für die Basisauthentifizierung oder custom für eine eigene Authentifizierungstokenimplementierung an. Sie können mehrere Verfahren angeben, indem Sie sie durch ein Pipe-Zeichen (|) voneinander trennen. (String) -clientCertAuth Gibt an, ob ein Client, der eine Verbindung zum Server herstellt, ein SSL-Zertifikat verwenden muss. Geben Sie Never an, wenn Sie Clients die Verbindungsherstellung ohne SSL-Zertifikat erlauben möchten. Geben Sie Supported an, wenn Clients mit und ohne SSL-Zertifikat akzeptiert werden sollen. Geben Sie Required an, wenn Clients ein SSL-Zertifikat verwenden müssen. (String) -transportLayer Gibt die unterstützte Transportschicht an. Geben Sie Never an, wenn die Unterstützung der Transportschicht inaktiviert werden soll. Geben Sie Supported an, wenn die Unterstützung der Transportschicht aktiviert werden soll. Geben Sie Required an, wenn die Unterstützung der Transportschicht erforderlich ist. (String) -sslConfiguration Gibt den für den eingehenden Transport zu verwendenden SSL-Konfigurationsalias an. (String) -enableIdentityAssertion Gibt an, ob die Identitätszusicherung aktiviert werden soll. Wenn Sie die Authentifizierung durch Zusicherung der Identität verwenden, ist das generierte Sicherheitstoken ein Element <wsse:UsernameToken>, das ein Element <wsse:Username> enthält. Geben Sie den Wert true für den Parameter -enableIdentityAssertion an, um die Identitätszusicherung zu aktivieren. (Boolean) -trustedIdentities Gibt eine durch Pipe-Zeichen (|) getrennte Liste anerkannter Serveridentitäten an. Wenn Sie einen Nullwert angeben möchten, müssen Sie als Wert für den Parameter -trustedIdentities eine leere Zeichenfolge ("") angeben. (String) -statefulSession Gibt an, ob eine statusabhängige Sitzung aktiviert werden soll. Geben Sie true an, wenn eine statusabhängige Sitzung aktiviert werden soll. (Boolean) -enableAttributePropagation Gibt an, ob die Weitergabe von Sicherheitsattributen aktiviert werden soll. Die Weitergabe von Sicherheitsattributen ermöglicht dem Anwendungsserver, authentifizierte Subjektinhalte und Sicherheitskontextinformationen von einem Server auf einen anderen in Ihrer Konfiguration zu übertragen. Geben Sie true an, um die Weitergabe von Sicherheitsattributen zu aktivieren. (Boolean) - Konfigurieren Sie die Authentifizierung eingehender CSI-Kommunikation.
Der Befehl "configureCSIInbound" konfiguriert die eingehende CSIv2-Authentifizierung in einer Sicherheitsdomäne oder in der globalen Sicherheitskonfiguration. Wenn Sie die eingehende CSI-Authentifizierung in einer Sicherheitsdomäne zum ersten Mal konfigurieren, werden die CSI-Objekte aus der globalen Sicherheit kopiert. Anschließend werden die Änderungen auf die Konfiguration angewendet.
Verwenden Sie den Befehl "configureCSIInbound", wie im folgenden Jython-Beispiel gezeigt, um die eingehende CSI-Authentifizierung für eine Sicherheitsdomäne oder für die globale Sicherheitskonfiguration zu konfigurieren:AdminTask.configureCSIInbound('-securityDomainName testDomain -messageLevelAuth Supported -supportedAuthMechList KRB5|LTPA -clientCertAuth Supported -statefulSession true')
- Sichern Sie die Konfigurationsänderungen. Verwenden Sie den folgenden Beispielbefehl, um Ihre Konfigurationsänderungen zu speichern:
AdminConfig.save()
- Konfigurieren Sie die Authentifizierung abgehender CSI-Kommunikation.
Abgehende Authentifizierung bezieht sich auf die Konfiguration, die festlegt, welche Art der Authentifizierung für abgehende Anforderungen, die an nachgeschaltete Server gerichtet sind, verwendet werden soll.
- Starten Sie das wsadmin-Scripting-Tool.
- Bestimmen Sie die Einstellungen für die abgehende CSI-Kommunikation. Der Befehl "configureCSIOutbound" konfiguriert verschiedene Einstellungen für die abgehende CSI-Kommunikation.
Tabelle 2. Befehlsparameter. Sehen Sie sich die folgende Liste optionaler Parameter an, mit denen Sie die Attribute für Ihre Konfiguration definieren können: Parameter Beschreibung -securityDomainName Gibt den Namen der Sicherheitskonfiguration an. Wenn Sie keinen Sicherheitsdomänennamen angeben, ändert der Befehl die globale Sicherheitskonfiguration. (String) -enableAttributePropagation Gibt an, ob die Weitergabe von Sicherheitsattributen aktiviert werden soll. Die Weitergabe von Sicherheitsattributen ermöglicht dem Anwendungsserver, authentifizierte Subjektinhalte und Sicherheitskontextinformationen von einem Server auf einen anderen in Ihrer Konfiguration zu übertragen. Geben Sie true an, um die Weitergabe von Sicherheitsattributen zu aktivieren. (Boolean) -enableIdentityAssertion Gibt an, ob die Identitätszusicherung aktiviert werden soll. Wenn Sie die Authentifizierung durch Zusicherung der Identität verwenden, ist das generierte Sicherheitstoken ein Element <wsse:UsernameToken>, das ein Element <wsse:Username> enthält. Geben Sie den Wert true für den Parameter -enableIdentityAssertion an, um die Identitätszusicherung zu aktivieren. (Boolean) -useServerIdentity Gibt an, ob die Serveridentität verwendet werden soll, um eine Vertrauensbasis mit dem Zielserver zu schaffen. Geben Sie true an, um die Serveridentität zu verwenden. (Boolean) -trustedId Gibt die anerkannte ID an, die der Anwendungsserver verwendet, um das Vertrauen zum Zielserver aufzubauen. (String) -trustedIdentityPassword Gibt das Kennwort für die anerkannte Serveridentität an. (String) -messageLevelAuth Gibt an, ob Clients, die eine Verbindung zu diesem Server herstellen, eine Benutzer-ID und ein Kennwort angeben müssen. Geben Sie Never an, um die Anforderung von Benutzer-ID und Kennwort zu inaktivieren. Geben Sie Supported an, um eine Benutzer-ID und ein Kennwort zu akzeptieren. Geben Sie Required an, wenn eine Benutzer-ID und ein Kennwort erforderlich sind. (String) -supportedAuthMechList Gibt das zu verwendende Authentifizierungsverfahren an. Geben Sie KRB5 für die Kerberos-Authentifizierung, LTPA für die LTPA-Authentifizierung (Lightweight Third-Party Authentication), BasicAuth für die Basisauthentifizierung oder custom für eine eigene Authentifizierungstokenimplementierung an. Sie können mehrere Verfahren angeben, indem Sie sie durch ein Pipe-Zeichen (|) voneinander trennen. (String) -clientCertAuth Gibt an, ob ein Client, der eine Verbindung zum Server herstellt, ein SSL-Zertifikat verwenden muss. Geben Sie Never an, wenn Sie Clients die Verbindungsherstellung ohne SSL-Zertifikat erlauben möchten. Geben Sie Supported an, wenn Clients mit und ohne SSL-Zertifikat akzeptiert werden sollen. Geben Sie Required an, wenn Clients ein SSL-Zertifikat verwenden müssen. (String) -transportLayer Gibt die unterstützte Transportschicht an. Geben Sie Never an, wenn die Unterstützung der Transportschicht inaktiviert werden soll. Geben Sie Supported an, wenn die Unterstützung der Transportschicht aktiviert werden soll. Geben Sie Required an, wenn die Unterstützung der Transportschicht erforderlich ist. (String) -sslConfiguration Gibt den für den eingehenden Transport zu verwendenden SSL-Konfigurationsalias an. (String) -statefulSession Gibt an, ob eine statusabhängige Sitzung aktiviert werden soll. Geben Sie true an, wenn eine statusabhängige Sitzung aktiviert werden soll. (Boolean) -enableCacheLimit Gibt an, ob die Größe des CSIv2-Sitzungscaches begrenzt werden soll. Wenn Sie den Wert true angeben, wird der Cachegröße eine Begrenzung zugeordnet. Der Wert der Begrenzung wird von den Werten bestimmt, die Sie mit den Parametern -maxCacheSize und -idleSessionTimeout festlegen. Der Standardwert "false" legt keine Begrenzung für die Cachegröße fest. Überlegen Sie, den Wert "true" für diesen Parameter hinzuzufügen, wenn Ihre Umgebung die Kerberos-Authentifizierung verwendet und eine geringe Zeitabweichung für das konfigurierte Key Distribution Center (KDC) aufweist. Eine geringe Zeitabweichung ist laut Definition eine Zeitabweichung von weniger als 20 Minuten. Dieser Parameter ist wirksam, wenn Sie den Parameter -statefulSession auf "true" setzen. (Boolean) -maxCacheSize Gibt die maximale Größe des Sitzungscaches an, bei deren Erreichen abgelaufene Sitzungen aus dem Cache gelöscht werden. Abgelaufene Sitzungen sind laut Definition Sitzungen, deren Inaktivitätszeit den Wert überschreitet, den Sie für den Parameter -idleSessionTimeout angeben. Überlegen Sie, einen Wert für diesen Parameter anzugeben, wenn Ihre Umgebung die Kerberos-Authentifizierung verwendet und eine geringe Zeitabweichung für das konfigurierte Key Distribution Center (KDC) aufweist. Eine geringe Zeitabweichung ist laut Definition eine Zeitabweichung von weniger als 20 Minuten. Erhöhen Sie den Wert dieses Parameters, wenn die kleine Cachegröße bewirkt, dass die Garbage-Collection so häufig durchgeführt wird, dass sie sich auf die Leistung des Anwendungsservers auswirkt. Dieser Parameter ist wirksam, wenn Sie die Parameter -statefulSession und -enableCacheLimit auf "true" setzen und für den Parameter -idleSessionTimeout einen Wert angeben. Der gültige Wertebereich für diesen Parameter ist 100 bis 1000. (Integer) -idleSessionTimeout Gibt an, wie lange (in Millisekunden) eine CSIv2-Sitzung inaktiv bleiben darf, bevor sie gelöscht wird. Die Sitzung wird gelöscht, wenn Sie den Parameter -enableCacheLimit auf "true" setzen und der Wert des Parameters -maxCacheSize überschritten wird. Überlegen Sie, den Wert dieses Parameters zu verringern, wenn Ihre Umgebung die Kerberos-Authentifizierung verwendet und eine geringe Zeitabweichung für das konfigurierte Key Distribution Center (KDC) aufweist. Eine geringe Zeitabweichung kann zu einer höheren Anzahl zurückgewiesener CSIv2-Sitzungen führen. Bei Angabe eines kleineren Werts für diesen Parameter kann der Anwendungsserver die zurückgewiesenen Sitzungen jedoch häufiger bereinigen und damit potenzielle Ressourcenengpässe reduzieren. Der gültige Wertebereich für diesen Parameter ist 60.000 bis 86.400.000 Millisekunden. (Integer) -enableOutboundMapping Gibt an, ob die Zuordnung angepasster abgehender Kennungen aktiviert werden soll. Geben Sie true an, wenn die Zuordnung angepasster abgehender Kennungen aktiviert werden soll. (Boolean) -trustedTargetRealms Gibt eine Liste anzuerkennender Zielrealms an. Trennen Sie die einzelnen Realmnamen jeweils durch ein Pipe-Zeichen (|) voneinander. (String) - Konfigurieren Sie die Authentifizierung abgehender CSI-Kommunikation.
Der Befehl "configureCSIOutbound" konfiguriert die abgehende CSIv2-Authentifizierung in einer Sicherheitsdomäne oder in der globalen Sicherheitskonfiguration. Wenn Sie die abgehende CSI-Authentifizierung in einer Sicherheitsdomäne zum ersten Mal konfigurieren, kopiert der Anwendungsserver die CSI-Objekte aus der globalen Sicherheit. Anschließend wendet der Anwendungsserver die Änderungen auf diese Konfiguration an.
Verwenden Sie den Befehl "configureCSIOutbound", wie im folgenden Jython-Beispiel gezeigt, um die abgehende CSI-Authentifizierung für eine Sicherheitsdomäne oder für die globale Sicherheitskonfiguration zu konfigurieren:AdminTask.configureCSIOutbound('-securityDomainName testDomain -enableIdentityAssertion true -trustedId myID -trustedIdentityPassword myPassword123 -messageLevelAuth Required -trustedTargetRealms realm1|realm2|realm3')
- Sichern Sie die Konfigurationsänderungen. Verwenden Sie den folgenden Beispielbefehl, um Ihre Konfigurationsänderungen zu speichern:
AdminConfig.save()


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_7configcsi
Dateiname:txml_7configcsi.html