Page tree

Versions Compared

Key

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

Table of Contents


IdP管理者に必要な情報

学認参加IdPが学認クラウドゲートウェイサービスを利用するために必要な情報をまとめます。学認参加IdPが学認クラウドゲートウェイサービスを利用するためには以下の手順に従って設定を行ってください。

...

2017年2月22日にクラウドゲートウェイ(https//cgp.gakunin.nii.ac.jp/)は新URL「クラウドゲートウェイ (https://cg.gakunin.jp/) 」に移行しました。
移行後も、これまでご利用いただいてきたクラウドゲートウェイのサービスおよびGakuNin mAPで提供されていた機能(学認利用者のグループ作成・管理する機能)については継続して提供されます。

...

学認クラウドゲートウェイサービス (entityID:  https://cg.gakunin.jp/shibboleth-sp

...

まず、学認クラウドゲートウェイサービス (entityID: https://cg.gakunin.jp/shibboleth-sp) に対して以下の属性を送信するようにしてください。 ) に対して以下の属性を送信するようにしてください。

任意
属性名必須 / 任意備考

ePPN (eduPersonPrincipalName)

必須


eduPersonTargetedID

任意


jao

任意

アカウント登録時のユーザ情報「所属(日)」の初期値として使われます。

o

任意jaou

アカウント登録時のユーザ情報「所属(英)」の初期値として使われます。

任意jaDisplayName

ou

任意

jaDisplayName

アカウント登録時のユーザ情報「氏名(日)」の初期値として使われます。

displayName

任意

アカウント登録時のユーザ情報「氏名(英)」の初期値として使われます。

mail

任意

アカウント登録時のユーザ情報「メールアドレス」の初期値として使われます。
eduPersonAffiliation任意

ou/jaou/eduPersonTargetedID/eduPersonAffiliationを除いた任意の各属性は、学認クラウドゲートウェイサービス上でのアカウント登録時にユーザ情報を初期入力するために使用されます。ユーザ情報の「所属」は日本語および英語がそれぞれjaoおよびoに対応します。ユーザ情報の「氏名」は日本語および英語がjaDisplayNameおよびdisplayNameに対応します。

...


eduPersonAffiliationは、faculty/staffであれば当該利用者が管理者となっているグループのメンバーに対する強制入会/属性送信同意強制のオプションが加わります。詳しくはお問い合わせください。staffであれば当該利用者が管理者となっているグループのメンバーに対する招待なし入会・属性送信同意のオプションが加わります。詳しくはお問い合わせください。

学認クラウドゲートウェイサービスへの属性送信の設定例は以下を参照してください。設定例となっていますので、所属機関IdPで送信可能な属性への変更してご利用ください。学認クラウドゲートウェイサービスへの属性送信の設定例は以下を参照してください。設定例となっていますので、所属機関IdPで送信可能な属性へ変更してご利用ください。

Code Block
    <!-- Policy for GakuNin Cloud Gateway Service -->
    <AttributeFilterPolicy id="PolicyforGakuNinCloudGatewayService">
 
        <PolicyRequirementRule xsi:type="Requester" value="https://cg.gakunin.jp/shibboleth-sp" />
 
    <AttributeRule attributeID="eduPersonPrincipalName">
   <AttributeRule attributeID     <PermitValueRule xsi:type="eduPersonPrincipalNameANY" />
    </AttributeRule>

    <AttributeRule attributeID="jao">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>
 
    </AttributeRule>
<AttributeRule attributeID="jaOrganizationName">
        <AttributeRule<PermitValueRule attributeIDxsi:type="jaOrganizationNameANY" />
    </AttributeRule>
 
    <AttributeRule attributeID="o">
        <PermitValueRule xsi:type="ANY" />
        </AttributeRule>

        <AttributeRule attributeID="organizationName">
            <PermitValueRule xsi:type="ANY" />
        </AttributeRule>

        <AttributeRule attributeID="jaDisplayName">
            <PermitValueRule xsi:type="ANY" />
        </AttributeRule>
 
        <AttributeRule attributeID="displayName">
            <PermitValueRule xsi:type="ANY" />
        </AttributeRule>
 
        <AttributeRule attributeID="mail">
            <PermitValueRule xsi:type="ANY" />
        </AttributeRule>
 
    </AttributeFilterPolicy>
Tip

本設定例は学認テンプレートv4およびv3両対応です。
お使いのattribute-resolver.xmlでの定義に応じて attributeID="jao" もしくは attributeID="jaOrganizationName" 、attributeID="o" もしくは attributeID="organizationName" の必要なほうを残してください。

そして、学認クラウドゲートウェイサービスと連携しているサービス(SP)に対しても、必要な属性を送信していないとIdPの利用者は当該サービスが利用できませんのでご注意ください。

...

  1. グループメンバー情報を取得できるようにする
    以下のようにShibboleth SPの設定ファイルを変更してください。動作確認は Shibboleth SP 2.6 で行っています。
    1. 学認クラウドゲートウェイサービス (IdP)のメタデータを次のリンクから取得して /etc/shibboleth/metadata/ に保存してください。
      cgidp-metadata.xml

      Warning

      2017年2月22日以前に設定されたかたは、アクセス先が変わっておりますので、最新のメタデータを用いてください。

      Panel

          <ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/>

          <TransportOption provider="CURL" option="81">0</TransportOption>
      </SPConfig>

      なお、メタデータ取得時のサーバ証明書検証(初期値ではいずれにしろ不完全です)については以下でご案内しておりますので、もし設定がまだのようであれば別途ご検討いただければと思います。
      shibboleth2.xml ファイル の<TransportOption>の3行

    2. shibboleth2.xmlの編集
      /etc/shibboleth/shibboleth2.xml を編集します。
      • 学認クラウドゲートウェイサービス (IdP)メタデータの読み込み
        a.でダウンロードしたメタデータを読み込むように設定します。他の<MetadataProvider>の後に下記を追加してください。

        Code Block
        xml
        xml
        <MetadataProvider type="XML" filepath="/etc/shibboleth/metadata/cgidp-metadata.xml"/>
      • SimpleAggregationの追加
        通常の認証フローの後にeppnを手がかりとして学認クラウドゲートウェイサービス (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<Entity>https://cg.gakunin.jp/idp/shibboleth <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>
        
    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"/>
      
    4. attribute-policy.xmlの編集
      他のIdPからのisMemberOf属性を拒否し、学認クラウドゲートウェイサービスからのisMemberOfのみを利用する設定を行ないます。

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

      の直前に以下の記述を追加してください。

      Code Block
      xml
      xml
      <afp:AttributeRule<AttributeRule attributeID="isMemberOf">
          <afp:PermitValueRule<PermitValueRule xsi:type="AttributeIssuerStringIssuer"
              value="https://cg.gakunin.jp/idp/shibboleth"/>
      </afp:AttributeRule>
      

      .

  2. 取得した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コネクタの設定で「グループ情報も取得する」を選択した場合のみ取得できます。

    Expand
    title旧形式への対応
    Tip

    取得したisMemberOf属性のホスト部をチェックしているプラグインを使用している等で属性値が https://map.gakunin.nii.ac.jp/gr/... でないと支障がある場合は、shibboleth2.xmlに以下2箇所を追加してください。

    1. 既存の<ApplicationDefaults> より前に記述を追加。

      Code Block
           <OutOfProcess>
               <Extensions>
                   <Library path="plugins.so" fatal="true"/>
               </Extensions>
           </OutOfProcess>
      
    2. 既存の<AttributeResolver> の後に記述を追加。

      Code Block
               <AttributeResolver type="Transform" source="isMemberOf">
                   <Regex match="^https://cg.gakunin.jp/gr/(.+)$">https://map.gakunin.nii.ac.jp/gr/$1</Regex>
               </AttributeResolver>
  3. SPに対応するSPコネクタを作成する

    Notewarning

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

    あなたが学認申請システムでSP管理者として申請し、かつePPNを登録している場合はSPコネクタを作成する権限を与えられているはずです。そうでない場合は Image Removed までお問い合わせください。
    SPコネクタ作成の詳細は、mAP利用マニュアルの「

    本項目の操作には適切に権限が付与されている必要があります。権限付与を希望する学認参加SPの運用担当者の方は学認クラウドゲートウェイサービスのページ下にある「問い合わせ先」(要ログイン)からサービスサポートまでご連絡ください。

    グループの接続先となるSPコネクタを作成します。グループが当該SPコネクタに接続した場合のみSPはそのグループに関する情報を取得できます。SPコネクタ作成の詳細は、mAP利用マニュアルの「SPコネクタを作成する」の章をご参照ください。
    .

API

連携するSPが利用できる、利用者のグループ情報等を取得するためのAPIを以下に示します。
API

...