比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

SP側shibboleth2.xmlとIdP側relying-party.xmlを編集し、   xmlを編集し、  以下のように設定します。 

  1. SPは、DSを経由せず、特定のIdPのみ信頼する
  2. IdPは、特定のSPのみ信頼する

ように設定します。

 

...

shibboleth2.xmlの設定

IdPのメタデータを別途取得している場合はそのメタデータファイルを用いてください。そうでない場合は以下の手順に従ってIdPメタデータを取得してください。

  • 学認申請システム(テストFed)で承認済みのIdPを利用する場合、ログインして該当IdPの詳細画面で「以下の内容のエンティティメタデータを取得」ボタンでメタデータを取得します。
  • 学認申請システム(テストFed)に参加していない場合でも、申請システムを用いてIdPメタデータを取得できます。

学認申請システムにアクセスして、「新規IdP申請」をクリックします。

○右側の入力に以下の必須情報を入力します。
        entityID → 指定するIdPのentityID。 例: https://idp.example.ac.jp/idp/shibboleth
        機関名称 → 入力例: フェデレーション大学 / The University of Federation
        スコープ → SPがIdPを識別するための情報。 例: nii.ac.jp
        証明書 → IdPの証明書をファイルで指定するか、もしくは MII… で始まる中身を貼り付けます。
        IdP名称 → 他のIdP/SPと区別できる名称。
        機関情報URL → IdP運用機関のウェブサイトURL。
        連絡先 → 種別は「技術的問い合せ先(technical)」を選択して連絡先を入力してください。

○入力後、申請せずに、「以下の内容でエンティティメタデータ生成」をクリックしてください。当該IdPのメタデータが生成されます。

  • 取得したIdPのメタデータをSPの/etc/shibboleth/ に配置します。配置したIdPのメタデータファイルを直接参照し、フェデレーションのメタデータ設定を外します。
パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

    (省略)

        <!--
        Allows overriding of error template information/filenames. You can
        also add attributes with values that can be plugged into the templates.
        -->
        <Errors supportContact="root@localhost"
            helpLocation="/about.html"
            styleSheet="/shibboleth-sp/main.css"/>

        <!-- Example of remotely supplied batch of signed metadata. -->
        <!-- コメントアウト
        <MetadataProvider type="XML" uri="https://ex-ds.ecloud.nii.ac.jp/fed/ex-fed-metadata.xml"
             backingFilePath="federation-metadata.xml" reloadInterval="7200">
            <MetadataFilter type="RequireValidUntil" maxValidityInterval="1296000"/>
            <MetadataFilter type="Signature" certificate="/etc/shibboleth/cert/gakunin-signer-2010.cer"/>
        </MetadataProvider>
        コメントアウト -->

        <!-- Example of locally maintained metadata. -->
        <!-- コメントアウト解除 -->
        <MetadataProvider type="XML" file="メタデータファイル名"/>
        <!-- コメントアウト解除 -->

    (省略)

 

  • 認証要求先のIdPを設定し、DSの参照設定を無効にします。どのIdPに認証要求を行うか設定し、DSの参照設定を無効にする。
パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

    (省略)


         <Sessions lifetime="28800" timeout="3600" relayState="ss:mem"
                   checkAddress="false" handlerSSL="false" cookieProps="http">

             <!--
             Configures SSO for a default IdP. To allow for >1 IdP, remove
             entityID property and adjust discoveryURL to point to discovery service.
             (Set discoveryProtocol to "WAYF" for legacy Shibboleth WAYF support.)
             You can also override entityID on /Login query string, or in RequestMap/htaccess.
             -->
            <SSO entityID="https://test-idp1.gakunin.nii.ac.jp/idp/shibboleth"
                                      ↑IdPを設定(metadataに設定されているentityID) 
                 discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
              SAML2 SAML1
            </SSO>
   (省略)
            <!-- Session diagnostic service. -->
            <Handler type="Session" Location="/Session" showAttributeValues="false"/>

            <!-- JSON feed of discovery information. -->
            <Handler type="DiscoveryFeed" Location="/DiscoFeed"/>
<!-- JSON feed of discovery information. --> <Handler type="DiscoveryFeed" Location="/DiscoFeed"/> <SessionInitiator type="Chaining" Location="/DS" isDefault="false" id="DS"> ↑DSの参照設定をtrue → falseに変更 <SessionInitiator type="SAML2" template="bindingTemplate.html"/> <SessionInitiator type="Shib1"/> <SessionInitiator type="SAMLDS" URL="https://test-ds.gakunin.nii.ac.jp/WAYF"/> </SessionInitiator> </Sessions>
   (省略)

 ※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。 

  • フェデレーションのメタデータ設定を外し、指定するSPのメタデータpartner-metadata.xmlを設置します。

...

borderColor#cccccc
bgColor#eeeeee
borderStylesolid

...

 

...

...


...

 

  • IdPのメタデータを別途取得している場合はそのメタデータファイルを用いてください。そうでない場合は、以下の手順に従ってIdPメタデータを切り出します。
  • メタデータpartner-metadata.xmlを編集します。

メタデータ /var/cache/shibboleth/federation-metadata.xml を /etc/shibboleth/partner-metadata.xml にコピーします。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
cp /var/cache/shibboleth/federation-metadata.xml /etc/shibboleth/partner-metadata.xml 

 partner-metadata.xml中の指定したIdPの記述以外のサーバ内容を全て削除します。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<EntitiesDescriptor ...
   (省略)

<!-- IdP: Your Organization Name, Your IdP Site URL, Date -->
↑最初のこの記述から指定したIdPで検索し、場所を特定します

   (省略)

    <EntityDescriptor entityID="https://test-idp1.gakunin.nii.ac.jp/idp/shibboleth">
        <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol
                                                      urn:mace:shibboleth:1.0 
                                                      urn:oasis:names:tc:SAML:2.0:protocol">
           <Extensions>
               <shibmd:Scope xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" regexp="false">.nii.ac.jp</shibmd:Scope>
                <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
                    <mdui:Keywords xml:lang="en">category:location:seito</mdui:Keywords>
                </mdui:UIInfo>
           </Extensions>
           <KeyDescriptor>
               <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                   <ds:X509Data>
                       <ds:X509Certificate>
MIIE5zCCA8+gAwIBAgIISYxA1Yv0Z2IwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UE
BhMCSlAxETAPBgNVBAcTCEFjYWRlbWUyMSowKAYDVQQKEyFOYXRpb25hbCBJbnN0
aXR1dGUgb2YgSW5mb3JtYXRpY3MxDTALBgNVBAsTBFVQS0kxIDAeBgNVBAsTF05J
SSBPcGVuIERvbWFpbiBDQSAtIEcyMB4XDTEyMDMyNjAyMDIxNVoXDTE0MDQyNTAy

   (省略)

            <KeyDescriptor <
                <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#" >
                    <ds:X509Data >
                        <ds:X509Certificate >
MIIE5zCCA8+gAwIBAgIISYxA1Yv0Z2IwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UE
BhMCSlAxETAPBgNVBAcTCEFjYWRlbWUyMSowKAYDVQQKEyFOYXRpb25hbCBJbnN0
aXR1dGUgb2YgSW5mb3JtYXRpY3MxDTALBgNVBAsTBFVQS0kxIDAeBgNVBAsTF05J
SSBPcGVuIERvbWFpbiBDQSAtIEcyMB4XDTEyMDMyNjAyMDIxNVoXDTE0MDQyNTAy

   (省略)

       <ContactPerson contactType="technical">
           <GivenName>Your GivenName</GivenName>
           <SurName>Your SurName</SurName>
           <EmailAddress>admin@example.org</EmailAddress>
       </ContactPerson>

   </EntityDescriptor>

<!-- IdP: Your Organization Name, Your IdP Site URL, Date -->


</EntitiesDescriptor>     <--消さないように注意

 設定変更後、httpdとshibdを再起動します。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
service httpd restart
service shibd restart

...

  • 学認申請システム(テストFed)に参加していない場合でも、申請システムを用いてSPメタデータを取得できます。    

学認申請システムにアクセスして、「新規SP申請」をクリックしますにアクセスして、「新規SP申請」をクリックします。

○右側の入力に以下の必須情報を入力します。
        entityID → 指定するSPのentityID。 例: https://idpsp.example.ac.jp/idp/shibboleth-sp
        機関名称 → 入力例: フェデレーション大学 / The University of Federation
        証明書 → SPの証明書をファイルで指定するか、もしくは MII… で始まる中身を貼り付けます。
        DSからのリターンURL → DSからの戻り先となるURL。例DSからの戻り先となるURL。: https://sp.example.ac.jp/Shibboleth.sso/DS
        SP名称 → 他のIdP/SPと区別できる名称。
        機関情報URL → SP運用機関のウェブサイトURL。
        連絡先 → 種別は「技術的問い合せ先(technical)」を選択して連絡先を入力してください。

○入力後、申請せずに、「以下の内容でエンティティメタデータ生成」をクリックしてください。当該SPのメタデータが生成されます。

       
  • 取得したSPのメタデータをIdP側に設置します。SPのメタデータファイルを 取得したSPのメタデータをIdPの /opt/shibboleth-idp/metadata/ に配置し、フェデレーションのメタデータ設定を外します。 に配置します。配置したSPのメタデータファイルを直接参照し、フェデレーションのメタデータ設定を外します。
パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
「Metadata Configuration」を検索し、場所を特定してください。

     <!--  -->  コメントアウトを解除、メタデータの場所を設定
         <metadata:MetadataProvider id="IdPMD" xsi:type="metadata:ResourceBackedMetadataProvider">
             <metadata:MetadataResource xsi:type="resource:FilesystemResource" 
                                        file="/opt/shibboleth-idp/metadata/メタデータファイル名"/>
         </metadata:MetadataProvider>
         <!-- -->  コメントアウトを解除
          (省略)

フェデレーションのメタデータ設定をコメントアウトします。  
 <!-- コメントアウト
         <metadata:MetadataProvider id="URLMD" xsi:type="metadata:FileBackedHTTPMetadataProvider"
                          metadataURL="https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml"
                          backingFile="/opt/shibboleth-idp/metadata/some-metadata.xml">
             <metadata:MetadataFilter xsi:type="metadata:ChainingFilter">
                 <metadata:MetadataFilter xsi:type="metadata:RequiredValidUntil"
                                maxValidityInterval="P15D" />
                 <metadata:MetadataFilter xsi:type="metadata:SignatureValidation"
                                trustEngineRef="shibboleth.MetadataTrustEngine"
                                requireSignedMetadata="true" />
                     <metadata:MetadataFilter xsi:type="metadata:EntityRoleWhiteList">
                     <metadata:RetainedRole>samlmd:SPSSODescriptor&g\lt;/metadata:RetainedRole>
                 </metadata:MetadataFilter>
             </metadata:MetadataFilter>
         </metadata:MetadataProvider>
--> コメントアウト

...