[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[upki-fed:01120] Re: Shibboleth IdPのShibboleth SP化について
- Subject: [upki-fed:01120] Re: Shibboleth IdPのShibboleth SP化について
- Date: Fri, 9 Dec 2016 14:57:27 +0900
- From: Takeshi NISHIMURA <xxxxxxx@xxxxxxxxx>
西村です。
蛇足かもしれませんが、
IdP ProxyとかProxy IdPとか呼ばれているものの範疇と考えると、
認証時のIDだけを引き渡すのであれば、お書きいただいた方法で問題
ないと思います。
# これがさらに、IdP Bから来た属性をそのままSPに流そうとすると
# Shibbolethでは途端に難しくなります。
IdP上のShibboleth SPのセッション有効期間(lifetime)を極端に
短く(5分くらい?)しておくと、ここに起因する不具合(IdPからロ
グアウトしたつもりなのに次回ログインしようとするとパスワードを聞
かれずにログインできてしまう)が回避できるのでよいかなと思いました。
> 2016/11/28 15:47、Tatsumi Hosokawa <xxxxxxxx@xxxxxxxxxxxxxx>のメール:
>
> 慶應義塾ITC本部の細川です。
>
> やってみたところ、先程成功しましたが、若干の疑問点が残っています。
>
> テスト構築はIdP 3.2.1, SP 2.6.0で行いました。
>
> まず、Shibboleth IdP(IdP A)のサーバにShibboleth SP(IdP B)をインストールし、
> Location /idpをShibboleth(IdP B)で認証するように設定しました。
> その上で、Shibboleth IdP(IdP A)のサーバに次の設定を行いました。
>
> 1. /etc/shibboleth/shibboleth2.xmlで、<ApplicationDefaults>のところに、
> attributePrefix="AJP_"を追加する
>
> 2. /opt/shibboleth-idp/conf/idp.propertiesの
>
> idp.authn.flows= Password
>
> を
>
> idp.authn.flows= RemoteUser
>
> に変更
>
> 3. 存在しなければ /opt/shibboleth-idp/webapp/WEB-INF/web.xmlを
> /opt/shibboleth-idp/edit-webapp/WEB-INF/web.xmlにコピー
>
> 4. /opt/shibboleth-idp/edit-webapp/WEB-INF/web.xmlの
>
> <servlet>
> <servlet-name>RemoteUserAuthHandler</servlet-name>
> <servlet-class>net.shibboleth.idp.authn.impl.RemoteUserAuthServlet</servlet-class>
> <load-on-startup>2</load-on-startup>
> </servlet>
>
> の部分を
>
> <servlet>
> <servlet-name>RemoteUserAuthHandler</servlet-name>
> <servlet-class>net.shibboleth.idp.authn.impl.RemoteUserAuthServlet</servlet-class>
> <init-params>
> <param-name>checkHeaders</param-name>
> <param-value>UIDとして参照させたい属性名(Shibboleth SPからアクセスする属性名)</param-value>
> </init-params>
> <load-on-startup>2</load-on-startup>
> </servlet>
>
> に変更
>
> これだけでIdP AのSPをIdP Bで認証できました(意外に簡単ですね)。
>
> 現在の疑問点は、IdP Bに存在してIdP Aに存在しないユーザを認証させた場合、
> IdP Aで認証エラーが出るのではなく、IdP Aから遷移したIdP AのSP側で、
> 必要な属性が送られていないがゆえのエラーが出てしまうことです。
>
> 私の方でももう少し原因を追ってみますが、これはそういう仕様なのでしょうか?
>
> 何れにせよ、有用な情報、ありがとうございました。
>
> よろしくお願いします。
>
> 細川
>
>
> On 2016/11/25 8:43, Tatsumi Hosokawa wrote:
>> 秋山様 やまじ様
>>
>> 情報、ありがとうございます。
>>
>> 私も昨日RemoteUserAuthenticationというものを発見し
>> (Basic Authentication Shibbolethというキーワードで出てきました)、
>> これが使えないかな、と思って環境構築を始めたのですが、
>> 使った実例もあるということで少し安心しました。
>>
>> 昨日、テスト用IdPサーバにShibboleth SPをインストールするところまでは作業を行ったので、
>> ご紹介いただいたサイトを見ながら、テストを続けてみたいと思います。
>>
>> よろしくお願いします。
>>
>> 細川
>>
>> On 2016/11/24 22:23, Toyokazu Akiyama wrote:
>>> 京都産業大学の秋山です.
>>>
>>> 2年ほどの話なので,最新状況はわかりませんが,IdP01のRemoteUser認証の設定など(ExternalAuthなどもありました)を有効にし,IdP01のhttps://idp.domain/idp/Authn/RemoteUser <http://idp.domain/Authn/RemoteUser>をSP02で保護し,SP02側のREMOTE_USERにuidやeppnなど必要な属性を指定しておくことで,このSP02の認証(IdP02での認証)に成功したユーザのみIdP01にログインさせるということができました.
>>>
>>> Shibboleth IdP 3.0 だと以下のページに詳細が載っているようです.
>>>
>>> https://wiki.shibboleth.net/confluence/display/IDP30/RemoteUserAuthnConfiguration <https://wiki.shibboleth.net/confluence/display/IDP30/RemoteUserAuthnConfiguration>
>>>
>>> checkRemoteUserを使うと良いのでしょうか.
>>> AJPの設定なども絡んでくるので,以下も参照すると良いかと思います.
>>> https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPJavaInstall
>>>
>>> 取り急ぎ.
>>>
>>> 2016年11月24日 21:43 Kazu Yamaji <xxxxxx@xxxxxxxxx <mailto:xxxxxx@xxxxxxxxx>>:
>>>
>>> やまじです。
>>>
>>> On 2016年11月24日 12:46:50 JST, Tatsumi Hosokawa <xxxxxxxx@xxxxxxxxxxxxxx <mailto:xxxxxxxx@xxxxxxxxxxxxxx>> wrote:
>>> >
>>> >やりたいこととしては、あるShibboleth IdPの認証を他のShibboleth IdPで行いたい、
>>> >つまり、Shibboleth IdPをShibboleth SP化したい、ということです。
>>>
>>> 1回目はSPがあるIdPにログインさせて、
>>> アカウントをリンクした上で、2回目以降は
>>> 自動的にログインさせるというJavaのアプリ
>>> なら、以前作ったことがあります。
>>>
>>> 想定されているのとは、ちょっと違いますでしょうか?
>>> --
>>> Kazu
--
西村健
国立情報学研究所 TEL:03-4212-2890
⌘