Die Anzeige der Daten sieht dann in etwa so aus: \\
{{:de:tou.png?200|}}
==== Attribute Release ====
**Sofern die Übertragung von Attributen ausschließlich freiwillig, aufgrund einer Einwilligung der EndnutzerInnen erfolgt (DSGVO Art. 6.1 lit a), muss kein separater Flow definiert werden!**
Hier ein Beispiel für ein entsprechendes Velocity Template: **[[de:shibidp:config-consent-dsgvo-attribute-release|./views/intercept/attribute-release.vm]] (Variante 1)**. \\
{{:de:01_user_consent.png?200|}}
==== Attribute Release aufgrund unterschiedlicher Rechtsgrundlagen ====
Wenn die Attributfreigabe fallweise aufgrund anderer Erlaubnisnormen erfolgt, bedarf es entsprechend angepasster [[https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631714/ProfileInterceptConfiguration|Interceptor Flows]], die je nach anfragendem SP und ggf. Nutzergruppe aufgerufen werden. Siehe hierzu die Lösungsmodelle aus der Präsentation [[https://download.aai.dfn.de/praesentationen/betriebstagungen/69/BT69_AAI_DS-AAI-Verfahren_Strobel_Moerike.pdf|"Datenschutzrechtliche Analyse das AAI-Verfahrens"]] von der 69. DFN-Betriebstagung und die Präsentation [[https://download.aai.dfn.de/ws/2018_fub/interceptor_dsgvo.pdf|"Wir basteln einen Interceptor Flow"]].
Neben der angepassten Datei **[[de:shibidp:config-consent-dsgvo-attribute-release|./views/intercept/attribute-release.vm]]** (siehe oben) werden hierfür noch die Velocity Templates **attribute-info.vm** und **attribute-must.vm**, die von der selben **[[de:shibidp:config-consent-dsgvo-attribute-release|Wiki Seite]]** heruntergeladen werden können (Varianten 2 und 3) und die ebenfalls in ''./views/intercept'' abgelegt werden.
Weiterhin sind folgende Konfigurationsschritte erforderlich:
\\
**1. Flow aus bestehendem Interceptor erstellen:**
.''/system/flows/intercept/attribute-release-beans.xml'' und \\
''./system/flows/intercept/attribute-release-flow.xml'' \\
jeweils kopieren nach: \\
''./flows/intercept/attribute-info/attribute-info-beans.xml'' \\
''./flows/intercept/attribute-info/attribute-info-flow.xml'' \\
und \\
''./flows/intercept/attribute-must/attribute-must-beans.xml'' \\
''./flows/intercept/attribute-must/attribute-must-flow.xml''
\\
**2. In den kopierten Dateien die Pfade anpassen:**
In den *-flow.xml Dateien die Referenzen auf die bean-Dateien anpassen:
<
---
>
bzw.
<
---
>
\\
**3. Dafür sorgen, dass Bezeichnung des Events im Log dem jeweils aufgerufenen Flow entspricht (--> Nachweispflichten)**
und
\\
**4. Neue Flows deklarieren und mit Activation Conditions verknüpfen**
Dies geschieht am besten in **[[de:shibidp:config-consent-dsgvo-profile-intercept|./conf/intercept/profile-intercept.xml (Beispiel)]]**
\\
**5. Neue Flows in der Relying Party Konfiguration dem SSO-Profil als Post Authentication Flows zuordnen**
\\
**HTML-Ansicht ''attribute-info.vm''**\\
{{:de:02_user_consent.png?200|}}
**HTML-Ansicht ''attribute-must.vm''**\\
{{:de:03_user_consent.png?200|}}
==== Attribute Query und User Consent ====
Bei Attribute Queries kann die jeweils letzte Entscheidung des Users zur Attributfreigabe berücksichtigt werden. Dies funktioniert natürlich nur, wenn die (virtuellen) Entscheidungen zur Attributfreigabe in einer IdP-seitigen Datenbank abgelegt werden und eine entsprechende Condition gesetzt ist. Siehe hierzu unter [[de:shibidp:config-storage#user_consent_zu_attributfreigabe_bei_attribute_queries_beruecksichtigen|Server-Side-Storage - User Consent]].
Damit Attribute Queries unter diesen Rahmenbedingungen auch im oben skizzierten Setup funktionieren, sind weitere Konfigurationsschritte erforderlich:
Zunächst die Dateien \\
''./system/flows/intercept/attribute-release-query-beans.xml'' und \\
''./system/flows/intercept/attribute-release-query-flow.xml'' \\
in ein Verzeichnis namens \\
''./flows/intercept/attribute-release-query'' \\
kopieren.
Anschließend müssen diverse Anpassungen vorgenommen werden:
In der Flow-Definition den Block nach '''' anpassen und erweitern:
Anschließend noch den flow in ''./conf/intercept/profile-intercept.xml'' bekannt machen:
{{tag>idp4 fixme}}