Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision |
de:shibidp3config-attribute [2017/02/24 17:54] – [Attribute-Test mithilfe der Test-SPs in der DFN-AAI-Test] Raoul Gunnar Borenius | de:shibidp3config-attribute [2017/03/12 02:13] – Wolfgang Pempe |
---|
==== Attribute-Konfiguration ==== | ====== Konfiguration Attribut-Generierung und -Freigabe====== |
| |
Erzeugung und Freigabe der SAML-Attribute wird weiterhin über die Dateien attribute-resolver.xml und attribute-filter.xml gesteuert. Diese unterscheiden sich syntaktisch und semantisch leicht von den gewohnten Dateien im IdP 2.x. | Erzeugung und Freigabe der SAML-Attribute wird weiterhin über die Dateien attribute-resolver.xml und attribute-filter.xml gesteuert. Diese unterscheiden sich syntaktisch und semantisch leicht von den gewohnten Dateien im IdP 2.x. |
=== Minimal-attribute-resolver.xml === | === Minimal-attribute-resolver.xml === |
| |
<file xml /opt/shibboleth-idp/conf/attribute-resolver.xml> | Laden Sie unsere [[de:attribute-resolver-example|Beispieldatei]] herunter und legen Sie diese nach ./conf/attribute-resolver.xml |
<?xml version="1.0" encoding="UTF-8"?> | |
<AttributeResolver | |
xmlns="urn:mace:shibboleth:2.0:resolver" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd"> | |
| |
<!-- ========================================== --> | |
<!-- Attribute Definitions --> | |
<!-- ========================================== --> | |
| |
<!-- für uid das nehmen was der User eingetippt hat --> | |
<AttributeDefinition id="uid" xsi:type="PrincipalName"> | |
<DisplayName xml:lang="en">User Name</DisplayName> | |
<DisplayName xml:lang="de">Nutzerkennung</DisplayName> | |
<DisplayDescription xml:lang="en">Local User Id</DisplayDescription> | |
<DisplayDescription xml:lang="de">Nutzerkennung der Heimateinrichtung</DisplayDescription> | |
<AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:uid" encodeType="false" /> | |
<AttributeEncoder xsi:type="SAML2String" name="urn:oid:0.9.2342.19200300.100.1.1" friendlyName="uid" encodeType="false" /> | |
</AttributeDefinition> | |
| |
<!--- eduPersonPrincipalName aus uid generieren --> | |
<AttributeDefinition id="eduPersonPrincipalName" xsi:type="Scoped" scope="%{idp.scope}" sourceAttributeID="uid"> | |
<Dependency ref="uid" /> | |
<DisplayName xml:lang="en">Principal name</DisplayName> | |
<DisplayName xml:lang="de">Netz-Id</DisplayName> | |
<DisplayDescription xml:lang="en">A unique identifier for a person, mainly for inter-institutional user identification</DisplayDescription> | |
<DisplayDescription xml:lang="de">Eindeutige, einrichtungsübergreifende Nutzerkennung</DisplayDescription> | |
<AttributeEncoder xsi:type="SAML1ScopedString" name="urn:mace:dir:attribute-def:eduPersonPrincipalName" encodeType="false" /> | |
<AttributeEncoder xsi:type="SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" friendlyName="eduPersonPrincipalName" encodeType="false" /> | |
</AttributeDefinition> | |
| |
<!--- mail aus LDAP holen --> | |
<AttributeDefinition id="mail" xsi:type="Simple" sourceAttributeID="mail"> | |
<Dependency ref="myLDAP" /> | |
<DisplayName xml:lang="en">E-mail</DisplayName> | |
<DisplayName xml:lang="de">E-Mail</DisplayName> | |
<DisplayDescription xml:lang="en">E-Mail address</DisplayDescription> | |
<DisplayDescription xml:lang="de">E-Mail Adresse</DisplayDescription> | |
<AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" /> | |
<AttributeEncoder xsi:type="SAML2String" name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="mail" encodeType="false" /> | |
</AttributeDefinition> | |
| |
<!-- ========================================== --> | |
<!-- Data Connectors --> | |
<!-- ========================================== --> | |
| |
<DataConnector id="myLDAP" xsi:type="LDAPDirectory" | |
ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}" | |
baseDN="%{idp.attribute.resolver.LDAP.baseDN}" | |
principal="%{idp.attribute.resolver.LDAP.bindDN}" | |
principalCredential="%{idp.attribute.resolver.LDAP.bindDNCredential}" | |
useStartTLS="%{idp.attribute.resolver.LDAP.useStartTLS:true}" | |
connectTimeout="%{idp.attribute.resolver.LDAP.connectTimeout}" | |
trustFile="%{idp.attribute.resolver.LDAP.trustCertificates}" | |
responseTimeout="%{idp.attribute.resolver.LDAP.responseTimeout}"> | |
<FilterTemplate> | |
<![CDATA[ | |
%{idp.attribute.resolver.LDAP.searchFilter} | |
]]> | |
</FilterTemplate> | |
<ConnectionPool | |
minPoolSize="%{idp.pool.LDAP.minSize:3}" | |
maxPoolSize="%{idp.pool.LDAP.maxSize:10}" | |
blockWaitTime="%{idp.pool.LDAP.blockWaitTime:PT3S}" | |
validatePeriodically="%{idp.pool.LDAP.validatePeriodically:true}" | |
validateTimerPeriod="%{idp.pool.LDAP.validatePeriod:PT5M}" | |
expirationTime="%{idp.pool.LDAP.idleTime:PT10M}" | |
failFastInitialize="%{idp.pool.LDAP.failFastInitialize:false}" /> | |
</DataConnector> | |
| |
</AttributeResolver> | |
</file> | |
Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): |
<code bash> | <code bash> |
root@idp:/opt/shibboleth-idp# service tomcat8 restart | root@idp:/opt/shibboleth-idp# service tomcat8 restart |
</code> | </code> |
| |
=== attribute-filter.xml für die DFN-AAI-Test === | === attribute-filter.xml für die DFN-AAI-Test === |
| |
<file xml /opt/shibboleth-idp/conf/attribute-filter.xml> | Laden Sie unsere [[de:attribute-filter-example|Beispieldatei]] herunter und legen Sie diese nach ./conf/attribute-filter.xml. |
<?xml version="1.0" encoding="UTF-8"?> | |
<AttributeFilterPolicyGroup id="ShibbolethFilterPolicy" | |
xmlns="urn:mace:shibboleth:2.0:afp" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd"> | |
| |
<!-- Attribute an die DFN-Test-IdPs freigeben --> | |
<AttributeFilterPolicy id="dfn-test-sps"> | |
<PolicyRequirementRule xsi:type="OR"> | |
<Rule xsi:type="Requester" value="https://testsp.aai.dfn.de/shibboleth" /> | |
<Rule xsi:type="Requester" value="https://testsp2.aai.dfn.de/shibboleth" /> | |
</PolicyRequirementRule> | |
| |
<AttributeRule attributeID="uid" permitAny="true"/> | |
<AttributeRule attributeID="eduPersonPrincipalName" permitAny="true"/> | |
<AttributeRule attributeID="mail" permitAny="true"/> | |
</AttributeFilterPolicy> | |
| |
</AttributeFilterPolicy> | |
</file> | |
Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): |
<code bash> | <code bash> |
root@idp:/opt/shibboleth-idp# service tomcat8 restart | root@idp:/opt/shibboleth-idp# service tomcat8 restart |
</code> | </code> |
| |
==== Attribute-Test mithilfe der Test-SPs in der DFN-AAI-Test ==== | ==== Attribute-Test mithilfe der Test-SPs in der DFN-AAI-Test ==== |
| |
https://www.aai.dfn.de/teilnahme/funktionstest/ | https://www.aai.dfn.de/teilnahme/funktionstest/ |
| |
Erst wenn diese Tests erfolgreich sind und Sie die Attribute 'uid', 'eduPersonPrincipalName' und 'mail' angezeigt bekommen, sollten Sie mit der IdP-Konfiguration weiter machen! | Erst wenn diese Tests erfolgreich sind und Sie die Attribute 'uid', 'eduPersonPrincipalName', 'mail', 'surname' und 'givenName' angezeigt bekommen, sollten Sie mit der IdP-Konfiguration weiter machen! |
| |
==== Attribute-Test mithilfe aacli ==== | ==== Optional: Attribute-Test mithilfe aacli ==== |
| |
Mit dem **Resolvertest (aacli)** besteht die Möglichkeit, die Attributfreigabe für eine(n) bestimmte(n) Nutzer(in) gegenüber einem bestimmten SP zu testen. Der Aufruf von bin/aacli.sh generiert einen URL, der dann z.B. im Browser eingegeben werden kann (auch hier Zugriffskontrolle über conf/access-control.xml): | Mit dem **Resolvertest (aacli)** besteht die Möglichkeit, die Attributfreigabe für eine(n) bestimmte(n) Nutzer(in) gegenüber einem bestimmten SP zu testen. Der Aufruf von bin/aacli.sh generiert einen URL, der dann z.B. im Browser eingegeben werden kann (auch hier Zugriffskontrolle über conf/access-control.xml): |