Mode de mappage des certificats LDAP
Le mode de mappage des certificats permet de déterminer si les certificats X.509 doivent être mappés dans un annuaire LDAP selon EXACT_DN ou CERTIFICATE_FILTER dans le profil Liberty.
EXACT_DN signifie que le nom distinctif figurant dans le certificat doit correspondre exactement à l'entrée utilisateur sur le serveur LDAP, y compris en ce qui concerne la casse et les espaces. Pour utiliser le filtre de certificats spécifié pour le mappage, vous pouvez utiliser CERTIFICATE_FILTER.
- Filtre de certificats
- Indique la propriété de mappage de certificat de filtre pour le filtre LDAP. Le filtre est utilisé pour mapper des attributs dans le certificat client pour les entrées du registre LDAP.
- Si plusieurs entrées LDAP correspondent à la spécification du filtre au cours de l'exécution, l'authentification échoue car la correspondance est alors considérée comme ambiguë. La syntaxe de ce filtre est la suivante :
.LDAP attribute=${Client certificate attribute}
Exemple de filtre de certificats simple : uid=${SubjectCN}.
- Vous pouvez également indiquer plusieurs propriétés et valeurs dans le cadre d'un filtre de certificats. L'attribut LDAP de la spécification de filtre dépend du schéma que votre serveur LDAP doit utiliser. L'attribut de certificat client est l'un des attributs publics dans votre certificat client. Il doit commencer par le symbole du dollar, $, et une accolade ouvrante, {, et finir par une accolade fermante, }. Les attributs différencient les majuscules des minuscules.
- Les attributs LDAP suivants sont pris en charge :
- uid
- initials
- sAMAccountName
- displayName
- distinguishedName
- displayName
- description
- ${SubjectCN}
- ${SubjectDN}
- ${IssuerCN}
- ${IssuerDN}
- ${SerialNumber}
Exemple de configuration LDAP avec le mode de filtrage des certificats activé :
<ldapRegistry id="LDAP" realm="SampleLdapIDSRealm"
host="myldap.ibm.com" port="389" ignoreCase="true"
baseDN="o=ibm,c=us"
certificateMapMode="CERTIFICATE_FILTER"
certificateFilter="uid=${SubjectCN}"
userFilter="(&(uid=%v)(objectclass=ePerson))"
groupFilter="(&(cn=%v)(|(objectclass=groupOfNames)
(objectclass=groupOfUniqueNames)(objectclass=groupOfURLs)))"
userIdMap="*:uid"
groupIdMap="*:cn"
groupMemberIdMap="ibm-allGroups:member;ibm-allGroups:uniqueMember;
groupOfNames:member;groupOfUniqueNames:uniqueMember"
ldapType="IBM Tivoli Directory Server" searchTimeout="8m" />