Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

IdP管理者に必要な情報

学認参加IdPがGakuNin mAPを利用するために必要な情報をまとめます。

まず、GakuNin mAP (entityID: https://map.gakunin.nii.ac.jp/shibboleth-sp) に対して以下の属性を送信するようにしてください。

ePPN

必須

jao

任意

o

任意

jaDisplayName

任意

displayName

任意

mail

任意

任意の各属性は、GakuNin mAP上でのアカウント登録時にユーザ情報を初期入力するために使用されます。ユーザ情報の「所属」はjaoが優先されjaoが送信されない場合oが使用されます。ユーザ情報の「氏名」はjaDisplayNameが優先されjaDisplayNameが送信されない場合displayNameが使用されます。

そして、GakuNin mAPと連携しているサービス(SP)に対しても、必要な属性を送信していないとIdPの利用者は当該サービスが利用できません。

SP管理者に必要な情報

SP管理者が提供しているサービスをGakuNin mAPと連携させるためには以下の手順に従って設定を行ってください。

以下の手順でisMemberOf属性を取得するためにはあらかじめIdPからeduPersonPrincipalName(ePPN)を取得していなければなりません。
この制限はmAPの次期バージョンで緩和される予定です。

  1. グループメンバー情報を取得できるようにする
    以下のようにShibboleth SPの設定ファイルを変更してください。動作確認は Shibboleth SP 2.4 で行っています。
    1. GakuNin mAP (IdP)のメタデータを次のリンクから取得して /etc/shibboleth/metadata/ に保存してください。
      gakuninmap-idp-metadata.xml
    2. shibboleth2.xmlの編集
      /etc/shibboleth/shibboleth2.xml を編集します。
      • GakuNin mAP (IdP)メタデータの読み込み
        a.でダウンロードしたメタデータを読み込むように設定します。他の<MetadataProvider>の後に下記を追加してください。
        <MetadataProvider type="XML" file="/etc/shibboleth/metadata/gakuninmap-idp-metadata.xml"/>
        
      • SimpleAggregationの追加
        通常の認証フローの後にeppnを手がかりとしてGakuNin mAP (IdP)からisMemberOf属性を取得するよう、SimpleAggregation設定を行います。
        既存の<AttributeResolver>の後に以下の記述を追加します。
        <AttributeResolver type="SimpleAggregation" attributeId="eppn" format="urn:oid:1.3.6.1.4.1.5923.1.1.1.6">
            <Entity> https://map.gakunin.nii.ac.jp/idp/shibboleth </Entity>
            <Attribute 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>
        
    3. attribute-map.xmlの編集
      /etc/shibboleth/attribute-map.xmlにisMemberOf属性の設定を行います。
      最後の</Attributes>の直前に、以下の記述を追加してください。
      <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.5.1.1" id="isMemberOf"/>
      

      以前の版では以下の行も含めるように書いておりましたが、標準に準拠しておりませんのでこの記述は削除してください。

      <Attribute name="urn:mace:dir:attribute-def:isMemberOf" id="isMemberOf"/>
      
    4. attribute-policy.xmlの編集
      他のIdPからのisMemberOf属性を拒否し、GakuNin mAPからのisMemberOfのみを利用する設定を行ないます。

      <!-- Catch-all that pases everything else through unmolested. -->

      の直前に以下の記述を追加してください。
      <afp:AttributeRule attributeID="isMemberOf">
          <afp:PermitValueRule xsi:type="AttributeIssuerString"
              value="https://map.gakunin.nii.ac.jp/idp/shibboleth"/>
      </afp:AttributeRule>
      
      .
  2. 取得したisMemberOf属性を利用するようにサービスを変更する
    例えば、isMemberOf属性には下記のような値が入ります。全てURI形式です。

    https://map.gakunin.nii.ac.jp/sp/SPCID ← SPコネクタ名
    https://map.gakunin.nii.ac.jp/gr/GROUPID ← ユーザが参加しているグループ名
    https://map.gakunin.nii.ac.jp/gr/GROUPID/admin ← ユーザが当該グループの管理者の場合

    後者2つは、SPコネクタの設定で「グループ情報も取得する」を選択した場合のみ取得できます。
    .
  3. SPに対応するSPコネクタを作成する

以下の機能はまだ実装されておりませんので、権限が必要な方はお手数ですが下記メールアドレスまでご一報ください。

あなたが学認申請システムでSP管理者として申請し、かつePPNを登録している場合はSPコネクタを作成する権限を与えられているはずです。そうでない場合は までお問い合わせください。
SPコネクタ作成の詳細は「SPコネクタ」の章をご参照ください。
.

SP連携のトラブルシューティング

1. isMemberOf属性が取得できない

SP側の設定ファイルshibboleth2.xmlにて、ApplicationDefaultsに signing="true" encryption="true" と指定されている場合、isMemberOf属性が取得できないようです。詳細は調査中ですが、このような状況になった場合は上記指定を外して試してみてください。

  • No labels