mod_authnz_ldapは、匿名ではなく認証されたユーザーにバインドされます。

mod_authnz_ldapは、匿名ではなく認証されたユーザーにバインドされます。

可能な限り単一の資格情報に近づくよう努めています。利用可能な認証メカニズムがかなり制限されているWebアプリケーションがありますが(幸いにも)管理者REMOTE_USERhttpd

匿名バインドまたは共有資格情報から選択する代わりに、要求するユーザーの資格情報を使用して認証するように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にバインドします。コメントアウトしようとすると、AuthLDAPBindDNADAuthLDAPBindPassword管理者が拒否するように構成した匿名バインディングを実行したいようです。

私の質問は、匿名でバインドするか共有アカウントを使用することから選択するのではなく、認証されたユーザーの資格情報を使用するようにApacheを設定することは可能ですか(ADユーザーが設定したポリシーでは不可能です)。誰かが解雇されたり会社を離れたりした場合、個人アカウントを使用することは明らかに理想的ではありません。

答え1

おそらくAuthLDAPInitialBindAsUser(Apache 2.3.6)が役に立つかもしれません:

サーバーが初期DN照会にデフォルトDNを使用していることを確認する
匿名または次を使用する代わりに、自分のユーザー名でユーザーを認証します。
サーバーに対してハードコードされた資格情報

結合するAuthLDAPInitialBindPattern、次のようなことが機能する可能性があります(テストされていません):

       認証タイプの基本
       認証基本プロバイダーLDAP
       名前「Active Directory」の確認
       AuthzLDAP 正式終了
       AuthLDAPInitialBindAsUser がオンになりました。
       AuthLDAPInitialBindPattern(.+) cn=$1,dc=com
       認証LDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub
       有効なユーザーが必要です

関連情報