Konfigurationseigenschaften des SAML-Ausstellers

Wenn Sie ein neues selbst ausgestelltes SAML-Token erstellen, können Sie Konfigurationseigenschaften angeben, um die Konfiguration des Tokens zu steuern. Die Konfigurationseigenschaften sind Name/Wert-Paare, die Informationen auf der Providerseite beschreiben, wie z. B. die Position des Ausstellers und die Dateipfade der Keystores und Truststores.

Die Konfigurationseigenschaften des SAML-Ausstellers können in einer Eigenschaftendatei mit dem Namen SAMLIssuerConfig.properties gespeichert werden. Die Verwendung der Datei SAMLIssuerConfig.properties wird in WebSphere Application Server Version 8 nicht weiter unterstützt.

Beginnend mit WebSphere Application Server Version 8 können Sie diese Eigenschaften in WS-Security-Richtlinienbindungen oder in den APIs für Web Services Security (WSS), WSSGenerationContext, angeben.

In der Administrationskonsole werden die Eigenschaften in den Angepassten WS-Security-Eigenschaften für abgehende Nachrichten festgelegt. Ein Beispielpfad ist Services > Richtliniensätze > Allgemeine Clientrichtliniensatzbindungen > Saml Bearer Client sample > WS-Security > Angepasste Eigenschaften. Sie können die Eigenschaften auch mit der Verwaltungstask setSAMLIssuerConfigInBinding in den WS-Security-Richtlinienbindungen festlegen. Weitere Informationen finden Sie im Artikel "Konfiguration selbst ausgestellter SAML-Token mit wsadmin-Befehlen verwalten".

In den WS-Security-Bindungen können diese Eigenschaften auch im SAML-Tokenkonsumenten oder im Callback-Handler des SAML-Tokenkonsumenten definiert werden. Die Rangfolge, angefangen mit der höchsten Priorität, ist: Callback-Handler, Tokenkonsument, allgemeine angepasste Eigenschaften.

Wenn der SAML-Tokengenerator verwendet wird, um ein SAML-Token mit den WS-Security-Bindungen selbst auszustellen, gibt es zwei Möglichkeiten, das Token zu generieren:
  1. Sie können das selbst ausgestellte Token völlig neu generieren.
  2. Sie können das selbst ausgestellte Token basierend auf einem im runAs-Subjekt vorhandenen Token generieren. Wenn kein Token im Subjekt vorhanden ist, wird das Token völlig neu erstellt.
Fehler vermeiden Fehler vermeiden: Wenn Sie sicherstellen möchten, dass das selbst ausgestellte Token völlig neu erstellt wird, muss die angepasste Eigenschaft NameID im Callback-Handler des SAML-Tokengenerators definiert werden. Wenn die Eigenschaft NameID nicht im Callback-Handler des Tokengenerators definiert ist und kein SAML-Token im RunAs-Subject vorhanden war, wird die NameID im Subject im Token auf UNAUTHENTICATED festgelegt.gotcha

Wenn der SAML-Tokengenerator verwendet wird, um ein SAML-Token mit den WSSAPIs auszustellen, werden die angepassten Eigenschaft über eine Hashzuordnung direkt zu com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext hinzugefügt. Weitere Informationen finden Sie in der Javadoc für com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext.

Wenn ein selbst ausgestelltes SAML-Token mit der WSSAPI com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory erstellt wird, gibt die Methode SAMLTokenFactory.newDefaultProviderConfig() ein Objekt des Typs com.ibm.wsspi.wssecurity.saml.config.ProviderConfig zurück, dessen Objektwerte auf die in der Datei SAMLIssuerConfig.properties angegebenen Eigenschaften gesetzt sind. Ist keine Datei des Typs SAMLIssuerConfig.properties angegeben (empfohlener Programmierstil), wird ein ProviderConfig-Objekt mit leerem Inhalt zurückgegeben. Verwenden Sie die ProviderConfig-Setter-Methoden, um den Inhalt zu füllen. Weitere Informationen finden Sie in der Javadoc für com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory.

Position der Datei SAMLIssuerConfig.properties

Auf jedem Server wird eine einzelne Konfigurationsdatei mit dem Namen SAMLIssuerConfig.properties erstellt und gespeichert, die die Eigenschaften auf Providerseite enthält. In einem WebSphere-Server befindet sich die Datei im Repository auf Serverebene bzw. im Repository auf Zellenebene. In einer Umgebung ohne WebSphere wird die Dateiadresse über eine Java™-Systemeigenschaft definiert. Der Name dieser Eigenschaft ist com.ibm.webservices.wssecurity.platform.SAMLIssuerConfigDataPath.

Beispielsweise hat die Datei auf Serverebene in einem WebSphere-Server die folgende Position: Stammverzeichnis_des_Anwendungsservers/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties

Auf Zellenebene hat diese Datei in einem WebSphere-Server die folgende Position: Stammverzeichnis_des_Anwendungsservers/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties

SAML-Tokeneigenschaften

In der folgenden Tabelle sind die Konfigurationseigenschaften des Providers beschrieben.
Tabelle 1. Eigenschaften zum Konfigurieren von Providerinformationen für ein neues SAML-Token. Verwenden Sie diese Eigenschaften, um die Erstellung des Tokens zu steuern. Diese Tabelle zeigt die Eigenschaften, die in der Datei SAMLIssuerConfig.properties und in den WS-Security-Richtlinienbindungen verwendet werden.
Eigenschaftsname in SAMLIssuerConfig.properties Eigenschaftsname in den Richtlinienbindungen Beispieleigenschaftswert Eigenschaftsbeschreibung
com.ibm.wsspi.wssecurity.dsig.oldEnvelopedSignature com.ibm.wsspi.wssecurity.saml.config.issuer.oldEnvelopedSignature true Verwenden Sie diese Eigenschaft nur dann, wenn Sie die angepasste JVM-Eigenschaft com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty auf true setzen. Informationen dazu, wann diese angepasste JVM-Eigenschaft verwendet werden sollte, finden Sie unter Angepasste JVM-Eigenschaften.
IssuerFormat com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerFormat urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName Wert für das Attribut Format des Elements Issuer im SAML-Token.
Anmerkung: Wenn Sie das Attribut Format dem Element Issuer hinzufügen möchten, müssen Sie diese Eigenschaft angeben.
IssuerURI com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerURI http://www.websphere.ibm.com/SAML/SelfIssuer Der URI des Ausstellers.
TimeToLiveMilliseconds com.ibm.wsspi.wssecurity.saml.config.issuer.TimeToLiveMilliseconds 3600000 Verfallszeit des Tokens. Diese Eigenschaft wird verwendet, um die NotOnOrAfter-Attribute im Token festzulegen. NotOnOrAfter wird auf (currentTime)+TimeToLive+(currentClockSkew) gesetzt.
KeyStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreRef name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode Eine Referenz auf einen verwalteten Keystore in security.xml, der den Signierschlüssel enthält.
KeyStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePath Stammverzeichnis_des_Anwendungsservers/etc/ws-security/samples/dsig-receiver.ks Die Position der Keystore-Datei, die den Signierschlüssel enthält.
Anmerkung: Sie müssen anstelle der Pfadangabe im Standardwert die Pfadposition für Ihr System angeben.
KeyStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreType JKS Der Keystore-Typ.
KeyStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePassword Kennwort Das Kennwort der Keystore-Datei (das Kennwort für mit XOR verschlüsselt werden). Weitere Informationen finden Sie im Artikel, der sich mit der Kennwortcodierung in Dateien befasst.
KeyAlias com.ibm.wsspi.wssecurity.saml.config.issuer.KeyAlias SOAP-Provider Der Alias des privaten Signierschlüssels wie im Keystore definiert.
KeyName com.ibm.wsspi.wssecurity.saml.config.issuer.KeyName CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP Der Name des privaten Signierschlüssels wie in der Keystore-Datei definiert. Dieser Name wird für Referenzzwecke verwendet und von der Laufzeit nicht ausgewertet.
KeyPassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyPassword Kennwort Das Kennwort des privaten Schlüssels gemäß Definition in der Keystore-Datei (das Kennwort muss mit XOR verschlüsselt werden).
TrustStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreRef name=myTrustStoreRef managementScope=(cell):myCell:(node):myNode Eine Referenz auf einen verwalteten Keystore in security.xml, der das Verschlüsselungszertifikat enthält.
TrustStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePath Stammverzeichnis_des_Anwendungsservers/etc/ws-security/samples/dsig-receiver.ks Die Position der Speicherdatei, die das Verschlüsselungszertifikat enthält.
Anmerkung: Sie müssen anstelle der Pfadangabe im Standardwert die Pfadposition für Ihr System angeben.
TrustStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreType JKS Der Speichertyp der Speicherdatei, die das Verschlüsselungszertifikat enthält.
TrustStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePassword Kennwort Das Kennwort für die Speicherdatei, die das Verschlüsselungszertifikat enthält.
AttributeProvider com.ibm.wsspi.wssecurity.saml.config.issuer.AttributeProvider com.mycompany.SAML.AttributeProviderImpl Implementierungsklasse des Attributproviders.
Anmerkung: Die Klasse muss die Schnittstelle "javax.security.auth.callback.CallbackHandler" implementieren. Die Klasse sollte das Callback-Objekt "com.ibm.websphere.wssecurity.callbackhandler.Saml11AttributeCallback" oder "com.ibm.websphere.wssecurity.callbackhandler.Saml20AttributeCallback" erhalten und anschließend die SAMLAttribute-Liste aktualisieren. Diese Liste wird mit der Methode "getSAMLAttributes" vom betreffenden Objekt abgerufen.

Weitere Informationen finden Sie im Artikel "Attribute für selbst ausgestellte SAML-Token über die API hinzufügen".

EncryptingAlias com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptingAlias soaprecipient Der Eintrag in der Speicherdatei, der in der TrustStore-Eigenschaft mit dem öffentlichen Zertifikat bereitgestellt wird, das für die Verschlüsselung des SAML-Tokens verwendet wird. Wenn ein selbst ausgestelltes Token mit APIs generiert wird, hat ein Alias, der im Objekt RequesterConfig mit der Methode setKeyAliasForAppliesTo festgelegt wird, Vorrang vor dem für diese Eigenschaft festgelegten Wert.
EncryptSAML com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptSAML true Setzen Sie diese Eigenschaft auf true, wenn Sie ein verschlüsseltes SAML-Token generieren möchten. Der Standardwert für diese Eigenschaft ist "false".

Wenn Sie ein selbst ausgestelltes Token mit APIs generieren, können Sie auch angeben, dass Sie das SAML-Token mit der Methode setEncryptSAML(true) im Objekt RequesterConfig verschlüsseln möchten. Das SAML-Token wird verschlüsselt, wenn entweder die Einstellung setEncryptSAML=true im Objekt RequesterConfig festgelegt oder die angepasste Eigenschaft EncryptSAML auf true gesetzt wurde.

NameIDProvider com.ibm.wsspi.wssecurity.saml.config.issuer.NameIDProvider com.mycompany.SAML.NameIDProviderImpl Implementierungsklasse des Namens-ID-Providers.
Anmerkung: Die Klasse muss die Schnittstelle "javax.security.auth.callback.CallbackHandler" implementieren. Die Klasse sollte das Callback-Objekt "com.ibm.websphere.wssecurity.callbackhandler.NameIDCallback" erhalten und anschließend die Methode "setSAMLNameID" für dieses Objekt aufrufen, um die Namens-ID ("NameID") zu aktualisieren.

Weitere Informationen finden Sie im Artikel "Namens-ID für selbst ausgestellte SAML-Token über die API anpassen".

UseSha2ForSignature com.ibm.wsspi.wssecurity.saml.config.issuer.UseSha2ForSignature true Setzen Sie diese Eigenschaft auf true, um den SHA-2-Signaturalgorithmus (http://www.w3.org/2001/04/xmldsig-more#rsa-sha256) beim Signieren der SAML-Token zu verwenden.

Beispiel

Im Folgenden sehen Sie ein Beispiel für eine Konfigurationseigenschaftendatei eines SAML-Tokens:
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 

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



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