LDAP 証明書マップ・モード
証明書マップ・モードは、Liberty で X.509 証明書を LDAP ディレクトリーにマップする際に EXACT_DN を使用するのか CERTIFICATE_FILTER を使用するのかを指定するために使用します。
EXACT_DN を指定した場合には、 証明書の識別名 (DN) は、大/小文字やスペースも含めて LDAP サーバー内のユーザー・エントリーと完全に一致しなければなりません。マッピングに指定証明フィルターを使用する場合は、CERTIFICATE_FILTER を使用します。
- 証明書フィルター
- LDAP フィルターのフィルター証明書マッピング・プロパティーを指定します。 フィルターは、クライアント証明書内の属性を LDAP レジストリー内のエントリーにマップする際に使用されます。
- 実行時に複数の LDAP エントリーがフィルターの指定に一致すると、結果があいまい一致となるので認証は失敗します。 このフィルターの構文は以下のとおりです。
.LDAP attribute=${Client certificate attribute}
例えば、単純な証明書フィルターとしては uid=${SubjectCN} があります。
- また、証明書フィルターの一部として複数のプロパティーと値を指定することもできます。フィルター仕様の LDAP 属性は、LDAP サーバーで使用するように構成されているスキーマによって異なります。クライアント証明書属性は、クライアント証明書内のパブリック属性の 1 つです。クライアント証明書属性は、ドル記号 ($) で開始し、次に左中括弧 ({)、そして右中括弧 (}) で終了する必要があります。属性は大/小文字が区別されます。
- 以下の LDAP 属性がサポートされます。
- uid
- initials
- sAMAccountName
- displayName
- distinguishedName
- displayName
- description
- ${SubjectCN}
- ${SubjectDN}
- ${IssuerCN}
- ${IssuerDN}
- ${SerialNumber}
証明書フィルター・モードを有効にした LDAP 構成の例を以下に示します。
<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" />