...
- グループメンバー情報を取得できるようにする
以下のようにShibboleth SPの設定ファイルを変更してください。動作確認は Shibboleth SP 2.6 で行っています。学認クラウドゲートウェイサービス (IdP)のメタデータを次のリンクから取得して /etc/shibboleth/metadata/ に保存してください。
cgidp-metadata.xml警告 2017年2月22日以前に設定されたかたは、アクセス先が変わっておりますので、最新のメタデータを用いてください。
以前、Gakunin mAP連携のためにshibboleth2.xmlに以下の1行を追加している場合は 削除 してください。
パネル <ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/>
<TransportOption provider="CURL" option="81">0</TransportOption>
</SPConfig>なお、メタデータ取得時のサーバ証明書検証(初期値ではいずれにしろ不完全です)については以下でご案内しておりますので、もし設定がまだのようであれば別途ご検討いただければと思います。
shibboleth2.xml ファイル の<TransportOption>の3行- shibboleth2.xmlの編集
/etc/shibboleth/shibboleth2.xml を編集します。学認クラウドゲートウェイサービス (IdP)メタデータの読み込み
a.でダウンロードしたメタデータを読み込むように設定します。他の<MetadataProvider>の後に下記を追加してください。コード ブロック xml xml <MetadataProvider type="XML" path="/etc/shibboleth/metadata/cgidp-metadata.xml"/>
SimpleAggregationの追加
通常の認証フローの後にeppnを手がかりとして学認クラウドゲートウェイサービス (IdP)からisMemberOf属性を取得するよう、SimpleAggregation設定を行います。
既存の<AttributeResolver>の後に以下の記述を追加します。コード ブロック xml xml <AttributeResolver type="SimpleAggregation" attributeId="eppn" format="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"> <Entity>https://cg.gakunin.jp/idp/shibboleth</Entity> <saml2:Attribute xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Name="urn:oid:1.3.6.1.4.1.5923.1.5.1.1" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" FriendlyName="isMemberOf"/> </AttributeResolver>
attribute-map.xmlの編集
/etc/shibboleth/attribute-map.xmlにてisMemberOf属性の設定を確認します。
以下の記述がない場合、最終行の</Attributes>の直前に追加してください。コード ブロック xml xml <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.5.1.1" id="isMemberOf"/>
- attribute-policy.xmlの編集
他のIdPからのisMemberOf属性を拒否し、学認クラウドゲートウェイサービスからのisMemberOfのみを利用する設定を行ないます。<!-- Catch-all that pases everything else through unmolested. -->
の直前に以下の記述を追加してください。
コード ブロック xml xml <AttributeRule attributeID="isMemberOf" xmlns="urn:mace:shibboleth:2.0:afp"> <PermitValueRule xsi:type="Issuer" value="https://cg.gakunin.jp/idp/shibboleth"/> </AttributeRule>
.
- 取得したisMemberOf属性を利用するようにサービスを変更する
例えば、isMemberOf属性には下記のような値が入ります。全てURI形式です。https://cg.gakunin.jp/sp/SPCID ← SPコネクタ名
https://cg.gakunin.jp/gr/GROUPID ← ユーザが参加しているグループ名
https://cg.gakunin.jp/gr/GROUPID/admin ← ユーザが当該グループの管理者の場合後者2つは、SPコネクタの設定で「グループ情報も取得する」を選択した場合のみ取得できます。
展開 title 旧形式への対応 ヒント 取得したisMemberOf属性のホスト部をチェックしているプラグインを使用している等で属性値が
https://map.gakunin.nii.ac.jp/gr/...
でないと支障がある場合は、shibboleth2.xmlに以下2箇所を追加してください。既存の<ApplicationDefaults> より前に記述を追加。
コード ブロック <OutOfProcess> <Extensions> <Library path="plugins.so" fatal="true"/> </Extensions> </OutOfProcess>
既存の<AttributeResolver> の後に記述を追加。
コード ブロック <AttributeResolver type="Transform" source="isMemberOf"> <Regex match="^https://cg.gakunin.jp/gr/(.+)$">https://map.gakunin.nii.ac.jp/gr/$1</Regex> </AttributeResolver>
SPに対応するSPコネクタを作成する
警告 本項目の操作には適切に権限が付与されている必要があります。権限付与を希望する学認参加SPの運用担当者の方は学認クラウドゲートウェイサービスのページ下にある「問い合わせ先」(要ログイン)からサービスサポートまでご連絡ください。
グループの接続先となるSPコネクタを作成します。グループが当該SPコネクタに接続した場合のみSPはそのグループに関する情報を取得できます。SPコネクタ作成の詳細は、mAP利用マニュアルの「SPコネクタを作成する」の章をご参照ください。
.
...