[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[upki-fed:00526] Re: IdPが起動しません(テストフェデレーション)
- Subject: [upki-fed:00526] Re: IdPが起動しません(テストフェデレーション)
- Date: Fri, 2 Nov 2012 15:34:01 +0900
- From: Kaz IGARASHI <xxx@xxxxxxxxxxx>
赤沢様
成城大学五十嵐と申します.
logging.xml で LDAP 関連の log を debug モードにすると問題判別しやすいかと
思います.
------------------------------------------------
<logger name="edu.vt.middleware.ldap">
<level value="DEBUG"/>
</logger>
------------------------------------------------
----- Original Message -----
>> From: Akazawa TS <xxxxxxxx@xxxxxxxxxxxxxx>
>> To: xxxxxxxx@xxxxxxxxx
>> Date: 2012-11-02 14:35:52
>> Subject: [upki-fed:00524] Re: IdPが起動しません(テストフェデレーション)
>>
>> upki-fed MLの皆様、赤木様、土屋様、中山様
>>
>> 都医学研の赤沢です。
>> ご助言ありがとうございます。
>>
>> まず、第1にお恥ずかしながら凡ミスがひとつありました。
>> /etc/hosts.allow に
>> ------------------------------
>> slapd: localhost
>> ------------------------------
>> とあり、
>> ------------------------------
>> slapd: 127.0.0.1
>> ------------------------------
>> と書き直すことで ローカルから LDAPに接続できるようなりました。
>> (/etc/hosts.deny では ALL:ALL で全て拒否設定になっています)
>>
>> 昨日の段階やそれ以前の確認ではちゃんと接続できていたので、
>> どこかの段階で /etc/hosts.allowと/etc/hosts.deny を加えたの
>> だと思います。
>>
>> 少なくとも現在は、次のように、ローカルからLDAP内のダミー職員の
>> データを取得できています。(Apache HTTP server/tomcat/OpenLDAP/
>> shibboleth は同一マシン内で稼働させています)
>> -----------------------------------------------------------------
>> # ldapsearch -x -H ldap://localhost -b dc=igakuken,dc=or,dc=jp -D
>> cn=test,ou=apps,dc=igakuken,dc=or,dc=jp -W uid=shinkei5
>> Enter LDAP Password:
>> # extended LDIF
>> #
>> # LDAPv3
>> # base <dc=igakuken,dc=or,dc=jp> with scope subtree
>> # filter: uid=shinkei5
>> # requesting: ALL
>> #
>>
>> # shinkei5, Users, igakuken.or.jp
>> dn: uid=shinkei5,ou=Users,dc=igakuken,dc=or,dc=jp
>> uid: shinkei5
>> igakGroupNum: 61
>> igakMid: 5
>> objectClass: inetOrgPerson
>> objectClass: igakKamikitaPerson
>> employeeNumber: 03330005
>> << 後略 >>
>> -----------------------------------------------------------------
>>
>> しかし、これで解決はしませんでした。
>> つまり、再び以下のように tomcat6 をスタートさせたときにERRORが
>> 発生します。
>> # service tomcat6 stop
>> # service httpd restart
>> # service tomcat6 start
>>
>> このときの
>> /opt/shibboleth-idp/logs/idp-process.log は次のようになっていました。
>> -----------------------------------------------------------------------
>> 11:50:00.720 - ERROR
>> [edu.vt.middleware.ldap.pool.DefaultLdapFactory:109]
>> - unabled to connect to the ldap
>> javax.naming.AuthenticationException:
>> [LDAP: error code 49 - Invalid Credentials]
>> at com.sun.jndi.ldap.LdapCtx.mapErrorCode
>> (LdapCtx.java:3067) ~[na:1.6.0_37]
>> at com.sun.jndi.ldap.LdapCtx.processReturnCode
>> (LdapCtx.java:3013) ~[na:1.6.0_37]
>> <<後略>>
>> -----------------------------------------------------------------------
>>
>> なんだ、LDAP接続時のパスワード間違いか、恥ずかしいと思いましたが
>> /opt/shibboleth-id/conf/attribute-resolver.xml を見てみるとどうしても
>> 間違いを見つけられません。以下で伏せ字にした ***** は正しいパスワード
>> が書いてあります。
>> -------------------------attribute-resolver.xml------------------------
>> <<前略>>
>> <!-- Example LDAP Connector -->
>> <!-- -->
>> <resolver:DataConnector id="myLDAP" xsi:type="LDAPDirectory"
>> xmlns="urn:mace:shibboleth:2.0:resolver:dc"
>> ldapURL="ldap://localhost" baseDN="dc=igakuken,dc=or,dc=jp"
>> principal="cn=test,ou=apps"
>> principalCredential="*****">
>> <FilterTemplate>
>> <![CDATA[
>> (uid=$requestContext.principalName)
>> ]]>
>> </FilterTemplate>
>> </resolver:DataConnector>
>> <!-- -->
>> <<後略>>
>> -----------------------------------------------------------------------
>>
>>
>> > まずは問題を切り分けるために,aacli.sh で動作チェックしてみたらどうで
>> > しょうか.shibboleth をインストールしたディレクトリに移動して,
>> >
>> > cd /opt/shibboleth-idp
>> > ./bin/aacli.sh --configDir=conf/ --principai=ユーザ名
>> >
>> > として,ちゃんと値がかえってくるかどうかを見てください.
>>
>> 土屋様の↑のご指摘の点、以下のように確認してみました。
>> XMLは帰って来ず、エラーが延々と出力されてしまいました。
>> -----------------------------------------------------------------------
>> #cd /opt/shibboleth-idp
>> # ./bin/aacli.sh --configDir=conf/ --principal="uid=shinkei5"
>> Exception in thread "main"
>> org.springframework.beans.factory.BeanCreationException:
>> Error creating bean with name 'shibboleth.AttributeResolver':
>> Invocation of init method failed; nested exception is
>> edu.internet2.middleware.shibboleth.common.service.ServiceException:
>> Configuration was not loaded for shibboleth.AttributeResolver service,
>> error creating components.
>> at org.springframework.beans.factory.support
>> .AbstractAutowireCapableBeanFactory
>> .initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
>> <<後略>>
>> -----------------------------------------------------------------------
>>
>> aacli.sh --help は見てみましたが、--principal= の記法がよくわからない
>> ので、以下の2通りも試しましたが、同様のエラーが発生しました。
>> -----------------------------------------------------------------------
>> # ./bin/aacli.sh --configDir=conf/
>> --principal="uid=shinkei5,ou=users,dc=igakuken,dc=or,dc=jp"
>> Exception in thread "main"
>> org.springframework.beans.factory.BeanCreationException:
>> Error creating bean with name 'shibboleth.AttributeResolver':
>> Invocation of init method failed; nested exception is
>> edu.internet2.middleware.shibboleth.common.service.ServiceException:
>> Configuration was not loaded for shibboleth.AttributeResolver service,
>> error creating components.
>> at org.springframework.beans.factory.support
>> .AbstractAutowireCapableBeanFactory
>> .initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
>> <<後略>>
>> -----------------------------------------------------------------------
>> # ./bin/aacli.sh --configDir=conf/ --principal="uid=shinkei5,ou=users"
>> Exception in thread "main"
>> org.springframework.beans.factory.BeanCreationException:
>> Error creating bean with name 'shibboleth.AttributeResolver':
>> Invocation of init method failed; nested exception is
>> edu.internet2.middleware.shibboleth.common.service.ServiceException:
>> Configuration was not loaded for shibboleth.AttributeResolver service,
>> error creating components.
>> at org.springframework.beans.factory.support
>> .AbstractAutowireCapableBeanFactory
>> .initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
>> <<後略>>
>> -----------------------------------------------------------------------
>>
>> 現時点では attribute-resolver.xml の <resolver:DataConnector タグに
>> おける、属性principalの値として LDAPに接続する際の dn を記載しているの
>> ですが、これが間違っているような気がしています。
>>
>> そもそも、LDAPにおける principal とは何かがよくわかっておりません。
>> Gooleで検索すると、WindowsのUser Principalとか、Keroberosのものとか
>> Oracleのものとか、あまり関係なさそうなものが列挙されます。
>>
>> aacli.sh --help で得られる、
>> --principal Principal name (user id) of the person
>> whose attributes will be retrieved
>> が案外正解なのでしょうか。
>>
>> 中山様がご指摘くださった、次の点もこれから確認したいと思います。
>>
>> > LDAP接続箇所のエラーのようなのですが、
>> >
>> > 匿名BINDができないLDAPサーバの場合は
>> > login.configにbindDnとbindCredentialの設定も必要かも知れません。
>> --
>> 公益財団法人東京都医学総合研究所 情報システム室
>> 赤沢年一
>>
>>
Kaz IGARASHI +++++++++++++++++++++++++++++++
Mail to -------------------- xxx@xxxxxxxxxxx
++++++++++++++++++++++++++++ MNC, Seijo Univ.