Anwendungsanmeldung für die Identitätszusicherung über JAAS anpassen

Mit dem JAAS-Anmelde-Framework (Java™ Authentication and Authorization Service) können Sie eine JAAS-Anmeldekonfiguration erstellen, mit der eine Anmeldung mit Zusicherung der Identität (IDAssertion) durchgeführt werden kann.

Vorbereitende Schritte

Sie können einem Anwendungs- oder Systemprovider erlauben, die Zusicherung der Identität mit Überprüfung der Vertrauenswürdigkeit (Trustvalidierung) durchzuführen. Hierfür verwenden Sie das JAAS-Anmelde-Framework, in dem die Trustvalidierung in einem Anmeldemodul und die Erstellung der Berechtigungsnachweise in einem anderen Modul durchgeführt wird. Mit den beiden angepassten Anmeldmodulen können Sie eine JAAS-Anmeldekonfiguration erstellen, die für eine Anmeldung mit Zusicherung der Identität verwendet werden kann.
Es sind zwei angepasste Anmeldemodule erforderlich:
Vom Benutzer implementiertes Anmeldemodul für Trust Association (Trustvalidierung)
Dieses Anmeldemodul führt die vom Benutzer geforderte Prüfung der Vertrauensstellung (Trustprüfung) durch. Wenn die Vertrauensstellung bestätigt wurde, müssen der Status der Trustprüfung und die Anmelde-ID in einer Tabelle der gemeinsam genutzten Statusinformationen des Anmeldemoduls gespeichert werden, damit das Anmeldemodul für die Erstellung des Berechtigungsnachweises diese Informationen verwenden kann. Diese Tabelle muss in der folgenden Eigenschaft gespeichert werden:

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state
      (Diese Eigenschaft setzt sich wie folgt zusammen:)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
      (Wird auf true gesetzt, wenn die Vertrauensstellung bestätigt wird, andernfalls auf false)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal
       (Enthält den Principal der Identität)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
       (Enthält das Zertifikat der Identität)

Anmeldemodul für Zusicherung der Identität (Erstellung des Berechtigungsnachweises)
Das Anmeldemodul com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule erstellt die Berechtigungsnachweise. Dieses Modul stützt sich auf die Informationen zum Vertrauensstatus in den gemeinsam genutzten Statusinformationen des Anmeldekontextes. Dieses Anmeldemodul ist durch Java-2-Sicherheitslaufzeitberechtigungen für Folgendes geschützt:
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.initialize
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.login
Das Anmeldemodul für die Zusicherung der Identität sucht nach den Trustinformationen in der Eigenschaft für gemeinsam genutzte Statusinformationen (com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state), die den Truststatus und die Identität für die Anmeldung enthält und sich wie folgt zusammensetzen sollte:

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
       (Hat den Wert true, wenn die Vertrauensstellung bestätigt ist, andernfalls false)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal
       (Enthält den Principal der Anmeldeidentität, wenn ein Principal verwendet wird)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
       (Enthält einen Bereich einer Zertifizierungskette, die die Anmeldeidentität enthält, sofern ein Zertifikat verwendet wird)

Es wird eine Ausnahme vom Typ WSLoginFailedException zurückgegeben, wenn Status-, Trust- oder ID-Informationen fehlen. Das Anmeldemodul führt anschließend die Anmeldung unter Verwendung der Identität durch, und das Subjekt enthält die neue Identität.

Vorgehensweise

  1. Delegieren Sie die Trustvalidierung an einen vom Benutzer implementierten Plug-Punkt. Die Trustvalidierung muss in einem angepassten Anmeldemodul durchgeführt werden. Dieses angepasste Anmeldemodul muss die erforderliche Trustvalidierung durchführen, anschließend die Trust- und Identitätsinformationen in den gemeinsam genutzten Statusinformationen speichern, die an das Anmeldemodul für die Zusicherung der Identität übergeben werden. Der Schlüssel für die gemeinsam genutzten Statusinformationen com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state muss eine Zuordnung enthalten. Wenn der Status fehlt, wird eine Ausnahme vom Typ WSLoginFailedException vom Modul IdentityAssertionLoginModule ausgelöst. Diese Zuordnung muss Folgendes enthalten:
    • Trustschlüssel mit dem Namen com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trust. Wenn der Schlüssel den Wert true hat, ist das Vertrauen bestätigt. Hat der Schlüssel den Wert false, ist das Vertrauen nicht bestätigt. Wenn der Trustschlüssel nicht auf true gesetzt ist, löst das Anmeldemodul für die Zusicherung der Identität eine Ausnahme vom Typ WSLoginFailedException aus.
    • Identitätsschlüssel gesetzt: Im Schlüssel com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal kann ein java.security.Principal gesetzt werden.
    • Im Schlüssel com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certficates kann ein java.security.cert.X509Certificate[] gesetzt sein.
    Wenn ein Principal und ein Zertifikat angegeben sind, wird der Principal verwendet und eine Warnung ausgegeben.
  2. Erstellen Sie eine neue JAAS-Konfiguration für Anwendungsanmeldung. Die JAAS-Konfiguration enthält das vom Benutzer implementierte Anmeldemodul für Trustvalidierung und das Anmeldemodul für die Zusicherung der Identität. Zum Konfigurieren einer Anwendungsanmeldekonfiguration führen Sie anschließend in der Administrationskonsole die folgenden Schritte aus:
    1. Klicken Sie auf Sicherheit > Globale Sicherheit.
    2. Klicken Sie auf Java Authentication and Authorization Services > Anwendungsanmeldungen.
    3. Wählen Sie Neu aus.
    4. Legen Sie einen Alias für die JAAS-Konfiguration fest.
    5. Klicken Sie auf Anwenden.
    6. Wählen Sie JAAS-Anmeldemodule aus.
    7. Wählen Sie Neu aus.
    8. Geben Sie den Modulklassennamen des vom Benutzer implementierten und definierten Anmeldemoduls für Trustvalidierung ein.
    9. Klicken Sie auf Anwenden.
    10. Geben Sie den Modulklassennamen von com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule ein.
    11. Stellen Sie sicher, dass die Modulklassennamen in der richtigen Reihenfolge angegeben sind. Das vom Benutzer implementierte Anmeldemodul für Trustvalidierung muss die und das Anmeldemodul IdentityAssertionLoginModule die zweite Klasse in der Liste sein.
    12. Klicken Sie auf Speichern.
    Die JAAS-Konfiguration wird jetzt von der Anwendung für die Zusicherung der Identität verwendet.
  3. Führen Sie die programmierbare Zusicherung der Identität (IdentityAssertion) durch. Ein Programm kann die JAAS-Anmeldekonfiguration jetzt verwenden, um eine programmgesteuerte Identitätszusicherung durchzuführen. Das Anwendungsprogramm kann einen Anmeldekontext für die in Schritt 2 erstellte JAAS-Konfiguration erstellen und sich anschließend mit der zugesicherten ID bei diesem Anmeldekontext anmelden. Wenn die Anmeldung erfolgreich ist, kann diese Identität im derzeit aktiven Prozess gesetzt werden. Das folgende Beispiel zeigt einen solchen Code:
    MyCallbackHandler handler = new MyCallbackHandler(new MyPrincipal(“Joe”));
    LoginContext lc = new LoginContext(“MyAppLoginConfig”, handler);
    lc.login();  //assume successful
    Subject s = lc.getSubject();
    WSSubject.setRunAsSubject(s);
    // Ab hier ist die RunAs-Identität Joe.

Ergebnisse

Mit dem JAAS-Anmelde-Framework (Java Authentication and Authorization Service) können Sie eine JAAS-Anmeldekonfiguration erstellen, mit der eine Anmeldung mit Zusicherung der Identität (IDAssertion) durchgeführt werden kann.

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=tsec_cust_identity_assert
Dateiname:tsec_cust_identity_assert.html