Angepasste SAML-Web-SSO-TAI-Eigenschaften
In den folgenden Tabellen sind die angepassten Eigenschaften für SAML-TAI (Security Assertion Markup Language Trust Association Interceptor) aufgelistet. Diese Eigenschaften können über die Administrationskonsole in der Anzeige für angepasste Eigenschaften für den SAML-TAI definiert werden.
Damit eindeutige Eigenschaftsnamen zugeordnet werden können, die jeden möglichen SSO-Service-Provider-Partner angeben (SSO, Single Sign-on), wird im Eigenschaftsnamen ein sso_<id>-Element eingebettet und verwendet, um die Eigenschaften zu gruppieren, die den einzelnen SSO-Partnern zugeordnet sind. Die sso_<id>-Elemente sind für die einzelnen SSO-Service-Provider-Partner sequenziell nummeriert.
- Globale Eigenschaften: Diese Eigenschaften gelten für alle SSO-Partner, die für den SAML-TAI konfiguriert sind.
- IdP-Eigenschaften: Diese Eigenschaften gelten für Identitätsprovider, die für den SAML-TAI konfiguriert sind. Damit eindeutige Eigenschaftsnamen zugeordnet werden können, die jeden Identitätsproviderpartner (IdP) angeben, wird im Eigenschaftsnamen ein idp_<id>-Element eingebettet und verwendet, um die Eigenschaften zu gruppieren, die den einzelnen SSO-Identitätsproviderpartnern zugeordnet sind.
- Service-Provider-Eigenschaften: Diese Eigenschaften gelten für einen Service-Provider und werden für jeden SSO-Service-Provider-Partner unter einer eindeutigen sso_<id> gruppiert.
In der folgenden Tabelle sind die angepassten globalen SAML-TAI-Eigenschaften beschrieben:
Eigenschaftsname | Werte | Beschreibung |
---|---|---|
targetUrl | Ein beliebiger URL-Wert kann angegeben werden. | Diese Eigenschaft wird durch sso_<id>.sp.targetUrl überschrieben. Dies ist die Standardziel-URL nach der erfolgreichen Validierung von SAMLResponse, wenn vom IdP kein RelayState empfangen wird. |
useRelayStateForTarget | Sie können einen der folgenden Werte angeben:
|
Diese Eigenschaft wird durch sso_<id> useRelayStateForTarget überschrieben. Mit dieser Eigenschaft wird angegeben, ob RelayState als Ziel-URL verwendet werden soll. |
allowedClockSkew | Eine beliebige positive Zahl kann angegeben werden. Der Standardwert ist drei Minuten. | Diese Eigenschaft wird durch sso_<id>.sp. allowedClockSkew überschrieben. Mit dieser Eigenschaft wird die bei der Validierung des SAML-Tokens zulässige Zeitabweichung in Minuten angegeben. |
enforceTaiCookie | Sie können einen der folgenden Werte angeben:
|
Diese Eigenschaft wird durch sso_<id>.sp. enforceTaiCookie überschrieben. Mit dieser Eigenschaft wird angegeben, ob der SAML-TAI prüfen soll, ob ein LTPA-Cookie einem für den SSO-Partner erstellten Subjekt zugeordnet ist. |
preventReplayAttackScope | Diese Eigenschaft hat keinen Standardwert. Sie können den folgenden Wert angeben:
|
Standardmäßig verwendet der SAML-TAI einen verteilten Cache, um SAML-Zusicherungs-IDs zur Verhinderung von Attacken durch Nachrichtenaufzeichnung und -wiederholung zu speichern. Wenn Sie diese Eigenschaft auf server setzen, verwendet der SAML-TAI stattdessen einen lokalen Cache. |
replayAttackTimeWindow | Ein beliebiger ganzzahliger Wert kann angegeben werden. Der Standardwert ist 30. | Diese Eigenschaft gibt die Zeitdauer in Minuten an, während der die zweite Anforderung abgelehnt wird, falls der TAI zwei identische SAML-Token empfängt. Siehe auch sso_<id>.sp. preventReplayAttack. |
retryOnceAfterTrustFailure | Sie können einen der folgenden Werte angeben:
|
Setzen Sie diese Eigenschaft auf true, damit die Laufzeitumgebung den Truststore nach der fehlgeschlagenen Validierung der Vertrauensbeziehung erneut laden kann. Dadurch kann der Truststore mit neuen IdP-Zertifikaten aktualisiert werden, während der Anwendungsserver aktiv ist. |
redirectToIdPonServerSide | Sie können einen der folgenden Werte angeben:
|
Diese Eigenschaft wird durch sso_<id>.sp redirectToIdPonServerSide überschrieben. Mit dieser Eigenschaft wird festgelegt, dass der TAI den IdP an sich selbst umleiten soll. Setzen Sie diese Eigenschaft auf false, um eine clientseitige Umleitung festzulegen. Diese Eigenschaft sollte auf false gesetzt werden, wenn URL-Fragmente bei der Umleitung verlorengehen. Der TAI wird daraufhin eine clientseitige Umleitung ausführen. |
In der folgenden Tabelle sind die angepassten IdP-SAML-TAI-Eigenschaften beschrieben:
Eigenschaftsname | Werte | Beschreibung |
---|---|---|
sso_<id>.idp_<id>.SingleSignOnUrl | Ein beliebiger URL-Wert kann angegeben werden. | Diese angepasste Eigenschaft gibt die URL für den SSO-Service des IdP an. |
sso_<id>.idp_<id>.allowedIssuerDN | Diese angepasste Eigenschaft hat keinen Standardwert. | Diese angepasste Eigenschaft gibt den registrierten Namen des Inhabers des Zertifikats an, das das vom IdP gesendete SAML-Token signieren darf. Wenn das SAML-Token nicht von diesem Zertifikat signiert wird, wird es abgelehnt. Wenn diese Eigenschaft angegeben ist, muss die angepasste Eigenschaft sso_<id>.sp.wantAssertionSigned den Wert "true" haben. Verwenden Sie diese Eigenschaft, wenn der Truststore anstelle des Unterzeichnerzertifikat des IdP den Aussteller des Unterzeichnerzertifikats enthält. Dadurch wird verhindert, dass alle Unterzeichner mit Zertifikaten von demselben Aussteller akzeptiert werden. |
sso_<id>.idp_<id>.allowedIssuerName | Diese angepasste Eigenschaft hat keinen Standardwert. | Diese angepasste Eigenschaft gibt den Wert des Elements <saml:Issuer> (Aussteller) im SAML-Token an. Das vom IdP empfangene SAML-Token wird abgelehnt, wenn der im Token angegebene Aussteller (Issuer) nicht mit diesem Wert übereinstimmt. |
In der folgenden Tabelle sind die angepassten SAML-TAI-Eigenschaften für Service-Provider beschrieben:
Eigenschaftsname | Werte | Beschreibung |
---|---|---|
sso_<id>.sp.acsUrl | Diese Eigenschaft hat keinen Standardwert.
Sie können einen der folgenden Werte angeben:
|
Dies ist die einzige erforderliche Eigenschaft für jede sso_<id>.
Sie gibt die URL des ACS oder der Geschäftsanwendung an. Wenn mehrere ähnliche Eingangspunkte für Ihre
SAML-Workflows benötigt werden,
können Sie für diese Eigenschaft
am Ende der Zeichenfolge eine URI mit einem Platzhalter
anstelle einer spezifischen URI-Musterzeichenfolge angeben.
Beispiel:
|
sso_<id>.sp.cookiegroup | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt ein Tag an, das einem LTPA-Cookie für den konfigurierten SAML-SSO-Partner hinzugefügt werden soll. Wenn eine Webanforderung von einem LTPA-Cookie empfangen wird, ist das Cookie nur gültig, wenn der Tag mit diesem Wert übereinstimmt. |
sso_<id>.sp.EntityID | Diese Eigenschaft ist standardmäßig auf den Wert von sso_<id>.sp.aclUrl gesetzt. | Diese Eigenschaft wird verwendet, um AudienceRestriction in der SAML-Zusicherung zu prüfen. |
sso_<id>.sp.targetUrl | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt die URL der Zielanwendung an. Sie wird verwendet, wenn RelayState in der Clientanforderung nicht angegeben ist. |
sso_<id>.sp.useRelayStateForTarget | Sie können einen der folgenden Werte angeben:
|
Diese Eigenschaft gibt an, ob der in der Clientanforderung empfangene Wert von RelayState als URL für die Zielanwendung verwendet werden soll. Bei Angabe von false, wird die Eigenschaft sso_<id>.sp.targetUrl als URL der Zielanwendung verwendet. |
sso_<id>.sp.login.error.page | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt die Fehlerseite, die
IdP-Anmeldeseite oder die angepasste Zuordnungsklasse an, an die eine nicht authentifizierte Clientanforderung umgeleitet wird.
Wenn mit dieser angepasste Eigenschaft eine angepasste Zuordnungsklasse angegeben wird, muss die .jar-Datei, in der die angepasste Klasse enthalten ist, entweder in das Verzeichnis (WAS_HOME)/lib oder in das Verzeichnis (WAS_HOME)/lib/ext gestellt werden. |
sso_<id>.sp.acsErrorPage | Diese Eigenschaft hat keinen Standardwert. | Mit dieser Eigenschaft wird sso_<id>.sp.login.error.page überschrieben. |
sso_<id>.sp.allowedClockSkew | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt die Zeit in Minuten an, die der Tokenverfallszeit des vom IdP gesendeten SAML-Tokens hinzugefügt wird. |
sso_<id>.sp.trustStore | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt den Truststore zur Validierung der SAML-Signatur an. Sie gibt den Namen eines verwalteten Keystores an. |
sso_<id>.sp.trustAnySigner | Sie können einen der folgenden Werte angeben:
|
Diese Eigenschaft gibt an, ob das Unterzeichnerzertifikat des SAML-Tokens für die Validierung der Vertrauensbeziehung überprüft wird. Wird dieses Eigenschaft auf true gesetzt, wird jedes Unterzeichnerzertifikat anerkannt. |
sso_<id>.sp.keyStore | Diese Eigenschaft ist zum Empfangen und Verarbeiten von verschlüsselten Zusicherungen (EncryptedAssertions) erforderlich und hat keinen Standardwert. | Diese Eigenschaft gibt den Namen des verwalteten Keystores an, in dem
der private Schlüssel zum Entschlüsseln einer verschlüsselten SAML-Zusicherung enthalten ist.
Beispiele:
|
sso_<id>.sp.keyName | Diese Eigenschaft ist zum Empfangen und Verarbeiten von verschlüsselten Zusicherungen (EncryptedAssertions) erforderlich und hat keinen Standardwert. | Diese Eigenschaft gibt den Namen des Schlüssels zum Entschlüsseln der SAML-Zusicherung an. |
sso_<id>.sp.keyPassword | Diese Eigenschaft ist zum Empfangen und Verarbeiten von verschlüsselten Zusicherungen (EncryptedAssertions) erforderlich und hat keinen Standardwert. | Diese Eigenschaft gibt das Kennwort des Schlüssels zum Entschlüsseln der SAML-Zusicherung an. |
sso_<id>.sp.keyAlias | Diese Eigenschaft ist zum Empfangen und Verarbeiten von verschlüsselten Zusicherungen (EncryptedAssertions) erforderlich und hat keinen Standardwert. | Diese Eigenschaft gibt den Alias des Schlüssels zum Entschlüsseln der SAML-Zusicherung an. |
sso_<id>.sp.wantAssertionsSigned | Sie können einen der folgenden Werte angeben:
|
Wird diese Eigenschaft auf false gesetzt, muss die SAML-Zusicherung nicht signiert werden, und die Signatur wird nicht validiert. |
sso_<id>.sp.preserveRequestState | Sie können einen der folgenden Werte angeben:
|
Wenn der Service-Provider die Clientanforderung an die IdP-Anmeldung umleitet, legt diese Eigenschaft fest, ob der Clientstatus nach Abschluss der Clientanforderung gespeichert und wiederhergestellt werden muss. |
sso_<id>.sp.enforceTaiCookie | Sie können einen der folgenden Werte angeben:
|
Mit dieser Eigenschaft wird angegeben, ob der SAML-TAI prüfen soll, ob ein LTPA-Cookie einem für den SSO-Partner erstellten Subjekt zugeordnet ist. |
sso_<id>.sp.realmName | Es kann jeder Zeichenfolgewert verwendet werden. Standardmäßig ist diese Eigenschaft auf den SAML-Ausstellernamen (Issuer) gesetzt. | Diese Eigenschaft gibt ein SAML-Attribut an, das zusammen mit realmNameRange verwendet wird. Der Wert dieses Attributs wird als Subjektrealm verwendet. Wenn dieser Realm nicht in der mit realmNameRange angegebenen Liste der Realms vorhanden ist, wird der Realm abgelehnt. |
sso_<id>.sp.realmNameRange | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt eine Liste der zulässigen Realmnamen an und wird zusammen mit realmName verwendet. Weitere Informationen finden Sie in der Beschreibung der Eigenschaft sso_<id>.sp.realmName. |
sso_<id>.sp.retryOnceAfterTrustFailure | Sie können einen der folgenden Werte angeben:
|
Setzen Sie diese Eigenschaft auf true, damit die Laufzeitumgebung den Truststore nach der fehlgeschlagenen Validierung der Vertrauensbeziehung erneut laden kann. Dadurch kann der Truststore mit neuen IdP-Zertifikaten aktualisiert werden, während der Anwendungsserver aktiv ist. |
sso_<id>.sp.principalName | Es kann jeder Zeichenfolgewert verwendet werden. Diese Eigenschaft ist standardmäßig auf die NameID des Subjects gesetzt. | Diese Eigenschaft kann ein beliebiges SAML-Attribut angeben. Der Wert dieses Attributs wird als Subjektprincipal verwendet. |
sso_<id>.sp.uniqueId | Es kann jeder Zeichenfolgewert verwendet werden. Diese Eigenschaft ist standardmäßig auf die NameID des Subjects gesetzt. | Diese Eigenschaft kann ein beliebiges SAML-Attribut angeben. Der Wert dieses Attributs wird als eindeutige ID (uniqueID) des Subjekts verwendet. |
sso_<id>.sp.groupName | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft kann ein beliebiges SAML-Attribut angeben. Der Wert dieses Attributs wird als Gruppen im Subjekt verwendet. |
sso_<id>.sp.defaultRealm | Sie können einen der folgenden Werte angeben:
|
Diese angepasste Eigenschaft gibt an, ob Issuer oder NameQualifier aus der SAML-Zusicherung als Standardrealm verwendet werden soll. |
sso_<id>.sp.useRealm | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt einen Realmnamen an und überschreibt den Standardrealm. Außerdem überschreibt diese Eigenschaft die Eigenschaft realmName. |
sso_<id>.sp.idMap | Sie können einen der folgenden Werte angeben:
|
Diese Eigenschaft gibt an, wie das SMAL-Token dem Subjekt zugeordnet wird. |
sso_<id>.sp.groupMap | Sie können einen der folgenden Werte angeben:
|
Diese Eigenschaft wird mit IDAssertion verwendet und gibt an, wie das SAML-Token den Gruppen zugeordnet wird. |
sso_<id>.sp.userMapImpl | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt den Namen einer angepassten
Modulklasse für Benutzerzuordnung an.
Sie wird verwendet, um eine
Benutzer-ID im SAML-Token einer anderen Benutzer-ID zuzuordnen, die in der lokalen Benutzerregistry vorhanden ist.
Die angepasste Zuordnungsklasse muss die Schnittstelle com.ibm.wsspi.security.web.saml.UserMapping implementieren. Die .jar-Datei, in der die angepasste Klasse enthalten ist, muss entweder in das Verzeichnis (WAS_HOME)/lib oder in das Verzeichnis (WAS_HOME)/lib/ext gestellt werden. |
sso_<id>.sp.X509PATH | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt den Zertifikatsspeicher an, der für die Zwischenzertifikate verwendet wird, die zum Validieren der SAML-Signatur verwendet werden. |
sso_<id>.sp.CRLPATH | Diese Eigenschaft hat keinen Standardwert. | Diese Eigenschaft gibt den Zertifikatsspeicher an, der für die Zertifikatswiderrufslisten (Certificate Revocation List, CRL) verwendet wird, die zum Validieren der SAML-Signatur verwendet werden. |
sso_<id>.sp.filter | Diese Eigenschaft hat keinen Standardwert. | Mit dieser Eigenschaft wird eine Bedingung angegeben, die für eine HTTP-Anforderung geprüft wird, um festzustellen, ob die HTTP-Anforderung für einen SAML-Web-SSO-Partner ausgewählt wird. Weitere Informationen zu dieser Eigenschaft finden Sie im Abschnitt SAML-TAI-Filtereigenschaft. |
sso_<id>.sp.preventReplayAttack | Sie können einen der folgenden Werte angeben:
|
Mit dieser Eigenschaft wird angegeben, ob der SAML-TAI verhindern soll, dass in Clientanforderungen zwei identische SAML-Token gesendet werden. Diese Eigenschaft wird zusammen mit der globalen Eigenschaft replayAttackTimeWindow verwendet. |
sso_<id>.sp.preventReplayAttackScope | Diese Eigenschaft hat keinen Standardwert. Sie können den folgenden Wert angeben:
|
Standardmäßig verwendet der SAML-TAI einen verteilten Cache, um SAML-Zusicherungs-IDs zur Verhinderung von Attacken durch Nachrichtenaufzeichnung und -wiederholung zu speichern. Wenn Sie diese Eigenschaft auf server setzen, verwendet der SAML-TAI stattdessen einen lokalen Cache. |
sso_<id>.sp.trustedAlias | Diese Eigenschaft hat keinen Standardwert. | Wird diese Eigenschaft angegeben, wird nur der von diesem Alias angegebene Schlüssel verwendet, um die Signatur in der SAML-Zusicherung zu validieren. Falls die Signatur der eingehenden SAML-Zusicherung in SAMLResponse das Element KeyInfo nicht enthält, geben Sie diese Eigenschaft an, um das Element KeyInfo aufzulösen. |
sso_<id>.sp.redirectToIdPonServerSide | Sie können einen der folgenden Werte angeben:
|
Mit dieser Eigenschaft wird festgelegt, dass der TAI den IdP an sich selbst umleiten soll. Diese Eigenschaft sollte auf false gesetzt werden, wenn URL-Fragmente bei der Umleitung verlorengehen. Der TAI wird daraufhin eine clientseitige Umleitung ausführen. |
SAML-TAI-Filtereigenschaft
Die SAML-TAI-Filtereigenschaft sp.filter wird verwendet, wenn ein Client eine geschützte Service-Provider-Anwendung direkt, ohne Authentifizierung beim IdP, aufruft. Die Filtereigenschaft wird normalerweise zusammen mit der Eigenschaft sp.login.error.page verwendet, um eine nicht authentifizierte Clientanforderung an die mit der Eigenschaft sp.login.error.page angegebene URL-Adresse umzuleiten. Die sp.filter-Eigenschaften gelten nicht für eine SAML-Antwort (SAMLResponse). Der Anforderungs-URL in einer SAML-Antwort (SAMLResponse) wird anhand der sp.acsURL ausgewertet.
- Erforderliche Eingabe: Das Eingabeelement gibt normalerweise einen HTTP-Headernamen an, aber request-url und remote-address können ebenfalls als spezielle Elemente verwendet werden.
- Operator: Das Element operator gibt einen der folgenden Werte an: ==, !=, %=, ^=, < und >
- Vergleichswert: Dieses Element gibt normalerweise eine Zeichenfolge an, IP-Adressbereiche sind jedoch ebenfalls zulässig.
Die Bedingungen werden in der Reihenfolge, in der sie im Vergleichswert angegeben sind, von links nach rechts ausgewertet. Werden alle von einem SSO-Service-Provider-Partner angegebenen Filterbedingungen in einer HTTP-Anforderung erfüllt, wird der SSO-Service-Provider-Partner für die HTTP-Anforderung ausgewählt.
Das Eingabeelement gibt ein Headerfeld in der HTTP-Anforderung an, das aus der Anforderung extrahiert werden soll. Sein Wert wird unter Verwendung des angegebenen Operators mit dem in der Filtereigenschaft angegebenen Wert verglichen. Wenn das mit dem Eingabeelement ermittelte Headerfeld in der HTTP-Anforderung nicht vorhanden ist, gilt die Bedingung als nicht erfüllt. Als Eingabeelement in der Filterbedingung kann jedes Headerfeld einer Standard-HTTP-Anforderung verwendet werden. In der HTTP-Spezifikation finden Sie eine Liste gültiger Header.
- request-url: Der Vergleichswert dieser Eingabe wird mit der URL-Adresse verglichen, die die Clientanwendung für die Anforderung verwendet.
- remote-address: Der Vergleichswert dieser Eingabe wird mit der TCP/IP-Adresse der Clientanwendung verglichen, die die HTTP-Anforderung gesendet hat.
Beispiele
sso_1.sp.filter=From==samluser@xyz.com
In diesem Fall
gilt Folgendes: Wenn eine Clientanforderung
das HTTP-Header-Feld From mit dem Wert
samluser@xyz.com enthält, wählt
der SAML-TAI den SSO-Service-Provider-Partner dieses
sso_1-Filters für die Verarbeitung der Clientanforderung aus.sso_2.sp.filter=request-url%=ivtlanding.jsp
In diesem Fall
gilt Folgendes: Wenn der URL der vom Client aufgerufenen
Zielanwendung die Zeichenfolge
ivtlanding.jsp enthält, wählt der
SAML-TAI den SSO-Partner
dieses sso_2-Filters für die Verarbeitung der Clientanforderung aus.sso_3.sp.filter=applicationNames==DefaultApplication
In diesem Fall gilt Folgendes:
Wenn der Name der von der Clientanwendung aufgerufenen Zielanwendung
DefaultApplication ist, wählt der
SAML-TAI den SSO-Partner dieses
sso_3-Filters für die Verarbeitung der Clientanforderung aus.Operator | Bedingung | Beispiel |
---|---|---|
== | Dieser Operator gibt eine exakte Übereinstimmung an. Das Eingabeelement muss dem Vergleichswert entsprechen. | From==jones@my.company.com |
%= | Dieser Operator gibt eine partielle Übereinstimmung an. Das Eingabeelement enthält den Vergleichswert. | user-agent%=IE 6request-url%=company.com/urlApp1 |
^= | Das Eingabeelement enthält einen der Vergleichswerte. Dies ist der einzige Operator, der mit dem Operator | kombiniert werden kann. | request-url^=urlApp1|urlApp2| urlApp3 |
!= | Das Eingabeelement enthält den Vergleichswert nicht. | request-url!=test105 |
> | Das Eingabeelement ist größer als der Vergleichswert. | remote-address>192.168.255.130 |
< | Das Eingabeelement ist kleiner als der Vergleichswert. | remote-address<192.168.255.135 |
; | Operator für logisches Und. | request-url!=test105;From==jones@my.company.com5 |