第8章 設定ファイルのリファレンス

設定するほとんどのディレクトリーサーバー機能は、ディレクトリーの cn=config エントリーにあります。ただし、特定の機能については、Directory Server は設定ファイルから設定を読み取ります。本章では、これらのファイルとその設定について説明します。

8.1. certmap.conf

証明書ベースの認証を設定する場合は、/etc/dirsrv/slapd-instance_name/certmap.conf ファイルが Directory Server が証明書をユーザーエントリーに動的にマッピングする方法を管理します。

/etc/dirsrv/slapd-instance_name/certmap.conf ファイルは以下のフォーマットを使用します。

certmap alias_name            certificate_issuer_DN
alias_name:parameter_name     value

それぞれの証明書発行者識別名 (DN) に個別の設定を指定できます。別の設定を持たない発行者 DN の場合、default エントリーの設定が使用されます。以下は、default エントリーに必要な最小設定です。

certmap default     default

また、default エントリーに利用可能なすべてのパラメーターを設定することができます。Directory Server は、パラメーターが発行者 DN の個別設定で指定されていない場合、それらを使用します。

例8.1 default エントリーおよび特定の発行者 DN の設定

以下の設定では、o=Example Inc.,c=US 発行者 DN が設定された証明書の個別設定を設定します。他の証明書は、default エントリーの設定を使用します。

certmap default         default
default:DNComps         dc
default:FilterComps     mail, cn
default:VerifyCert      on

certmap example         o=Example Inc.,c=US
example:DNComps

以下のパラメーターを設定できます。

DNComps

DNComps パラメーターは、Directory Server がディレクトリー内のユーザーを検索するために使用されるベース DN を生成する方法を決定します。

  • 証明書の subject フィールドの属性がベース DN と一致する場合は、DNComps パラメーターをこれらの属性に設定します。複数の属性はコンマで区切ります。ただし、DNComps パラメーターの属性の順序は、証明書のサブジェクトの順番と一致している必要があります。

    たとえば、証明書の発行先が e=user_name@example.com,cn=user_name,o=Example Inc.,c=US で、ユーザーを検索する際のベース DN として Directory Server が cn=user_name,o=Example Inc.,c=US を使用する場合は、DNComps パラメーターを cn, o, c に設定します。

    重要

    DNComps パラメーターに設定された属性の値は、データベース内で一意でなければなりません。

  • 証明書の subject フィールドからベース DN を生成できない場合は、パラメーターを空の値に設定します。この場合、Directory Server は FilterComps パラメーターの設定から生成されたフィルターを使用してディレクトリー全体でユーザーを検索します。

    たとえば、証明書の発行先が e=user_name@example.com,cn=user_name,o=Example Inc.,c=US だが、Directory Server はデータを dc=example,dc=com エントリーに保存する場合、必要なコンポーネントが発行先の一部ではないため、Directory Server は証明書の発行先から有効なベース DN を生成することができません。この場合は、DNComps を空の文字列に設定し、ディレクトリー全体でユーザーを検索します。

  • 証明書の subject フィールドのいずれかが Directory Server のユーザーの DN に完全に一致する場合や、CmapLdapAttr パラメーターの設定を使用する場合は、このパラメーターをコメントアウトするか、設定しないでください。

    または、ハードコードされたベース DN を使用するように、cn=config エントリーで nsslapd-certmap-basedn パラメーターを設定します。

FilterComps

このパラメーターは、Directory Server が使用する証明書の subject フィールドからの属性を設定し、ユーザーの検索に使用する検索フィルターを生成します。

  • このパラメーターを、証明書のサブジェクトで使用される属性のコンマ区切りリストに設定しますDirectory Server はこれらの属性をフィルター内の AND 操作で使用します。

    注記

    証明書サブジェクトは、メールアドレスにデフォルトの Directory Server スキーマには存在しない e 属性を使用します。このため、Directory Server は自動的にこの属性を mail 属性にマッピングします。つまり、FilterComps パラメーターで mail 属性を使用すると、Directory Server は証明書のサブジェクトから e 属性の値を読み取ります。

    たとえば、証明書の発行先が e=user_name@example.com,cn=user_name,dc=example,dc=com,o=Example Inc.,c=US で、(&(mail=username@domain)(cn=user_name)) フィルターを動的に生成する場合は、FilterComps パラメーターを mail,cn に設定します。

  • パラメーターがコメントアウトまたは空の値に設定されていると、(objectclass=*) フィルターが使用されます。
verifycert

Directory Server は、証明書が信頼できる認証局 (CA) によって発行されたかどうかを常に検証します。ただし、追加で verifycert パラメーターを on に設定すると、Directory Server は、証明書が、ユーザーの userCertificate バイナリー属性に保存されている DER (Distinguished Encoding Rules) 形式の証明書と一致することを確認します。

このパラメーターを設定しないと、verifycert は無効になります。

CmapLdapAttr
ユーザーエントリーに、ユーザー証明書の発行先 DN を保存する属性が含まれている場合は、CmapLdapAttr をこの属性名に設定しますDirectory Server はこの属性およびサブジェクト DN を使用してユーザーを検索します。この場合、FilterComps パラメーターの属性に基づいてフィルターが生成されません。
library
共有ライブラリーまたは動的リンクライブラリー (DLL) ファイルへのパス名を設定します。この設定は、証明書 API を使用して独自のプロパティーを作成する場合にのみ使用します。このパラメーターは非推奨となっており、今後のリリースで削除されます。
InitFn
カスタムライブラリーを使用する場合、init 関数の名前を設定します。この設定は、証明書 API を使用して独自のプロパティーを作成する場合にのみ使用します。このパラメーターは非推奨となっており、今後のリリースで削除されます。
重要

Directory Server がマッチするユーザーを検索する場合、その検索はエントリーを 1 つだけ返す必要があります。検索が複数のエントリーを返すと、Directory Server は multiple matches エラーをログに記録し、認証に失敗します。

詳細は、Directory Server 管理ガイドの該当するセクションを参照してください。