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
Letzte ÜberarbeitungBeide Seiten der Revision
de:shibidp:config-attribute [2020/04/08 09:53] Silke Meyerde:shibidp:config-attribute [2020/04/16 08:50] Silke Meyer
Zeile 1: Zeile 1:
-====== Konfiguration Attribut-Generierung und -Freigabe======+====== Minimalkonfiguration von Attributen ======
  
 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]]. 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]].
Zeile 5: Zeile 5:
 Die Erzeugung und Freigabe der SAML-Attribute wird über die Dateien ''.conf/attribute-resolver.xml'', ''attribute-filter.xml'' und FIXME gesteuert. Als nächstes laden Sie sich hier ein funktionierendes Minimalbeispiel herunter und testen damit, ob Ihr IdP Attribute an unseren Test-SP übermittelt.  Die Erzeugung und Freigabe der SAML-Attribute wird über die Dateien ''.conf/attribute-resolver.xml'', ''attribute-filter.xml'' und FIXME gesteuert. Als nächstes laden Sie sich hier ein funktionierendes Minimalbeispiel herunter und testen damit, ob Ihr IdP Attribute an unseren Test-SP übermittelt. 
  
-===== Minimale attribute-resolver.xml =====+===== Definition bzwGenerierung von Attributen ===== 
 + 
 +<callout type="danger" title="Neuerungen beim IdP 4.x"> 
 +Die attribute-resolver.xml aus einer IdP 3.x-Installation kann nicht einfach in eine Neuinstallation von IdP 4.x hineinkopiert werden! 
 +</callout>
  
 Die zentrale Konfigurationsdatei für die //Generierung// von Attributen ist ''./conf/attribute-resolver.xml''. Hier definieren Sie Die zentrale Konfigurationsdatei für die //Generierung// von Attributen ist ''./conf/attribute-resolver.xml''. Hier definieren Sie
Zeile 12: Zeile 16:
   * wie diese Attribute ggf. im IdP umgebaut werden sollen.    * wie diese Attribute ggf. im IdP umgebaut werden sollen. 
  
-Shibboleth liefert eine umfangreiche Beispieldatei ''./conf/attribute-resolver-full.xml'' mit. Um es zunächst übersichtlicher zu halten, laden Sie sich bitte unsere [[de:shibdip4-attribute-resolver-example|Beispieldatei]] herunter und legen Sie sie nach ''./conf/attribute-resolver.xml''.+Shibboleth liefert eine umfangreiche Beispieldatei ''./conf/attribute-resolver-full.xml'' mit. Um es zunächst übersichtlicher zu halten, laden Sie sich bitte unten stehende Beispieldatei herunter und legen Sie sie nach ''./conf/attribute-resolver.xml''. Sie ist für Testzwecke nach der Erstinstallation gedacht. Die Werte für ''attributeNames'' müssen ggf. den tatsächlichen Attributnamen in Ihrem Nutzerverzeichnis angepasst werden. Für den späteren Produktivbetrieb müssen i.d.R. noch mindestens die Definitionen der für den Bibliotheksbereich relevanten Attribute ''eduPerson(Scoped)Affiliation'' und ''eduPersonEntitlement'' ergänzt werden, siehe die entsprechende [[de:shibidp3attributes-publishers|Dokumentation]]
  
-<callout type="dangertitle="Neuerungen beim IdP 4.x"> +(Ein Klick auf den Dateinamen startet den Download)  
-Die attribute-resolver.xml aus einer IdP 3.x-Installation kann nicht einfach in eine Neuinstallation von IdP 4.x hineinkopiert werden+ 
-</callout>+<file xml ./conf/attribute-resolver.xml> 
 +<?xml version="1.0encoding="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                 --> 
 +    <!-- ========================================== --> 
 + 
 +    <!-- Attribute aus Userangaben --> 
 + 
 +    <AttributeDefinition id="uid" xsi:type="PrincipalName"> 
 +    </AttributeDefinition> 
 +     
 +    <AttributeDefinition id="eduPersonPrincipalName" xsi:type="Scoped" scope="%{idp.scope}"> 
 +        <InputAttributeDefinition ref="uid" /> 
 +    </AttributeDefinition> 
 + 
 +    <!--- Attribute aus dem IdM --> 
 + 
 +    <AttributeDefinition id="mail" xsi:type="Simple"> 
 +        <InputDataConnector ref="myLDAP" attributeNames="mail"/> 
 +    </AttributeDefinition> 
 + 
 +    <AttributeDefinition id="surname" xsi:type="Simple"> 
 +        <InputDataConnector ref="myLDAP" attributeNames="sn"/> 
 +    </AttributeDefinition> 
 + 
 +    <AttributeDefinition id="givenName" xsi:type="Simple"> 
 +        <InputDataConnector ref="myLDAP" attributeNames="givenName"/> 
 +    </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>
  
 Laden Sie das Servlet neu, um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): Laden Sie das Servlet neu, um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!):
Zeile 24: Zeile 91:
 </code> </code>
  
-===== attribute-filter.xml für die DFN-AAI Test-SP =====+===== Freigabe von Attributen an SPs =====
  
-Laden Sie unsere [[de:shibdip4-attribute-filter-example|Beispieldatei]] herunter und legen Sie diese nach ''./conf/attribute-filter.xml''.+Die zentrale Konfigurationsdatei für die //Freigabe// von Attributen an Service Provider ist ''./conf/attribute-filter.xml''. Unsere Beispieldatei regelt, welche Attribute an unsere öffentlichen Test-SPs freigegeben werden. Für den späteren Produktivbetrieb beachten Sie bitte die vertiefende [[de:shibidp3attributes|Dokumentation]].  
 + 
 +(Ein Klick auf den Dateinamen startet den Download)  
 + 
 +<file xml ./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-SPs freigeben --> 
 +   <AttributeFilterPolicy id="dfn_test_sps"> 
 +        <PolicyRequirementRule xsi:type="OR"> 
 +            <!-- Als Requester wird die jeweilige EntityID des Service Providers angegeben. --> 
 +            <Rule xsi:type="Requester" value="https://testsp.aai.dfn.de/shibboleth" /> 
 +            <Rule xsi:type="Requester" value="https://testsp2.aai.dfn.de/shibboleth" /> 
 +            <Rule xsi:type="Requester" value="https://testsp3.aai.dfn.de/shibboleth" /> 
 +        </PolicyRequirementRule> 
 +        <!-- Liste der Attribute, die an den/die Requester übermittelt werden dürfen. --> 
 +        <AttributeRule attributeID="uid"                    permitAny="true"/> 
 +        <AttributeRule attributeID="eduPersonPrincipalName" permitAny="true"/> 
 +        <AttributeRule attributeID="mail"                   permitAny="true"/> 
 +        <AttributeRule attributeID="surname"                permitAny="true"/> 
 +        <AttributeRule attributeID="givenName"              permitAny="true"/> 
 +  </AttributeFilterPolicy> 
 + 
 +</AttributeFilterPolicyGroup> 
 +</file>
  
 Laden Sie wieder die Konfiguration neu: Laden Sie wieder die Konfiguration neu:
Zeile 33: Zeile 128:
 </code> </code>
  
-===== Attribute-Test mithilfe der Test-SPs in der DFN-AAI-Test =====+===== Test der Attributübermittlung =====
  
 Bitte testen Sie jetzt die Attribute-Freigabe gegen unsere Test-SPs, siehe hierzu unter [[de:functionaltest_idp|Funktionstest]]. Bitte testen Sie jetzt die Attribute-Freigabe gegen unsere Test-SPs, siehe hierzu unter [[de:functionaltest_idp|Funktionstest]].
  
-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!+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 =====
 +
 +FIXME: prüfen!
  
 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):
Zeile 48: Zeile 145:
 Für die ausführliche Dokumentation konsultieren Sie bitte das [[https://wiki.shibboleth.net/confluence/display/IDP30/AACLI|Shibboleth Wiki]]. Für die ausführliche 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:shibidp:config-zertifikate|Zertifikate]]-Konfiguration.
  
 +{{tag>idp4 tutorial}}