attribute-resolver.xml/attribute-filter.xmlの名前空間フラット化への対応手順
以下の手順は学認が提供している各テンプレートをカスタマイズして使っていることを前提としています。
なお、学認が提供しているテンプレートも最新版のattribute-resolver.xmlおよびattribute-filter.xmlはフラット化されておりますので、参考にしていただければと思います。
attribute-resolver.xml/attribute-filter.xmlいずれの場合も、uApproveJPが提供している機能を利用するときの uajpmf: など、Shibboleth IdPパッケージに同梱されていないサードパーティのプラグイン関連のものはフラット化の対象外で、削除することができません。
attribute-resolver.xml
attribute-resolver.xmlについては、以下の手順でお手持ちのattribute-resolver.xmlをフラット化することができます。手順が複雑になっておりますのでご注意ください。
xsi:type="ad:Script"およびxsi:type="dc:Script"が同名になるのを避けるため、それぞれxsi:type="ScriptedAttribute"およびxsi:type="ScriptedDataConnector"に書き換えてください。
また、
xsi:type="Script" ... xmlns="...ad"
もしくは
xsi:type="Script" ... xmlns="...dc"
となっている場合があるため、xsi:type="Script"でも検索し、それぞれxsi:type="ScriptedAttribute"およびxsi:type="ScriptedDataConnector"に書き換えてください。名前空間
resolver:ad:dc:enc:を削除してください。(sec:およびpc:を機械的に削除してはいけません。以降の手順で結果的になくなるはずです。また、xsi:は残してください。)<PrincipalConnector>要素は、要素自体を削除してください。xsi:type="Transient"のものは他にやるべきことはありませんが、他のタイプの
<PrincipalConnector>要素については代替手段を検討してください。
<StartTLSTrustCredential>要素は trustFile="..." で置き換えてください。まだ
sec:もしくはpc:が残っている場合は代替手段を検討してください。ファイル先頭のタグ(
<AttributeResolver>)以外で xmlns="..." が現れる場合はそれも削除してください。また、全てのxmlns:resolver="...",xmlns:ad="...",xmlns:dc="...",xmlns:enc="...",xmlns:sec="...",xmlns:pc="..."を削除してください。
ただし、ファイル先頭のタグ<AttributeResolver>に xmlns="..." が存在しない場合は以下を追加してください。
xmlns="urn:mace:shibboleth:2.0:resolver"
attribute-filter.xml
attribute-filter.xmlについては、以下の手順でお手持ちのattribute-filter.xmlをフラット化することができます。
以下のページにある表に従って
xsi:type="..."の...の部分に現れるタイプ名を置換してください。
https://wiki.shibboleth.net/confluence/display/IDP30/AttributeFilterLegacyNameSpaceMapping名前空間
afp:が使われているところがあれば、単に削除してください。名前空間
afp: basic: saml:が削除されたことを確認してください。xsi:は残してください。サードパーティのプラグインを使用している場合は他の名前空間が使われているかもしれませんが、それも残してください。ファイル先頭のタグ
<AttributeFilterPolicyGroup>に以下を追加してください(元々 xmlns="..." が違う値で存在していれば入れ替えてください)。
xmlns="urn:mace:shibboleth:2.0:afp"ファイル先頭のタグ(
<AttributeFilterPolicyGroup>)以外で xmlns="..." が現れる場合は削除してください。また、全てのxmlns:afp="...",xmlns:basic="...",xmlns:saml="..."を削除してください。蛇足ながら、
<PermitValueRule xsi:type="ANY" />要素をpermitAny="true"属性で置き換え可能ですが、やってもやらなくてもいいです。
関連:
https://wiki.shibboleth.net/confluence/display/IDP30/DeprecatedIdPV4