...
$IDP_HOME$
は実際のパス (例: /opt/shibboleth-idp
) にしてください(その結果、値全体は file:/opt/shibboleth-idp/conf/uApprove.properties
のようになります)。
正しいIdPのメタデータを$IDP_HOME$/metadata/idp-metadata.xmlに配置してください。そのうえで
$IDP_HOME$/metadata/idp-metadata.xml
を読み込むように$IDP_HOME$/conf/relying-party.xml
を編集します:
...
デプロイされている uApprove.jp-2.2.1 を削除します。
設定ファイルは新しい設定ファイルを使用し、カスタマイズします。
ヒント 新しいToUはカスタマイズ可能なHTMLファイルであり、uApprove.jp 2.2.1 の ToU XML からプレーンな HTML ファイルにコピーするだけで使用できます。
uajpmf:AttributeUapprove
マッチングルールは使用できません。uajpmf:AttributeInMetadata
を使用したルールに書き換えてください。4.7 AttributeInMetadataマッチングルールを参照してください。展開 title 書き換えのヒント... ヒント メタデータに
<RequstedAttribute>
として宣言されている属性はisRequired
属性に従い、true
の場合は必須、false
の場合はオプショナルに、<RequstedAttribute>
として宣言されてない属性およびそもそもメタデータに<AttributeConsumingService>
がない場合は非表示とするルールは下記の通り書き換えできます。uApprove.jp 2.2.1 uApprove JP 2.5.0 <PermitValueRule xsi:type="uajpmf:AttributeUapprove"
isApproved="true" requestedOnly="true" />⇒ <PermitValueRule xsi<PermitValueRule xsi:type="uajpmf:AttributeInMetadata" onlyIfChecked="true"
onlyIfRequired="false" matchIfMetadataSilent="false" />
メタデータに <RequstedAttribute>
として宣言されている属性はisRequired
属性に従い、true
の場合は必須、false
の場合はオプショナルに、メタデータに<AttributeConsumingService>
がない場合もオプショナルとするルールは下記の通り書き換えできます。ただし、メタデータに<AttributeConsumingService>
があるがその中で<RequstedAttribute>
として宣言されていない属性は、uajpmf:AttributeUapprove
ではオプショナルとなりますがuajpmf:AttributeInMetadata
では非表示となります。uApprove.jp 2.2.1 uApprove JP 2.5.0 <PermitValueRule xsi:type="uajpmf:AttributeUapprove"
isApproved="true" requestedOnly="false" />⇒ <PermitValueRule xsi<PermitValueRule xsi:type="uajpmf:AttributeInMetadata" onlyIfChecked="true"
onlyIfRequired="false" matchIfMetadataSilent="true" />
メタデータに
<AttributeConsumingService>
が含まれる場合に適用するポリシーは一対一の書き換えができないため、<PolicyRequirementRule>
は<basic:ANY>
として、各ルールでは<AttributeConsumingService>
が含まれない場合の挙動も考慮しmatchIfMetadataSilent
に反映させてください。uApprove.jp 2.2.1 uApprove JP 2.5.0 <PolicyRequirementRule xsi<PolicyRequirementRule xsi:type="uajpmf:AttributeUapprove" />
⇒ <PolicyRequirementRule xsi<PolicyRequirementRule xsi:type="basic:ANY" />
<PermitValueRule xsi:type="uajpmf:AttributeUapprove"
isApproved="true" requestedOnly="false" />
かつ他のルールで
が含まれない場合に非表示としている場合<AttributeConsumingService>
⇒ <PermitValueRule xsi<PermitValueRule xsi:type="uajpmf:AttributeInMetadata" onlyIfChecked="true"
onlyIfRequired="false" matchIfMetadataSilent="false" />
※ただし2.の場合と同じく、<AttributeConsumingService>
が存在しかつ同要素中に<RequstedAttribute>
として宣言されていない属性に対する挙動が変化する(オプショナル→非表示)ことにご注意ください。<PermitValueRule xsi:type="uajpmf:AttributeUapprove"
かつ他のルールで
isApproved="true" requestedOnly="true" />
が含まれない場合に非表示としている場合<AttributeConsumingService>
⇒ <PermitValueRule xsi<PermitValueRule xsi:type="uajpmf:AttributeInMetadata" onlyIfChecked="true"
onlyIfRequired="false" matchIfMetadataSilent="false" />
<PermitValueRule xsi:type="uajpmf:AttributeUapprove"
かつ他のルールで
isApproved="true" requestedOnly="true" /><AttributeConsumingService>
⇒ <PermitValueRule xsi<PermitValueRule xsi:type="uajpmf:AttributeInMetadata" onlyIfChecked="true"
onlyIfRequired="false" matchIfMetadataSilent="true" />
<PermitValueRule xsi:type="uajpmf:AttributeUapprove"
かつ他のルールで
isApproved="true" requestedOnly="true" /><AttributeConsumingService>
⇒ <PermitValueRule xsi<PermitValueRule xsi:type="uajpmf:AttributeInMetadata" onlyIfChecked="false"
onlyIfRequired="false" matchIfMetadataSilent="true" />
※ただしisRequired="false"
の属性に対する挙動が変化する(オプショナル→必須)ことにご注意ください。
※上記の場合の挙動を非表示にするにはonlyIfRequied="true" としてください。
情報 上記表の斜体の属性はデフォルト値であるため実際の設定では記載していないことが多い。
...
- ルート
<AttributeFilterPolicyGroup>
のxmlns:xsi
属性の前にxmlns:uajpmf="http://www.gakunin.jp/ns/uapprove-jp/afp/mf"
属性を追加します。 xsi:schemaLocation
属性のホワイトスペースで区切られた値のリストの最後に以下を追加します:http://www.gakunin.jp/ns/uapprove-jp/afp/mf classpath:/schema/shibboleth-2.0-afp-mf-uapprovejp.xsd
ルールの定義
このルールは <PermitValueRule xsi:type="uajpmf:AttributeInMetadata">
のように記述します。以下のオプショナルな属性を使用できます:
...
<ProfileHandlerGroup>
ルートのxmlns:xsi
属性の前に 属性の前にxmlns:uajpph="http://www.gakunin.jp/ns/uapprove-jp/profile-handler"
属性を追加xsi:schemaLocation
属性の値のリストの最後に下記を追加
http://www.gakunin.jp/ns/uapprove-jp/profile-handler classpath:/schema/shibboleth-2.0-idp-profile-handler-uapprovejp.xsd
コード ブロック | ||
---|---|---|
| ||
... <ph:ProfileHandlerGroup xmlns:ph="urn:mace:shibboleth:2.0:idp:profile-handler" xmlns:uajpph="http://www.gakunin.jp/ns/uapprove-jp/profile-handler" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mace:shibboleth:2.0:idp:profile-handler classpath:/schema/shibboleth-2.0-idp-profile-handler.xsd http://www.gakunin.jp/ns/uapprove-jp/profile-handler classpath:/schema/shibboleth-2.0-idp-profile-handler-uapprovejp.xsd"> ... |
...
Attribute Query プロファイルハンドラを変更する必要があります。以下のように行います:
xsi:type
属性の値をph:SAML1AttributeQuery
からuajpph:SAML1AttributeQueryUApprove
に変更xsi:type
属性の値をph:SAML2AttributeQuery
からuajpph:SAML2AttributeQueryUApprove
に変更
...
属性使用用途通知機能は、 <RequestedAttribute>
に uajpmd:description
属性を追加する、または、 <SPSSODescriptor>
の <Extensions>
に <uajpmd:RequestedAttributeExtension>
を追加することで利用できます。
...
この属性は <ResquestedAttribute>
にて定義します:
uajpmd:description | 属性の使用用途の文字列です。 |
uajpmd:descrption
を使用した <RequestedAttribute>
の設定例:
...
<uajpmd:Description>
には属性の使用用途を記述します。<uajpmd:RequestedAttributeExtension>
は以下の必須属性と共に設定します:
xml:lang | 属性の使用用途の言語です。 |
<uajpmd:RequestedAttributeExtension>
の設定例:
...