Apache 資料一覧
2008/5/17更新
対応バージョン: 2.2.8
LDAPでベーシック認証を使用するにはまず以下のオプションを付けてApacheをconfigure、make、インストールする。
--with-ldap
APR-util組み込み
--enable-authnz-ldap
LDAP認証
--enable-ldap
LDAPコネクションプール、及び問合せ結果のキャッシュ
httpdには以下のモジュールが組み込まれる。
% ./httpd -l|grep ldap mod_authnz_ldap.c util_ldap.c
関連資料・記事
Apacheの準備ができたらhttpd.confや.htaccessに設定を追加する。
設定パラメータ
まず主な設定パラメータについて説明する。
AuthName
認証時に表示されるダイアログの文字列を指定する。
例)
AuthName "User authentication"
AuthType
認証方法を指定する。ベーシック認証ではBasicを指定する。
AuthType Basic
AuthBasicProvider
ベーシック認証のサービス提供元を指定する。LDAPによる認証の場合はldapを指定する。
AuthBasicProvider ldap
AuthzLDAPAuthoritative {on|off}
LDAP認証で失敗した場合に他の認証サービスに移るかどうかを指定する。
onは移る、offは移らない(LDAP認証のみ)。デフォルトはon。
通常はoffにして他の認証サービスを使用しないが、Requireで指定する許可ユーザの指定が一般的なvalid-user(*)意外の場合はこの設定をonにする必要がある。
(*) 認証サービスの種類に関わらず正当なユーザを許可
AuthLDAPUrl
LDAP認証サーバとベースの識別名(DN:Distinguished Name)、及び検索に用いる属性(*)をURL形式で指定する。
(*) 通常は組織単位People内のuid
例)
AuthLDAPUrl ldap://www.bar.com/ou=People,dc=bar,dc=com?uid
AuthLDAPGroupAttribute
検索時のuidをLDAPグループレコード内のどの属性を一致させるかを指定する。
AuthLDAPGroupAttribute memberUid
Satisfy {Any|All}
Requireによる条件指定が複数あった場合にアクセスを許可するためにすべての条件を満たす必要があるかどうかを指定する。
どれか一つでも条件満たせばよい場合はAny、すべての条件を満たす必要がある場合はAll。デフォルトはAll。
Satisfy Any
使用目的別設定例
次に使用目的による設定の違いをいくつか紹介する。
AuthName、AuthType、AuthBasicProviderはいずれも同じ設定なのでここでは省略する。
LDAPディレクトリ内の(正当な)全ユーザに対してアクセスを許可する
AuthzLDAPAuthoritative off AuthLDAPUrl ldap://www.bar.com/ou=People,dc=bar,dc=com?uid Require valid-user
LDAPディレクトリ内のfooとbarユーザにのみアクセスを許可する
AuthzLDAPAuthoritative on AuthLDAPUrl ldap://www.bar.com/ou=People,dc=bar,dc=com?uid Require ldap-user foo bar
LDAPディレクトリ内のにdiv1グループに属するユーザにのみアクセスを許可する
AuthzLDAPAuthoritative on AuthLDAPUrl ldap://www.bar.com/ou=People,dc=bar,dc=com?uid AuthLDAPGroupAttribute memberUid Require ldap-group div1 Require ldap-attribute gidNumber=420
関連資料・記事