Unterstützung der Clientzertifikatsanmeldung für ein dateibasiertes Repository in eingebundenen Repositorys aktivieren

Sie können die Unterstützung für eine Clientzertifikatsanmeldung in einem Realm aktivieren, der mit einem einzelnen integrierten dateibasierten Repository konfiguriert ist, oder in einer Konfiguration mehrerer Repositorys, die das dateibasierte Repository und andere Repositorys enthält.

Vorbereitende Schritte

Die Konfiguration eingebundener Repositorys muss ein dateibasiertes Repository umfassen. Weitere Informationen finden Sie unter Ein integriertes dateibasiertes Repository in einer neuen Konfiguration für eingebundene Repositorys verwenden.

Informationen zu diesem Vorgang

Die Standardkonfiguration des integrierten dateibasierten Repositorys ignoriert eine Zertifikatsanmeldeanforderung, gibt ein leeres Suchergebnis zurück und zeigt keinen Fehler an.

Wenn die Clientzertifikatsanmeldung für das integrierte dateibasierte Repository aktiviert werden soll, führen Sie die folgenden Schritte aus, um die angepassten Eigenschaften zu definieren.

Vorgehensweise

  1. Klicken Sie in der Administrationskonsole auf Sicherheit > Globale Sicherheit.
  2. Wählen Sie unter "Repository für Benutzeraccounts" im Feld "Verfügbare Realmdefinitionen" die Option Eingebundene Repositorys aus, und klicken Sie auf Konfigurieren. Wenn Sie eine bestimmte Domäne in einer Umgebung mit mehreren Sicherheitsdomänen konfigurieren möchten, klicken Sie auf Sicherheitsdomänen > Domänenname. Erweitern Sie unter "Sicherheitsattribute" den Eintrag Benutzerrealm, und klicken Sie auf Für diese Domäne anpassen. Wählen Sie den Realmtyp Eingebundene Repositorys aus, und klicken Sie dann auf Konfigurieren.
  3. Klicken Sie unter "Zugehörige Elemente" af Repositorys verwalten, und klicken Sie auf den Link InternalFileRepository.
  4. Um die Zertifikatsanmeldung für das dateibasierte Repository zu ermöglichen, geben Sie unter "Angepasste Eigenschaften" den Eigenschaftsnamen certificateMapMode ein. Geben Sie entsprechend Ihren Anforderungen einen der folgenden Werte für diese Eigenschaft an:
    Anmerkung: In den Eigenschaftsnamen muss die Groß-/Kleinschreibung beachtet werden, während dies bei den Eigenschaftswerten nicht erforderlich ist.
    notSupported
    Ein Fehler wird angezeigt, der den Benutzer darauf hinweist, dass das dateibasierte Repository die Zertifikatsanmeldung nicht unterstützt.
    exactDNMode
    Es wird versucht, eine Anmeldung auszuführen, indem der PrincipalName-Wert im X.509-Zertifikat mit dem exakten DN (definierten Namen) im Repository abgeglichen wird. Wird eine übereinstimmende Entität gefunden, ist die Anmeldung erfolgreich. Wird keine übereinstimmende Entität gefunden, wird dies in einer entsprechenden Fehlermeldung angezeigt.
    filterDescriptorMode
    Es wird versucht, eine Anmeldung auszuführen, indem der Zertifikatsfilter für den Abgleich verwendet wird. Wird eine einzelne übereinstimmende Entität gefunden, ist die Anmeldung erfolgreich. Werden mehrere übereinstimmende Entitäten gefunden, scheitert die Authentifizierung, da die Übereinstimmung nicht eindeutig ist, und ein Fehler wird angezeigt.

    Wenn Sie keinen gültigen Wert angeben, wird während der Initialisierung des Dateiadapters ein Fehler protokolliert und eine leeres Suchergebnis wird zurückgegeben.

  5. Wenn Sie den Wert der Eigenschaft certificateMapMode auf filterDescriptorMode setzen, müssen Sie eine weitere angepasste Eigenschaft, certificateFilter, hinzufügen. Die angepasste Eigenschaft certificateFilter gibt den Filter an, der die Attribute im Clientzertifikat mit den Einträgen im Repository abgleicht.
    Anmerkung: Dieser Schritt ist nicht erforderlich, wenn Sie für die Eigenschaft certificateMapMode den Wert notSupported oder exactDNMode festgelegt haben.
    1. Klicken Sie auf der Seite "Angepasste Eigenschaften" auf Neu.
    2. Geben Sie in der neuen Zeile den Eigenschaftsnamen certificateFilter ein. Geben Sie als Wert für diese Eigenschaft den Filterausdruck an.

    Die Syntax oder Struktur dieses Filters sieht wie folgt aus: Repository-Attribut=${Clientzertifikatsattribut}, z. B. uid='${SubjectCN}'.

    Für die Syntax des Zertifikatsfilters für Dateirepositorys gelten folgende Bedingungen:
    • Der Teil der Filterspezifikation, der vor dem Gleichheitszeichen (=) angegeben ist, muss eine gültige Eigenschaft für PersonAccount im dateibasierten Repository sein.
    • Der Teil der Filterspezifikation, der nach dem Gleichheitszeichen (=) steht, ist eines der öffentlich zugänglichen Attribute im Clientzertifikat. Dieser Teil der Filterspezifikation muss mit einem Dollarzeichen ($) und einer linken geschweiften Klammer ({) beginnen und mit einer rechten geschweiften Klammer (}) enden.
    • Die Daten für alle Zeichenfolgeeigenschaften des eingebundenen Repositorys müssen in einfache Anführungszeichen (') eingeschlossen sein. Beispielsweise ist die Eigenschaft des eingebundenen Repositorys cn eine Zeichenfolge. Ein Zertifikatsfilter, der diese Eigenschaft verwendet, wird daher wie folgt angegeben: cn='${IssuerCN}'.
    Sie können die folgenden Zertifikatsattributwerte als Teil der Filterspezifikation verwenden, der nach den Gleichheitszeichen (=) angegeben wird. Die Groß-/Kleinschreibung der Zeichenfolgen muss beachtet werden.
    • ${UniqueKey}
    • {PublicKey}
    • {PublicKey}
    • {Issuer<xx>}. Hier steht <xx> für die Zeichen, die einen gültigen Abschnitt des definierten Ausstellernamens repräsentieren. Als allgemeinen Namen des Ausstellers könnten Sie beispielsweise ${IssuerCN} verwenden.
    • ${NotAfter}
    • ${NotBefore}
    • ${SerialNumber}
    • ${SigAlgName}
    • ${SigAlgOID}
    • ${SigAlgParams}
    • ${Subject<xx>}. Hier steht <xx> für die Zeichen, die einen gültigen Abschnitt des Subject-DN repräsentieren. Als allgemeinen Subject-Namen könnten Sie beispielsweise ${SubjectCN} verwenden.
    • ${Version}
    Die folgenden Beispiele sind komplexe Zertifikatsfilter für das Dateirepository:
    • ((cn='${IssuerCN}') and (mobile=${SerialNumber}) and (seeAlso='${SubjectDN}'))
    • ((employeeNumber=${SerialNumber}) or (seeAlso='${SubjectDN}')

    Wie in der folgenden Tabelle gezeigt, gibt es zwischen der Syntax zur Angabe von Zertifikatsfiltern für das LDAP-Repository und für das Dateirepository einige Unterschiede.

    Tabelle 1. Beschreibung der Unterschiede zwischen der Zertifikatsfilter für LDAP-Repository und Dateirepository
    Zertifikatsfilter für Dateirepository Zertifikatsfilter für LDAP-Repository
    Infixnotation verwenden. Präfixnotation verwenden.
    Logische Operatoren and und or verwenden. Logische Operatoren Et-Zeichen (&) und vertikaler Balken |) verwenden.
    Die Daten für alle Zeichenfolgeeigenschaften des eingebundenen Repositorys müssen in einfache Anführungszeichen (') eingeschlossen sein. Die Daten für Zeichenfolgeeigenschaften des eingebundenen Repositorys müssen nicht in einfache Anführungszeichen (') eingeschlossen sein.
    Beispiel:
    cn='${Issuer	CN}' and mobile=${SerialNumber})
    Beispiel:
    (& (cn=${IssuerCN}) (mobile=${SerialNumber})) 
  6. Speichern Sie die Konfigurationsänderungen und starten Sie WebSphere Application Server erneut, damit die Änderungen in Kraft treten.

Angepasste Eigenschaften mit wsadmin-Befehlen hinzufügen

Alternativ können Sie auch wsadmin-Befehle verwenden, um angepasste Eigenschaften wie in den folgenden Schritten gezeigt hinzuzufügen.

Vorgehensweise

  1. Geben Sie den folgenden Befehl ein, um das Tool "wsadmin" zu starten.
    wsadmin –conntype none
  2. Verwenden Sie den Befehl setIdMgrCustomProperty, um angepasste Eigenschaft hinzuzufügen.
    $AdminTask setIdMgrCustomProperty { -id InternalFileRepository -name certificateMapMode -value Modus}
    $AdminTask setIdMgrCustomProperty { -id InternalFileRepository -name certificateFilter -value Filterausdruck}

    Beispielsweise wird mit dem folgenden Befehl nach einem Benutzer gesucht, dessen CN den in der Eigenschaft IssureCN des Zertifikats angegebenen Namen hat.

    $AdminTask setIdMgrCustomProperty { -id InternalFileRepository -name certificateFilter -value “cn='${IssuerCN}'”}

    Mit dem folgenden Befehl wird nach einem Benutzer gesucht, dessen CN dessen CN den in der Eigenschaft IssuerCN des Zertifikats angegebenen Namen hat und dessen Mobiltelefon mit der Eigenschaft SerialNumber des Zertifikats übereinstimmt.

    $AdminTask setIdMgrCustomProperty { -id InternalFileRepository -name certificateFilter -value “cn='${IssuerCN}' and mobile=${SerialNumber}”}
  3. Speichern Sie die Konfigurationsänderungen.
    $AdminConfig save   
  4. Starten Sie WebSphere Application Server erneut, damit die Änderungen in Kraft treten.

Ergebnisse

Nachdem Sie diese Schritte ausgeführt haben, ist die Unterstützung für das dateibasierte Repository in den eingebundenen Repositorys aktiviert. Dies wird in den folgenden Einträgen der Dateiadapterkonfiguration widergespiegelt:
<config:CustomProperties name="certificateMapMode" value="Modus"/>
<config:CustomProperties name="certificateFilter" value="Filterausdruck"/>

Wird die Zertifikatsanmeldeanforderung akzeptiert, ist die Anmeldung erfolgreich. Wird die Zertifikatsanmeldeanforderung abgelehnt, wird ein Fehler angezeigt.

Wenn unter den eingebundenen Repositorys nur ein Dateirepository konfiguriert ist, sehen die Ergebnisse der Zertifikatsanmeldeanforderung wie in der folgenden Tabelle beschrieben aus.

Tabelle 2. Ergebnisse der Zertifikatsanmeldung in einer Konfiguration eingebundener Repositorys, die nur ein Dateirepository enthält
Dateirepository Erwartete Ergebnisse
Standardverhalten (angepasste Eigenschaft certificateMapMode wird nicht hinzugefügt) Zertifikatsanmeldeanforderung wird ignoriert, ein leeres Ergebnis wird zurückgegeben, und es wird kein Fehler angezeigt.
Zertifikatsanmeldung wird nicht unterstützt (Wert der angepassten Eigenschaft certificateMapMode ist notSupported) CertificateMapNotSupportedException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt (Wert der angepassten EigenschaftcertificateMapMode ist exactDNMode oder filterDescriptorMode), und es wird kein Benutzer gefunden. EntityNotFoundException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt (Wert der angepassten EigenschaftcertificateMapMode ist exactDNMode), und eine Entität wird gefunden, deren DN mit dem PrincipalName im Zertifikat übereinstimmt. Zertifikatsanmeldung ist erfolgreich.
Zertifikatsanmeldung wird unterstützt (Wert der angepassten EigenschaftcertificateMapMode ist filterDescriptorMode), und es wird eine einzelne übereinstimmende Entität gefunden. Zertifikatsanmeldung ist erfolgreich.
Zertifikatsanmeldung wird unterstützt (Wert der angepassten EigenschaftcertificateMapMode ist filterDescriptorMode), und es werden mehrere übereinstimmende Entitäten gefunden. CertificateMapFailedException wird ausgelöst, und die Fehlernachricht “Multiple principals found” wird angezeigt.

Wenn unter den eingebundenen Repositorys mehrere Repositorys konfiguriert sind, ist das endgültige Ergebnis der Anmeldung abhängig von dem Verhalten und den Ergebnissen, die von anderen Repositorys zurückgegeben werden. In den folgenden Tabellen sind Beispiele für Fehler aufgeführt, die in verschiedenen Konfigurationsszenarien angezeigt werden.

Tabelle 3. Ergebnisse der Zertifikatsanmeldung in einer Konfiguration eingebundener Repositorys, die ein Dateirepository und ein LDAP-Repository enthält
Dateirepository LDAP-Repository Erwartete Ergebnisse
Standardverhalten Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung ist erfolgreich.
Standardverhalten Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. PasswordCheckFailedException wird ausgelöst.
Zertifikatsanmeldung wird nicht unterstützt. Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. CertificateMapFailedException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. DuplicateLogonIdException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. Zertifikatsanmeldung ist erfolgreich.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung ist erfolgreich.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. PasswordCheckFailedException wird ausgelöst.
Tabelle 4. Ergebnisse der Zertifikatsanmeldung in einer Konfiguration eingebundener Repositorys, die ein Dateirepository und ein Repository des lokalen Betriebssystems enthält
Dateirepository Repository des lokalen Betriebssystems Erwartete Ergebnisse
Standardverhalten Zertifikatsanmeldung wird nicht unterstützt. CertificateMapFailedException wird ausgelöst.
Zertifikatsanmeldung wird nicht unterstützt. Zertifikatsanmeldung wird nicht unterstützt. CertificateMapNotSupportedException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung wird nicht unterstützt. CertificateMapFailedException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. Zertifikatsanmeldung wird nicht unterstützt. CertificateMapFailedException wird ausgelöst.
Standardverhalten Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung ist erfolgreich.
Standardverhalten Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. PasswordCheckFailedException wird ausgelöst.
Zertifikatsanmeldung wird nicht unterstützt. Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. CertificateMapFailedException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. DuplicateLogonIdException wird ausgelöst.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. Zertifikatsanmeldung ist erfolgreich.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird gefunden. Zertifikatsanmeldung ist erfolgreich.
Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. Zertifikatsanmeldung wird unterstützt, und Benutzer wird nicht gefunden. PasswordCheckFailedException wird ausgelöst.

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