Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:shibidp3config-attribute [2017/02/24 15:09]
Raoul Gunnar Borenius angelegt
de:shibidp3config-attribute [2019/09/19 11:28] (aktuell)
Wolfgang Pempe [Optional: Attribute-Test mithilfe aacli]
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 uns 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):​
 <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.
  
  • Zuletzt geändert: vor 3 Jahren