
Denise DeLassandros möchte eine Anwendung einrichten, die mit X.509-Client-Zertifikaten authentifiziert. Sie kann das Zertifikat jedes Benutzers im Verzeichnisdienst als ein Attribut des Benutzerkontos ablegen. Wenn Geschäftsbenutzer die Anwendung starten und ihr Client-Zertifikat vorlegen, gewährt die Anwendung dem entsprechenden Geschäftsbenutzer Zugriff.
Damit die User Management Engine (UME) diese Zertifikate suchen und ablegen kann, muss Denise sicherstellen, dass die entsprechenden Attribute in der Datenquellen-Konfigurationsdatei zugeordnet sind.
Handelt es sich beim LDAP um ein IBM Tivoli LDAP, siehe SAP-Hinweis 1334567.
Die nachfolgende Tabelle listet die relevanten logischen Attribute eines Benutzerkontos auf:
Relevante logische Attribute eines Benutzerkontos
| Attribut | Beschreibung |
|---|---|
|
certificatehash |
Der Hash-Wert des Client-Zertifikats. |
|
javax.servlet.request.X509Certificate |
Wird zur Suche nach dem Verzeichnisdienstzertifikat verwendet. |
|
certificate |
Wird zum Ablegen des Verzeichnisdienstzertifikats verwendet. |
Zum Einrichten der Attributzuordnung für Client-Zertifikate muss Denise folgende Unterabschnitte des Verzeichnisdienstes der Datenquellen-Konfigurationsdatei bearbeiten:
Denise muss die oben aufgeführten Attribute dem Unterabschnitt <responsibleFor> der Datenquellen-Konfigurationsdatei hinzufügen. Durch das Hinzufügen dieser Attribute wird definiert, dass diese Attribute auf dem Verzeichnisserver abgelegt werden sollen.
Beispiel: <responsibleFor>-Unterabschnitt
<dataSource id="CORP_LDAP" className="com.sap.security.core.persistence.datasource.imp.LDAPPersistence" isReadonly="false" isPrimary="true"> … <responsibleFor> <principal type="account"> <nameSpace name="com.sap.security.core.usermanagement"> <attributes> … <attribute name="certificatehash"/> <attribute name="javax.servlet.request.X509Certificate"/> <attribute name="certificate"/> </attributes> </nameSpace> </principal> … </responsibleFor> … </dataSource>
Denise muss die logischen Attribute den entsprechenden physischen Attributen in ihrem Verzeichnisdienst zuordnen. Diese Attribute sind herstellerspezifisch.
Denise muss den Namen des physischen Attributs in Kleinbuchstaben eingeben. Die Zuordnung ist sonst nicht möglich.
Beispiel: <attributeMapping>-Unterabschnitt
<dataSource id="CORP_LDAP" className="com.sap.security.core.persistence.datasource.imp.LDAPPersistence" isReadonly="false" isPrimary="true"> … <attributeMapping> <principals> <principal type="account"> <nameSpace name="com.sap.security.core.usermanagement"> <attributes> … <attribute name="certificatehash"> <physicalAttribute name="*null*"/> </attribute> <attribute name="javax.servlet.request.X509Certificate"> <physicalAttribute name="usercertificate"/> </attribute> <attribute name="certificate"> <physicalAttribute name="usercertificate"/> </attribute> </attributes> </nameSpace> </principal> … </principals> … </attributeMapping> … </dataSource>
Das Attribut certificatehash muss *null* zugeordnet werden, da Verzeichnisserver gehashte Zertifikate nicht verarbeiten können. Dadurch wird verhindert, dass gehashte Werte abgelegt werden.
Sie müssen die logischen Attribute javax.servlet.request.X509Certificate und certificate demselben physischen Attribut auf Ihrem Verzeichnisserver zuordnen.