Show TOC

Beispiel: Attributzuordnung für Client-ZertifikateLocate this document in the navigation structure

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.

Hinweis

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:

  • <responsibleFor>
  • <attributeMapping>
<responsibleFor>-Unterabschnitt

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>

 

<attributeMapping>-Unterabschnitt

Denise muss die logischen Attribute den entsprechenden physischen Attributen in ihrem Verzeichnisdienst zuordnen. Diese Attribute sind herstellerspezifisch.

Achtung

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>

 

Hinweis

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.