Ubuntu18.04のapache2.4で複数ドメインでのActiveDirectory認証


エンタメ系企業の社内もろもろを担当している、引き続き絶賛チックチックチックにはまり中のakibinです。
Shake The ShudderというアルバムのFive CompaniesやThottle Serviceって曲もすげーかっこいい。

やってみたこと

前回こちらでApacheの特定ディレクトリへのアクセスにBasic認証を発生させ、認証をADのユーザで行いましたが、その続きとして複数のAD(別のフォレストのドメイン)でユーザ認証を行う場合のApache設定ファイルの書き方を調べました。

前提条件

【対象ディレクトリ】
/var/www/html/himitu

【設定ファイル】
/etc/apache2/sites-available/auth-ad.conf
※デフォルトの設定ファイルをコピーして作成

【ADサーバ1】
・サーバ名: hoge-ad.hoge.co.jp
・ADへアクセス時に認証するユーザ: hogeadmin
・ADへアクセス時に認証するユーザもパスワード: hogeadminpw

【ADサーバ2】
・サーバ名: fuga-ad.fuga.co.jp
・ADへアクセス時に認証するユーザ: fugaadmin
・ADへアクセス時に認証するユーザもパスワード: fugaadminpw

設定方法

User@test-server:~$ sudo vi /etc/apache2/sites-available/auth-ad.conf

# 以下を追記
<AuthnProviderAlias ldap hoge-ad>
    AuthLDAPBindDN "cn=hogeadmin,dc=hoge-ad,dc=hoge,dc=co,dc=jp"
    AuthLDAPBindPassword "hogeadminpw"
    AuthLDAPURL "ldap://hoge-ad.hoge.co.jp:389/dc=hoge-ad,dc=hoge,dc=co,dc=jp?sAMAccountName?sub?(objectClass=*)"
</AuthnProviderAlias>

<AuthnProviderAlias ldap fuga-ad>
    AuthLDAPBindDN "cn=fugaadmin,dc=fuga-ad,dc=fuga,dc=co,dc=jp"
    AuthLDAPBindPassword "fugaadminpw"
    AuthLDAPURL "ldap://fuga-ad.fuga.co.jp:389/dc=fuga-ad,dc=fuga,dc=co,dc=jp?sAMAccountName?sub?(objectClass=*)"
</AuthnProviderAlias>

<Directory "/var/www/html/himitu">
    AuthName "User/Password"
    AuthType Basic
    AuthBasicProvider hoge-ad fuga-ad
    require valid-user
</Directory>

AuthnProviderAliasで各ADの認証設定を書き、AuthBasicProviderで認証を許可する各AD認証設定を指定する感じですね。
これで該当のディレクトリアクセス時にどちらのADのユーザでも認証ができました!

あまりないシーンかもしれませんが、なかなか情報出てこなかったので参考までに投稿しました。

めでたしめでたし。

****************************************
◆ Twitterアカウント
@AkibinMusic

◆ Youtubeチャンネル
https://www.youtube.com/channel/UC-JOpwEnJn3gCrUA4NdCYgg