Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

以下の手順でisMemberOf属性を取得するためにはあらかじめIdPからeduPersonPrincipalName(ePPN)を取得していなければなりません。
この制限はmAPの次期バージョンで緩和される予定です。 この制限は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>の後に下記を追加してください。
        Code Block
        xml
        xml
        <MetadataProvider type="XML" file="/etc/shibboleth/metadata/gakuninmap-idp-metadata.xml"/>
        
      • SimpleAggregationの追加
        通常の認証フローの後にeppnを手がかりとしてGakuNin mAP (IdP)からisMemberOf属性を取得するよう、SimpleAggregation設定を行います。
        既存の<AttributeResolver>の後に以下の記述を追加します。
        Code Block
        xml
        xml
        <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>の直前に、以下の記述を追加してください。
      Code Block
      xml
      xml
      <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.5.1.1" id="isMemberOf"/>
      
      Info

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

      Code Block
      xml
      xml
      <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. - ->

      の直前に以下の記述を追加してください。
      Code Block
      xml
      xml
      <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コネクタを作成する

...