Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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:55] – [Attribute-Test mithilfe aacli] Raoul Gunnar Boreniusde:shibidp3config-attribute [2019/09/19 11:27] – [Optional: Attribute-Test mithilfe aacli] Wolfgang Pempe
Zeile 1: Zeile 1:
-==== Attribute-Konfiguration ====+====== Konfiguration Attribut-Generierung und -Freigabe====== 
 + 
 +Zum grundlegenden Verständnis der Attribut-Generierung, -Freigabe und -Übertragung empfehlen wir die Lektüre dieser [[https://download.aai.dfn.de/ws/2019_hlm/attribute.pdf|Präsentation von einem der DFN-AAI Workshops]].
  
 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.
Zeile 7: Zeile 9:
 === 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# systemctl restart tomcat8
 </code> </code>
-=== attribute-filter.xml für die DFN-AAI-Test === 
  
-<file xml /opt/shibboleth-idp/conf/attribute-filter.xml+=== attribute-filter.xml für die DFN-AAI Test-SP ===
-<?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 --> +Laden Sie unsere [[de:attribute-filter-example|Beispieldatei]] herunter und legen Sie diese nach ./conf/attribute-filter.xml.
-   <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# systemctl restart tomcat8
 </code> </code>
 +
 ==== Attribute-Test mithilfe der Test-SPs in der DFN-AAI-Test ==== ==== Attribute-Test mithilfe der Test-SPs in der DFN-AAI-Test ====
  
-Bitte testen Sie jetzt die Attribute-Freigabe gegen unsere Test-SPs, siehe dazu +Bitte testen Sie jetzt die Attribute-Freigabe gegen unsere Test-SPs, siehe hierzu unter [[de:functionaltest_idp|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!
  
 ==== Optional: Attribute-Test mithilfe aacli ==== ==== Optional: Attribute-Test mithilfe aacli ====
Zeile 122: Zeile 35:
 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):
 <code bash> <code bash>
-root@idp# ./aacli.sh -n test-clt -r https://testsp3.aai.dfn.de/shibboleth+root@idp# ./bin/aacli.sh -n test-clt -r https://testsp3.aai.dfn.de/shibboleth
 </code> </code>
 (**-n** principal = user id; **-r** requester = entityId des anfragenden SP) (**-n** principal = user id; **-r** requester = entityId des anfragenden SP)
 +Zur ausführlichen Dokumentation konsultieren Sie bitte das [[https://wiki.shibboleth.net/confluence/display/IDP30/AACLI|Shibboleth Wiki]].
  
 Weiter geht es mit der [[de:shibidp3config-zertifikate|Zertifikate]]-Konfiguration. Weiter geht es mit der [[de:shibidp3config-zertifikate|Zertifikate]]-Konfiguration.