比較バージョン

キー

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

...

本技術ガイドでは、フェデレーションに参加して連携する設定を説明していますが、ここでは、所属機関内のみで使用するSPを構築した場合など、特定のIdP・特定のSPの間でのみ連携する設定に変更する方法を説明します。

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

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

 


...

shibboleth2.xmlの設定

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

情報

もしIdPが学認の運用フェデレーションに参加している場合は、代わりに学認メタデータからIdPメタデータを自動抽出して利用することもできます。詳しくは以下をご参照ください。
GakuNinShare:設定・運用・カスタマイズ#メタデータ中の特定のIdPのみ利用を許可する方法

この設定を行った場合、DSの参照設定無効化から続きを実行してください。


  • テストフェデレーションに登録済みのIdPを利用する場合、学認申請システム(テストfed)にログインして該当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.
        Example of locally maintained metadata. -->

        <!-- コメントアウト解除 -->
 
      <Errors supportContact      <MetadataProvider type="root@localhost"
            helpLocation="/about.html"
            styleSheet="/shibboleth-sp/main.css"/XML" validate="true" path="メタデータファイル名"/>
        <!-- コメントアウト解除 -->

        <!-- Example of remotely supplied batch of signed metadata. -->
        <!-- コメントアウト

              <MetadataProvider type="XML" uri" validate="true"
                 url="https://ex-dsmetadata.ecloudgakunin.nii.ac.jp/fed/ex-fedgakunin-metadata.xml"
                 backingFilePath="federation-metadata.xml" reloadIntervalmaxRefreshDelay="7200">
            <MetadataFilter      <MetadataFilter type="RequireValidUntil" maxValidityInterval="1296000"/>
            <MetadataFilter      <MetadataFilter type="Signature" certificate="/etc/shibboleth/cert/gakunin-signer-20102017.cer" verifyBackup="false"/>
        </MetadataProvider>
        コメントアウト -->
        <!-- Example of locally maintained metadata. -->
        <!-- コメントアウト解除 -->
        <MetadataProvider type="XML" file="メタデータファイル名"/>
        <!-- コメントアウト解除 -->
    (省略)

...

     <DiscoveryFilter type="Exclude" matcher="EntityAttributes" trimTags="true"
              attributeName="http://macedir.org/entity-category"
              attributeNameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
              attributeValue="http://refeds.org/category/hide-from-discovery" />
           <TransportOption provider="CURL" option="64">1</TransportOption>
           <TransportOption provider="CURL" option="81">2</TransportOption>
           <TransportOption provider="CURL" option="10065">/etc/pki/tls/certs/ca-bundle.crt</TransportOption>
        </MetadataProvider>

        コメントアウト -->

    (省略)


  • 認証要求先の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)
                 disiscoveryProtocoldiscoveryProtocol="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"/>

            <!-- コメントアウト
            <SessionInitiator type="Chaining" Location="/DS" isDefault="true " id="DS">
                <SessionInitiator type="SAML2" template="bindingTemplate.html"/>
                <SessionInitiator type="Shib1"/>
                <SessionInitiator type="SAMLDS" URL="https://test-ds.gakunin.nii.ac.jp/WAYF"/>
            </SessionInitiator>
            コメントアウト -->
        </Sessions>


   (省略)

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
systemctl restart httpd
systemctl restart shibd
展開
titleCentOS 6の場合
パネル
service httpd restart

service shibd restart

...


※DSを経由する設定にshibboleth2.xmlを戻したい場合は、こちらを参照してください。

 

...



metadata-

...

providers.xmlの設定

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

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

    (省略)

 

  <!-- ========================================== -->
    <!--      Metadata Configuration                -->
    <!-- ========================================== -->
    <!-- MetadataProvider the combining other MetadataProviders -->
    <metadata:MetadataProvider id="ShibbolethMetadata" xsi:type="metadata:ChainingMetadataProvider">
        <!-- Load the IdP's own metadata.  This is necessary for artifact support. -->
        <!--  
        <metadata:MetadataProvider id="IdPMD" xsi:type="metadata:FilesystemMetadataProvider

  The EntityRoleWhiteList saves memory by only loading metadata from entity types
    that you will interoperate with.
-->
<!-- ← 学認メタデータの自動ダウンロードを使用しないのでコメントアウト
<MetadataProvider id="HTTPMetadata"
                  xsi:type="FileBackedHTTPMetadataProvider"
         

                         metadataFile

        backingFile="

/opt/shibboleth-idp

%{idp.home}/metadata/

idp

gakunin-metadata-backing.xml

"
                                   maxRefreshDelay="P1D

"

/>
        -->


       

<!-- Example metadata provider. -->

       

<!-- Reads metadata from a URL and store a backup copy on the file system. -->
        <!-- Validates the signature of the metadata and filters out all by SP entities in order to save memory -->
        <!-- To use: fill in 'metadataURL' and 'backingFile' properties on MetadataResource element -->
        <!-- コメントアウト
        <metadata:MetadataProvider id="URLMD" xsi:type="metadata:FileBackedHTTPMetadataProvider"
                          metadataURL

  metadataURL="https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml"
               

          backingFile="/opt/shibboleth-idp/metadata/some-metadata.xml">
            <metadata:MetadataFilter

  failFastInitialization="false">

<MetadataFilter xsi:type="

metadata:ChainingFilter">
                <metadata:MetadataFilter xsi:type="metadata:RequiredValidUntil"
                                maxValidityInterval="P15D" />
                <metadata:MetadataFilter

SignatureValidation" certificateFile="%{idp.home}/credentials/gakunin-signer-2017.cer" />
   <MetadataFilter xsi:type="

metadata:SignatureValidation"
                                trustEngineRef="shibboleth.MetadataTrustEngine"
                                requireSignedMetadata="true" />
                    <metadata:MetadataFilter

RequiredValidUntil" maxValidityInterval="P15D" />
   <MetadataFilter xsi:type="

metadata:

EntityRoleWhiteList">
     

              <metadata:RetainedRole>samlmd

 <RetainedRole>md:SPSSODescriptor</

metadata:

RetainedRole>
 

              </metadata:MetadataFilter>
            </metadata:MetadataFilter>
        </metadata:MetadataProvider>
        コメントアウト -->
        ↓以下の2行を追加
        <metadata:MetadataProvider

 </MetadataFilter>
</MetadataProvider>
--> ← 学認メタデータの自動ダウンロードを使用しないのでコメントアウト
↓以下を追加
<MetadataProvider id="SP名MD" xsi:type="

metadata:

FilesystemMetadataProvider"


                                  

metadataFile="

/opt/shibboleth-idp

%{idp.home}/metadata/メタデータファイル名"/>


    </metadata:MetadataProvider>

    (省略)

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

情報

学認参加IdPが個別の学内SPとも連携したいなどの場合は、フェデレーションのメタデータ設定をコメントアウトせずにSPメタデータ設定を追加すれば、どちらのSPとも連携できます。学認参加IdPが個別の学内SPとも連携したい場合など、フェデレーションのメタデータ設定をコメントアウトせずにSPメタデータ設定を追加すれば、どちらのSPとも連携できます。


  設定変更後、Jettyを再起動します。

 設定変更後、tomcatを再起動します。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
systemctl restart jetty
展開
titleCentOS 6の場合(Tomcat)
パネル
service 
tomcat6
tomcat7 restart

 ※フェデレーションのメタデータの参照設定を行った設定にrelying ※フェデレーションのメタデータの参照設定を行った設定にmetadata-partyproviders.xmlを戻す場合は、こちらを参照してください。 


利用するSPにアクセスし、DSを経由せず、設定したIdPに直接アクセスすること、およびIdPで認証してSPに接続できることを確認してください。