比較バージョン

キー

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

...

  • metadata-providers.xml

    コード ブロック
    languagexml
    titlemetadata-providers.xml
    collapsetrue
    <MetadataProvider id="HTTPMetadata"
                      xsi:type="FileBackedHTTPMetadataProvider"
                      backingFile="%{idp.home}/metadata/gakunin-metadata-backing.xml"
                      metadataURL="https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml">
    
    
        <MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P15D" />
        <MetadataFilter xsi:type="SignatureValidation"
                        requireSignedMetadata="true"
                        certificateFile="%{idp.home}/credentials/gakunin-signer-2010.cer"/>
        <MetadataFilter xsi:type="EntityRoleWhiteList">
            <RetainedRole>md:SPSSODescriptor</RetainedRole>
        </MetadataFilter>
    
    
    </MetadataProvider>

...

  • saml-nameid.properties

    idp.transientId.generatorをアンコメントして、値をshibboleth.StoredTransientIdGeneratorに変更します。

    コード ブロック
    languagexml
    titlesaml-nameid.properties
    collapsetrue
    # Set to shibboleth.StoredTransientIdGenerator for server-side storage
    idp.transientId.generator = shibboleth.StoredTransientIdGenerator

...

  • saml-nameid.xml
    <ref bean="shibboleth.SAML2PersistentGenerator" /> をアンコメントして有効にします。

    コード ブロック
    languagexml
    titlesaml-nameid.xml
    collapsetrue
    <!-- Uncommenting this bean requires configuration in saml-nameid.properties. -->
    <!-- -->
    <ref bean="shibboleth.SAML2PersistentGenerator" />
    <!-- -->
  • saml-nameid.properties
    idp.persistentId.generatorのデフォルトはComputedIdの設定のため、idp.persistentId.sourceAttributeidp.persistentId.saltのみを設定します。

    コード ブロック
    languagesass
    titlesaml-nameid.properties
    collapsetrue
    # Set to shibboleth.StoredPersistentIdGenerator for db-backed storage
    # and uncomment/name the PersistentIdStore bean to use
    #idp.persistentId.generator = shibboleth.ComputedPersistentIdGenerator
    
    # Otherwise for computed PersistentIDs set the source attribute and salt.
    idp.persistentId.sourceAttribute = uid4persistentId
    idp.persistentId.salt = changethistosomethingrandom
  • attribute-resolver.xmlattribute-filter.xml
    idp.persistentId.sourceAttributeの値をattribute-resolver.xml//resolver:AttributeDefinitionで定義して、attribute-filter.xmlで送信設定を行います。

    コード ブロック
    languagexml
    titleattribute-resolver.xml
    collapsetrue
    <!-- ========================================== -->
    <!--      PersistentId Definition               -->
    <!-- ========================================== -->
    
    <!-- Attribute Definition for %{idp.persistentId.sourceAttribute} -->
    <resolver:AttributeDefinition id="%{idp.persistentId.sourceAttribute}" xsi:type="ad:Simple"
        sourceAttributeID="uid">
        <resolver:Dependency ref="myLDAP" />
    </resolver:AttributeDefinition>
    コード ブロック
    languagexml
    titleattribute-filter.xml
    collapsetrue
    <!--  Release to anyone -->
    <afp:AttributeFilterPolicy id="PolicyforAnyone">
        <afp:PolicyRequirementRule xsi:type="basic:ANY" />
    
        <afp:AttributeRule attributeID="%{idp.persistentId.sourceAttribute}">
            <afp:PermitValueRule xsi:type="basic:ANY" />
        </afp:AttributeRule>
    
    </afp:AttributeFilterPolicy>

...

  • saml-nameid.xml
    <ref bean="shibboleth.SAML2PersistentGenerator" /> をアンコメントして有効にします。

    コード ブロック
    languagexml
    titlesaml-nameid.xml
    collapsetrue
    <!-- Uncommenting this bean requires configuration in saml-nameid.properties. -->
    <!-- -->
    <ref bean="shibboleth.SAML2PersistentGenerator" />
    <!-- -->
  • saml-nameid.properties
    idp.persistentId.generator, idp.persistentId.store, idp.persistentId.sourceAttributeとidp.persistentId.saltを設定します。

    コード ブロック
    languagesass
    titlesaml-nameid.properties
    collapsetrue
    # Set to shibboleth.StoredPersistentIdGenerator for db-backed storage
    # and uncomment/name the PersistentIdStore bean to use
    idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator
    idp.persistentId.store = PersistentIdStore
    # Set this to null to skip hash-based generation of first stored ID
    #idp.persistentId.computed = shibboleth.ComputedPersistentIdGenerator
    
    # Otherwise for computed PersistentIDs set the source attribute and salt.
    idp.persistentId.sourceAttribute = uid4ppersistentId
    idp.persistentId.salt = changethistosomethingrandom
  • global.xml
    idp.persistentId.storeの値をglobal.xmlの//beanで定義します。

    コード ブロック
    languagexml
    titleglobal.xml (Tomcat 7の場合)
    collapsetrue
    <!-- Use this file to define any custom beans needed globally. -->
    <bean id="shibboleth.MySQLDataSource"
        class="org.apache.tomcat.dbcp.dbcp.BasicDataSource"
        p:driverClassName="com.mysql.jdbc.Driver"
        p:url="jdbc:mysql://localhost:3306/shibboleth"
        p:username="username"
        p:password="password"
        p:maxActive="10"
        p:maxIdle="5"
        p:maxWait="15000"
        p:testOnBorrow="true"
        p:validationQuery="select 1"
        p:validationQueryTimeout="5" />
    <bean id="PersistentIdStore"
        class="net.shibboleth.idp.saml.nameid.impl.JDBCPersistentIdStore"
        p:dataSource-ref="shibboleth.MySQLDataSource" />
    コード ブロック
    languagexml
    titleglobal.xml (Tomcat 8の場合)
    collapsetrue
    <!-- Use this file to define any custom beans needed globally. -->
    <bean id="shibboleth.MySQLDataSource"
        class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource"
        p:driverClassName="com.mysql.jdbc.Driver"
        p:url="jdbc:mysql://localhost:3306/shibboleth"
        p:username="username"
        p:password="password"
        p:maxIdle="5"
        p:testOnBorrow="true"
        p:validationQuery="select 1"
        p:validationQueryTimeout="5" />
    <bean id="PersistentIdStore"
        class="net.shibboleth.idp.saml.nameid.impl.JDBCPersistentIdStore"
        p:dataSource-ref="shibboleth.MySQLDataSource" />
    注意

    Tomcat 8の場合に、p:maxActiveおよびp:maxWaitを指定するとエラーとなり、Shibboleth IdPが起動しない。

  • attribute-resolver.xmlattribute-filter.xml
    idp.persistentId.sourceAttributeの値をattribute-resolver.xml//resolver:AttributeDefinitionで定義して、attribute-filter.xmlで送信設定を行います。

    コード ブロック
    languagexml
    titleattribute-resolver.xml
    collapsetrue
    <!-- ========================================== -->
    <!--      PersistentId Definition               -->
    <!-- ========================================== -->
    
    <!-- Attribute Definition for %{idp.persistentId.sourceAttribute} -->
    <resolver:AttributeDefinition id="%{idp.persistentId.sourceAttribute}" xsi:type="ad:Simple"
        sourceAttributeID="uid">
        <resolver:Dependency ref="myLDAP" />
    </resolver:AttributeDefinition>
    コード ブロック
    languagexml
    titleattribute-filter.xml
    collapsetrue
    <!--  Release to anyone -->
    <afp:AttributeFilterPolicy id="PolicyforAnyone">
        <afp:PolicyRequirementRule xsi:type="basic:ANY" />
    
        <afp:AttributeRule attributeID="%{idp.persistentId.sourceAttribute}">
            <afp:PermitValueRule xsi:type="basic:ANY" />
        </afp:AttributeRule>
    
    </afp:AttributeFilterPolicy>

...

  • attribute-resolver.xml

    コード ブロック
    languagexml
    titleattribute-resolver.xml
    collapsetrue
    <!-- ========================================== -->
    <!--      Attribute Definitions                 -->
    <!-- ========================================== -->
    
    <!-- Schema: eduPerson attributes -->
    
    <!-- Attribute Definition for eduPersonTargetedID -->
    <resolver:AttributeDefinition id="eduPersonTargetedID" xsi:type="SAML2NameID" xmlns="urn:mace:shibboleth:2.0:resolver:ad"
        nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
        sourceAttributeID="computedID">
        <resolver:Dependency ref="computedID" />
        <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
        <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="eduPersonTargetedID" />
    </resolver:AttributeDefinition>
     
     
    <!-- ========================================== -->
    <!--      Data Connectors                       -->
    <!-- ========================================== -->
    
    <!-- Computed targeted ID connector -->
    <resolver:DataConnector xsi:type="ComputedId" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                            id="computedID"
                            generatedAttributeID="computedID"
                            sourceAttributeID="uid"
                            salt="changethistosomethingrandom">
        <resolver:Dependency ref="myLDAP" />
    </resolver:DataConnector>
  • attribute-filter.xml

    コード ブロック
    languagexml
    titleattribute-filter.xml
    collapsetrue
    <!--  Release to sp.example.jp -->
    <afp:AttributeFilterPolicy id="PolicyforSP1ExampleJP">
        <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="https://sp.example.jp/shibboleth-sp" />
        <afp:AttributeRule attributeID="eduPersonTargetedID">
            <afp:PermitValueRule xsi:type="basic:ANY" />
        </afp:AttributeRule>
    </afp:AttributeFilterPolicy>

...

  • attribute-resolver.xml

    コード ブロック
    languagexml
    titleattribute-resolver.xml
    collapsetrue
    <!-- ========================================== -->
    <!--      Data Connectors                       -->
    <!-- ========================================== -->
    <!-- Computed targeted ID connector -->
    <resolver:DataConnector xsi:type="ComputedId" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                            id="computedID"
                            generatedAttributeID="computedID"
                            sourceAttributeID="%{idp.persistentId.sourceAttribute}"
                            salt="changethistosomethingrandom">
    <!--
                            salt="%{idp.persistentId.salt}">
    -->
        <resolver:Dependency ref="%{idp.persistentId.sourceAttribute}" />
    </resolver:DataConnector>
    注意

    Shibboleth IdP 3.1.1では、salt属性は%{idp.persistentId.salt}で置き換えられませんので、ご注意ください。

...

  • attribute-resolver.xml

    コード ブロック
    languagexml
    titleattribute-resolver.xml
    collapsetrue
    <!-- ========================================== -->
    <!--      Attribute Definitions                 -->
    <!-- ========================================== -->
    
    <!-- Schema: eduPerson attributes -->
    
    <!-- Attribute Definition for eduPersonTargetedID -->
    <resolver:AttributeDefinition id="eduPersonTargetedID" xsi:type="SAML2NameID" xmlns="urn:mace:shibboleth:2.0:resolver:ad"
        nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
        sourceAttributeID="computedID">
        <resolver:Dependency ref="computedID" />
        <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
        <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="eduPersonTargetedID" />
    </resolver:AttributeDefinition>
     
     
    <!-- ========================================== -->
    <!--      Data Connectors                       -->
    <!-- ========================================== -->
    
    <!-- Stored targeted ID connector -->
    <resolver:DataConnector xsi:type="StoredId" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                            id="storedID"
                            generatedAttributeID="storedID"
                            sourceAttributeID="uid"
                            salt="changethistosomethingrandom">
        <resolver:Dependency ref="myLDAP" />
        <ApplicationManagedConnection jdbcDriver="com.mysql.jdbc.Driver"
                                      jdbcURL="jdbc:mysql://localhost:3306/shibboleth?autoReconnect=true"
                                      jdbcUserName="username"
                                      jdbcPassword="password" />
    </resolver:DataConnector>
  • attribute-filter.xml

    コード ブロック
    languagexml
    titleattribute-filter.xml
    collapsetrue
    <!--  Release to sp.example.jp -->
    <afp:AttributeFilterPolicy id="PolicyforSP1ExampleJP">
        <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="https://sp.example.jp/shibboleth-sp" />
        <afp:AttributeRule attributeID="eduPersonTargetedID">
            <afp:PermitValueRule xsi:type="basic:ANY" />
        </afp:AttributeRule>
    </afp:AttributeFilterPolicy>

...

  • attribute-resolver.xml

    コード ブロック
    languagexml
    titleattribute-resolver.xml
    collapsetrue
    <!-- ========================================== -->
    <!--      Data Connectors                       -->
    <!-- ========================================== -->
     
    <!-- Stored targeted ID connector -->
    <resolver:DataConnector xsi:type="StoredId" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                            id="storedID"
                            generatedAttributeID="storedID"
                            sourceAttributeID="%{idp.persistentId.sourceAttribute}"
                            salt="changethistosomethingrandom">
    <!--
                            salt="%{idp.persistentId.salt}">
    -->
        <resolver:Dependency ref="%{idp.persistentId.sourceAttribute}" />
        <BeanManagedConnection>shibboleth.MySQLDataSource</BeanManagedConnection>
    </resolver:DataConnector>
    注意

    Shibboleth IdP 3.1.1では、salt属性は%{idp.persistentId.salt}で置き換えられませんので、ご注意ください。

...