[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:00477] Re: メタデータ記載の証明書更新手順(key rollover) IdP編



西村です。

返答遅くなりまして申し訳ございません。

>      <!-- ←自動ダウンロードのメタデータを参照する為、コメントアウト
>      <metadata:MetadataProvider id="IdPMD" xsi:type="metadata:ResourceBackedMetadataProvider">
>          <metadata:MetadataResource xsi:type="resource:FilesystemResource" file="/opt/shibboleth-idp/metadata/idp-metadata.xml"/>
>      </metadata:MetadataProvider>
>      -->
> 
> 当方では,この部分をコメントアウトしていません.というのは,学認に参加す
> る前に,ローカルフェデレーションの IdP として動作を始めたからです.
> 
> そのため,
> 
>      /opt/shibboleth-idp/metadata/idp-metadata.xml
> 
> の内容を修正する必要があるはずだと思ったという話です.

はい。学認の技術ガイドではコメントアウトするように書いていますが、
そうでない場合はidp-metadata.xmlも修正してください。(*)

私もつい先程まで勘違いしていましたのでどこかに間違って書いたことが残っているかもしれませんが、
学認メタデータのダウンロード設定には EntityRoleWhiteList フィルタがあり、SPのみを抽出
しているため読み込んだメタデータが重複することはありません。
そもそもどうして自身のメタデータを読み込む必要があるの?というところなのですが、
Shibboleth IdP設定ファイルの直前のコメントに書いてあるように、"artifact support"
のために必要とされています。学認ではこの機能を利用していませんので、自分自身の
メタデータを読み込んでいなくても問題ありません。

ローカルフェデレーションでartifactを使う場合など、どうしても自身のメタデータを読み
込みたい場合は、idp-metadata.xmlを用意するしか現状ではなさそうですね。
学認申請システムとローカルファイルの両方でメタデータを管理しなければならなくなり
二度手間になり、できれば避けたいところなのですが。

> のように,ローカルファイルのメタデータと学認のメタデータを両方読み込む設
> 定にしていると,同じ公開鍵を持つ EntityDescriptor が2つ存在してしまうはず
> です.今のところ本学ではトラブルは出ていないのですが,これっていいのかな
> あ‥‥.

同じ公開鍵(証明書)が別のIdP/SPで使われていても問題になることはありません(MicrosoftのADFSを除く)
が、同一のentityIDを持つメタデータが複数あり、かつ中身が異なると問題になる場合
があります。
自身のメタデータということではなく一般論になりますが、例えば、先に出てき
たものか後に出てきたものか、どちらかが優先されるので(*2)、更新し忘れの古い
証明書を参照してしまうと認証連携できないということが起こりえます。

(*)
実は、このファイルを使っているところがもう一つあって、IdPのentityID、
(例えば https://idp.gakunin.nii.ac.jp/idp/shibboleth)
にアクセスして取得できるメタデータはidp-metadata.xmlを参照しています。
(handler.xmlで参照ファイルを宣言しています)
こちらもこの機能を学認では使用しておりませんので言及していませんでしたが、お使い
の方はご注意ください。
この件も含めて、現在、学認メタデータから自身のものを抽出する方法がないか模索中です…

(*2)
SPでは、Chaining MetadataProviderに
	precedence="first" or "last"
と書くことでどちらを使うかを制御できます。が、一方で注意書きとして「同じentityID/role
の重複したメタデータはサポートされない」とあります。よく分かりません…
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataProvider


(2012/06/20 23:32), TSUCHIYA Masatoshi wrote:
> 土屋です.
> 
>>> On Thu, 24 May 2012 14:35:50 +0900
>>> xxxxxxx@xxxxxxxxx (Takeshi NISHIMURA) said as follows:
> 
>>> ところで,以下の※2の部分の手順なのですが,
>>> http://www.gakunin.jp/docs/fed/technical/idp/customize/relying-party の記
>>> 述にしたがって書くと,/opt/shibboleth-idp/metadata/some-metadata.xml の更
>>> 新も必要なのではないかと思うのですが,いかがでしょうか?
> 
>> some-metadata.xmlはバッキングファイル、つまりダウンロード時のバック
>> アップで、メタデータが正常に取得できている状況では参照されることは
>> ありません。
>> また、※2の時点では更新されたメタデータ(証明書2つ)がすでにダウン
>> ロードされているはずですので、更新の必要はないと思われるのですが、
>> いかがでしょうか?
> 
> すみません,間違えました.
> 
> http://www.gakunin.jp/docs/fed/technical/idp/customize/relying-party
> の記述では,コメントアウトされている部分なのですが,
> 
>      <!-- ←自動ダウンロードのメタデータを参照する為、コメントアウト
>      <metadata:MetadataProvider id="IdPMD" xsi:type="metadata:ResourceBackedMetadataProvider">
>          <metadata:MetadataResource xsi:type="resource:FilesystemResource" file="/opt/shibboleth-idp/metadata/idp-metadata.xml"/>
>      </metadata:MetadataProvider>
>      -->
> 
> 当方では,この部分をコメントアウトしていません.というのは,学認に参加す
> る前に,ローカルフェデレーションの IdP として動作を始めたからです.
> 
> そのため,
> 
>      /opt/shibboleth-idp/metadata/idp-metadata.xml
> 
> の内容を修正する必要があるはずだと思ったという話です.
> 
> しかし,よくよく考えてみると,
> 
>      <metadata:MetadataProvider id="IdPMD" xsi:type="metadata:ResourceBackedMetadataProvider">
>          <metadata:MetadataResource xsi:type="resource:FilesystemResource" file="/opt/shibboleth-idp/metadata/idp-metadata.xml"/>
>      </metadata:MetadataProvider>
>      <metadata:MetadataProvider id="URLMD" xsi:type="metadata:FileBackedHTTPMetadataProvider"
>                        metadataURL="https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml"
>                        backingFile="/opt/shibboleth-idp/metadata/some-metadata.xml">
>          <metadata:MetadataFilter xsi:type="metadata:ChainingFilter">
>              <metadata:MetadataFilter xsi:type="metadata:RequiredValidUntil"
>                              maxValidityInterval="1296000" />
>              <metadata:MetadataFilter xsi:type="metadata:SignatureValidation"
>                              trustEngineRef="shibboleth.MetadataTrustEngine"
>                              requireSignedMetadata="true" />
>                  <metadata:MetadataFilter xsi:type="metadata:EntityRoleWhiteList">
>                  <metadata:RetainedRole>samlmd:SPSSODescriptor</metadata:RetainedRole>
>              </metadata:MetadataFilter>
>          </metadata:MetadataFilter>
>      </metadata:MetadataProvider>
> 
> のように,ローカルファイルのメタデータと学認のメタデータを両方読み込む設
> 定にしていると,同じ公開鍵を持つ EntityDescriptor が2つ存在してしまうはず
> です.今のところ本学ではトラブルは出ていないのですが,これっていいのかな
> あ‥‥.

-- 
西村健
国立情報学研究所 TEL:03-4212-2890
# 4月から内線番号が変わりました