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
de:shibidp3config-attribute [2019/01/29 16:44]
Wolfgang Pempe [Konfiguration Attribut-Generierung und -Freigabe]
de:shibidp3config-attribute [2020/05/11 16:19] (aktuell)
Silke Meyer
Zeile 7: Zeile 7:
 Mit den folgenden beiden Konfigurationsdateien sollte ein erster Test gegen die DFN-Test-SPs schnell gelingen: Mit den folgenden beiden Konfigurationsdateien sollte ein erster Test gegen die DFN-Test-SPs schnell gelingen:
  
-=== Minimal-attribute-resolver.xml ===+===== Minimale ​attribute-resolver.xml ​=====
  
-Laden Sie unsere [[de:attribute-resolver-example|Beispieldatei]] herunter und legen Sie diese nach ./​conf/​attribute-resolver.xml+Laden Sie unsere ​Beispieldatei herunter und legen Sie diese nach ''​./​conf/​attribute-resolver.xml''​. Sie dient in erster Linie zu Testzwecken bei der Erstinstallation eines Shibboleth IdP. Die Werte für ''​sourceAttributeID''​ müssen ggf. den Attributnamen im lokalen IdM bzw. 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:shibidp:​config-attributes-publishers|Dokumentation]].  
 + 
 +(Ein Klick auf den Dateinamen startet den Download)  
 + 
 +<file xml ./​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 ​                ​-->​ 
 +    <!-- ========================================== --> 
 + 
 +    <!-- Attribute aus Userangaben --> 
 + 
 +    <​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>​ 
 + 
 +    <​AttributeDefinition id="​eduPersonPrincipalName"​ xsi:​type="​Scoped"​ scope="​%{idp.scope}">​ 
 +        <​InputAttributeDefinition 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>​ 
 + 
 +    <!--- Attribute aus dem IdM --> 
 + 
 +    <​AttributeDefinition id="​mail"​ xsi:​type="​Simple">​ 
 +        <​InputDataConnector ref="​myLDAP"​ attributeNames="​mail"/>​ 
 +        <​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>​ 
 + 
 +    <​AttributeDefinition id="​surname"​ xsi:​type="​Simple">​ 
 +        <​InputDataConnector ref="​myLDAP"​ attributeNames="​sn"/>​ 
 +        <​DisplayName xml:​lang="​en">​Surname</​DisplayName>​ 
 +        <​DisplayName xml:​lang="​de">​Nachname</​DisplayName>​ 
 +        <​DisplayDescription xml:​lang="​en">​Surname or family name</​DisplayDescription>​ 
 +        <​DisplayDescription xml:​lang="​de">​Familienname des Nutzers bzw. der Nutzerin</​DisplayDescription>​ 
 +        <​AttributeEncoder xsi:​type="​SAML1String"​ name="​urn:​mace:​dir:​attribute-def:​sn"​ encodeType="​false"​ /> 
 +        <​AttributeEncoder xsi:​type="​SAML2String"​ name="​urn:​oid:​2.5.4.4"​ friendlyName="​sn"​ encodeType="​false"​ /> 
 +    </​AttributeDefinition>​ 
 + 
 +    <​AttributeDefinition id="​givenName"​ xsi:​type="​Simple">​ 
 +        <​InputDataConnector ref="​myLDAP"​ attributeNames="​givenName"/>​ 
 +        <​DisplayName xml:​lang="​en">​Given name</​DisplayName>​ 
 +        <​DisplayName xml:​lang="​de">​Vorname</​DisplayName>​ 
 +        <​DisplayDescription xml:​lang="​en">​Given name of a person</​DisplayDescription>​ 
 +        <​DisplayDescription xml:​lang="​de">​Vorname des Nutzers bzw. der Nutzerin</​DisplayDescription>​ 
 +        <​AttributeEncoder xsi:​type="​SAML1String"​ name="​urn:​mace:​dir:​attribute-def:​givenName"​ encodeType="​false"​ /> 
 +        <​AttributeEncoder xsi:​type="​SAML2String"​ name="​urn:​oid:​2.5.4.42"​ friendlyName="​givenName"​ 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!):​
Zeile 16: Zeile 114:
 </​code>​ </​code>​
  
-=== attribute-filter.xml für die DFN-AAI Test-SP ===+===== attribute-filter.xml für die DFN-AAI Test-SP ===== 
 + 
 +Laden Sie unsere [[de:​attribute-filter-example|Beispieldatei]] herunter und legen Sie diese nach ''​./​conf/​attribute-filter.xml''​. Auch sie dient in erster Linie zu Testzwecken bei der Erstinstallation eines Shibboleth IdP. 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-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"​ /> 
 +            <Rule xsi:​type="​Requester"​ value="​https://​testsp3.aai.dfn.de/​shibboleth"​ /> 
 +        </​PolicyRequirementRule>​
  
-Laden Sie unsere [[de:​attribute-filter-example|Beispieldatei]] herunter und legen Sie diese nach ./conf/attribute-filter.xml.+        <​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>​
  
 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!):​
Zeile 25: Zeile 149:
 </​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 hierzu unter [[de:​functionaltest_idp|Funktionstest]]. Bitte testen Sie jetzt die Attribute-Freigabe gegen unsere Test-SPs, siehe hierzu unter [[de:​functionaltest_idp|Funktionstest]].
Zeile 31: Zeile 155:
 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 =====
  
 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 [simuliert] ​anfragenden SP) \\ 
 +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:​shibidp3config-zertifikate|Zertifikate]]-Konfiguration.
  
 +{{tag>​idp3}}
  • Zuletzt geändert: vor 18 Monaten