C3. LDAP/AD認証

設定ファイル

設定はauth-ldap-rfc4515.conf設定ファイル内にあります。

標準的な設定の設定ファイルも用意されています。

auth-ldap-rfc4515-check-group.conf - Active Directoryグループに属しているかどうかを確認して簡易スキーマを使うLDAPによる、管理者の外部認証用設定ファイルテンプレート。

auth-ldap-rfc4515-check-group-novar.conf - Active Directoryグループに属しているかどうかを確認して簡易スキーマを使い、変数を用いるLDAPによる、管理者の外部認証用設定ファイルテンプレート。

auth-ldap-rfc4515-simple-login.conf - 簡易スキーマを使うLDAPによる、管理者の外部認証用設定ファイルテンプレート。

auth-ldap-rfc4515.conf設定ファイルの一般的なタグは以下のとおりです。

<server /> - LDAPサーバー定義。

属性

説明

デフォルト値

base-dn

検索が実行されるオブジェクトエントリの相対DN。

Root DSEオブジェクトのrootDomainNamingContext属性値

cacertfile

ルート証明書ファイル(UNIXのみ)。

host

LDAPサーバーのアドレス。

Windows OSのサーバーのドメインコントローラー。

UNIX系OS環境のサーバーの場合は127.0.0.1

異なるLDAPサーバーアドレスの複数の<server/>タグを追加できます。主に負荷を受けるメインサーバーを最初に指定します。認証に失敗した場合、指定された順番に従って、次のサーバーで順次再試行されます。

scope

検索範囲。可能な値は次のとおりです。

sub-tree - ベースDN以下のサブツリー全体

one-level - ベースDN直下

base - ベースDN。

sub-tree

tls

LDAPへの接続でTLSを確立。

no

ssl

LDAPへの接続時にLDAPSプロトコルを使用。

no

<set /> - LDAP検索によって設定される変数。

属性

説明

デフォルト値

attribute

変数に値が割り当てられている属性名。省くことはできません。

filter

LDAPのRFC4515検索フィルター。

scope

検索範囲。可能な値は次のとおりです。

sub-tree - ベースDN以下のサブツリー全体

one-level - ベースDN直下

base - ベースDN。

sub-tree

search

検索が実行されるオブジェクトエントリの相対DN。

存在しない場合、<server />タグのbase-dnが使用されます。

variable

変数名。文字で始まり、文字と数字のみで構成される必要があります。省くことはできません。

変数は<mask /><expr />タグのadd属性の値、<filter />タグのvalue属性の値で\varnameとして使用できます。<set />タグのsearch属性の値でも使用できます。変数で許可される再帰レベルは16です。

検索で見つかった複数のオブジェクトが返された場合は、最初のものだけが使用されます。

<mask /> - ユーザー名のテンプレート。

属性

説明

add

置換要素とAND演算を使用して検索フィルターに追加される文字列。

user

DOSのようなメタシンボル(*と#)を使用するユーザー名マスク。省くことはできません。

例:

<mask user="*@#"  add="sAMAccountName=\1" />

<mask user="*\*"  add="sAMAccountName=\2" />

\1\2は、user属性の一致するマスクのリンクです。

<expr /> - 正規表現を使用したユーザー名テンプレート(属性は<mask />の場合と同じ)。

例:

<expr user="^(.*)@([^.,=@\s\\]+)$"  add="sAMAccountName=\1" />

<expr user="^(.*)\\(.*)"            add="sAMAccountName=\2" />

マスクと正規表現の対応は次のとおり。

マスク

正規表現

*

.*

#

[^.,=@\s\\]+

<filter /> - LDAP検索フィルター。

属性

説明

value

置換要素とAND演算を使用して検索フィルターに追加される文字列。

フィルターの連結

<set variable="admingrp" filter="&amp;(objectclass=group)(cn=ESuite Admin)" attribute="dn" />
<mask user="*\*" add="sAMAccountName=\2" />
<filter value="&amp;(objectClass=user)(memberOf=\admingrp)" />

検索後にadmingrp"CN=ESuite Admins,OU=some name,DC=example,DC=com"値を取得し、ユーザー入力はdomain\userだった場合、結果のフィルターは次のとおりです。

"(&(sAMAccountName=user)(&(objectClass=user)(memberOf=CN=ESuite Admins,OU=some name,DC=example,DC=com)))"

LDAP/AD認証の設定例

次に、LDAPを使用した認証の一般的な設定例を示します。設定は、Control Centerの 管理 → 認証 → LDAP/AD認証 セクション(アドバンス設定)で行います。

認証が必要な管理者の初期パラメータは次のとおりです。

ドメイン:dc.test.local

Active Directoryグループ:DrWeb_Admins

Control Centerの設定:

設定

サーバーのタイプ

Microsoft Active Directory

サーバーアドレス

dc.test.local

認証するユーザーのログインテンプレート

アカウントマスク

test\*または*@test.local

ログイン

\1

認証するユーザーのメンバーシップ

名前

DrWeb_Admins

ジョブの種類

グループ