私はできる限り単一の資格情報に近づこうとしています。利用可能な認証メカニズムのかなり限定されたセットを持つWebアプリケーションがありますが、(幸運なことに)管理者がREMOTE_USER
httpd
によって設定される環境変数。
匿名バインドまたは共有資格情報のどちらかを選択するのではなく、要求しているユーザーの資格情報を使用して認証するようにmod_authnz_ldapを構成する方法はありますか?
これは私が現在持っているものです:
<Location />
AuthzLDAPLogLevel debug
AuthType Basic
AuthBasicProvider ldap
AuthName "Active Directory"
AuthzLDAPAuthoritative off
AuthLDAPBindDN CN=jad,DC=xxx,DC=com
AuthLDAPBindPassword xxx
AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub
require valid-user
</Location>
xxx
のマーク編集。基本的に、上記はユーザーの認証に機能しますが、私のアカウントを使用してADにバインドします。 AuthLDAPBindDN
およびAuthLDAPBindPassword
をコメントアウトしようとすると、AD管理者が拒否するように構成した匿名バインドを実行しようとしているようです。
私の質問は、Apacheを構成して、匿名バインドまたは共有アカウントを使用する代わりに、認証ユーザーの資格情報を使用できるかどうかです(ADの担当者が設定したポリシーでは不可能です)。個人のアカウントを使用することも、解雇または退職する場合には明らかに理想的ではありません。
多分 AuthLDAPInitialBindAsUser (Apache 2.3.6)が役立ちます:
サーバーが匿名または ハードコードされた認証情報ではなく、基本的な 認証ユーザー自身のユーザー名を使用して初期DNルックアップを行うかどうかを決定します
AuthLDAPInitialBindPattern と組み合わせると、次のようなことがうまくいく場合があります(テストされていません)。
AuthType Basic AuthBasicProvider ldap AuthName "Active Directory" AuthzLDAPAuthoritative off AuthLDAPInitialBindAsUser on AuthLDAPInitialBindPattern(。+)cn = $ 1、dc = com AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub require valid-user