日時 | |
関係者(共同研究者) | |
shibboleth IdPをLDAP Proxy経由でWindows Server 2003のAD(Active Directory)に認証する方法
事前に、ADに認証するために、OpenLDAPのslapdのLDAPプロキシ機能+overlay rwmの機能を使って、uidとsamaccountnameなどの属性マッピグをローカルLDAPに設定する1)2)。
shibboleth IdPでLDAP Proxy経由でActive Directoryに認証する場合は、リフェラル(紹介)設定を有効にする必要がある。
具体的には、login.configとattribute-resolver.xmlの2つのファイルに注意しましょう。
また、動作を保証するものではありません。より良い設定方法がありましたら、教えていただけると幸いです。
2010年になって、GC(グローバルカタログ)を使うことで、リフェラルを有効にしなくても、動作することがわかりました3)。
→ リフェラルをつかうと、DCが1台でも停止すると認証に不具合が発生することがありますので、リフェラルを無効にして利用することを推奨します。
例)login.config
edu.vt.middleware.ldap.jaas.LdapLoginModule sufficient
host="localhost"
base="dc=xxxxx,dc=yamagata-u,dc=ac,dc=jp"
ssl="false"
userField="uid"
subtreeSearch="true"
serviceUser="cn=xxxx,CN=Users,dc=xxxx,dc=yamagata-u,dc=ac,dc=jp"
serviceCredential="xxxxx"
referral="follow" <--重要みたい?
例)attribute-resolver.xml "<"、">"は全角文字に変化されていますので、半角にしてください。
<resolver:DataConnector id="myLDAP2" xsi:type="LDAPDirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
ldapURL="ldap://localhost" baseDN="dc=xxxx,dc=yamagata-u,dc=ac,dc=JP" princi
pal="cn=xxxxx,CN=Users,dc=xxxx,dc=yamagata-u,dc=ac,dc=jp"
principalCredential="xxxxx">
<FilterTemplate>
<![CDATA[
(uid=$requestContext.principalName)
]]>
</FilterTemplate>
<LDAPProperty name="java.naming.referral" value="follow"/> <--ここが重要みたい?
</resolver:DataConnector>
【関連講義】
・サイバーキャンパス「鷹山」,UPKI-シングルサインオン実証実験4)
・サイバーキャンパス「鷹山」,UPKI関係資料5)
この内容については、2009年に一橋記念講堂で開催されたUPKIシンポジウム2009において既存の複数認証基盤を統合したUPKI用統合認証基盤の構築について報告している6)。
【動作確認バージョン】
Shibboleth IdP 2.0.0
Shibboleth IdP 2.1.27)
Shibboleth IdP 2.1.38)
【関連書籍】
・シボレスIdPの構築9)
by