Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
de:aai:mdq [2021/03/21 15:21] – Wolfgang Pempe | de:aai:mdq [2024/02/02 09:43] (aktuell) – Wolfgang Pempe |
---|
Im Rahmen der SAML-basierten Kommunikation ermöglicht es der **Metadata Query Service**, die Metadaten der jeweiligen Gegenstelle (IdP/SP/Attribute Authority) in Echtzeit abzurufen, wobei hier i.d.R. auch ein Chaching stattfindet. Daher wird dieser Mechanismus auch als **Per-Entity Metadata** bezeichnet. Im Gegensatz zum traditionellen Verfahren, Föderationsmetadaten als große XML-Dateien zur Verfügung zu stellen, die von den jeweiligen technischen Instanzen heruntergeladen, validiert und weiterverarbeitet werden müssen, ist der Per-Entity Ansatz deutlich leichtgewichtiger und ressourcenschonender. IdPs, SPs und Attribute Authorities verarbeiten nur die Metadatdaten, die aktuell benötigt werden. Die Grundlage für dieses Verfahren bildet das **Metadata Query Protocol** (siehe unter [[#referenzen|Referenzen]]). \\ | Im Rahmen der SAML-basierten Kommunikation ermöglicht es der **Metadata Query Service**, die Metadaten der jeweiligen Gegenstelle (IdP/SP/Attribute Authority) in Echtzeit abzurufen, wobei hier i.d.R. auch ein Chaching stattfindet. Daher wird dieser Mechanismus auch als **Per-Entity Metadata** bezeichnet. Im Gegensatz zum traditionellen Verfahren, Föderationsmetadaten als große XML-Dateien zur Verfügung zu stellen, die von den jeweiligen technischen Instanzen heruntergeladen, validiert und weiterverarbeitet werden müssen, ist der Per-Entity Ansatz deutlich leichtgewichtiger und ressourcenschonender. IdPs, SPs und Attribute Authorities verarbeiten nur die Metadatdaten, die aktuell benötigt werden. Die Grundlage für dieses Verfahren bildet das **Metadata Query Protocol** (siehe unter [[#referenzen|Referenzen]]). \\ |
Es liegt in der Natur dieses Verfahrens, dass ein Metadata Query Service besonders hohen Anforderungen hinsichtlich Verfügbarkeit und Ausfallsicherheit genügen muss. Der Pilotbetrieb in der DFN-AAI dient dazu, diesbezügliche Erfahrungen zu sammeln, ggf. Verbesserungen vorzunehmen und den späteren Einsatz im Produktivbetrieb vorzubereiten. \\ | Es liegt in der Natur dieses Verfahrens, dass ein Metadata Query Service besonders hohen Anforderungen hinsichtlich Verfügbarkeit und Ausfallsicherheit genügen muss. Der Pilotbetrieb in der DFN-AAI dient dazu, diesbezügliche Erfahrungen zu sammeln, ggf. Verbesserungen vorzunehmen und den späteren Einsatz im Produktivbetrieb vorzubereiten. \\ |
Beachten Sie bitte auch die [[de:aai:mdq#weitere_hinweise_und_bekannte_probleme|weiteren Hinweise]] weiter unten. | Beachten Sie bitte auch die [[de:aai:mdq#weitere_hinweise_und_bekannte_probleme|weiteren Hinweise]] unten. |
| |
| **Wichtiger Hinweis:** Der MDQ-Service liefert **keine** [[de:metadata_local|lokalen Metadaten]] aus! Diese müssen nach wie vor über einen "statischen" Metadata Provider des Typs ''FileBackedHTTPMetadataProvider'' (Shib IdP) bzw. ''XML'' (Shib SP) eingebunden werden. |
| |
\\ | \\ |
| |
===== Parameter ===== | ===== Parameter ===== |
**URL für die Metadaten der Produktivföderation und eduGAIN:** <code>http(s)://mdq.aai.dfn.de</code> | **URL für die Metadaten der Produktivföderation der DFN-AAI und eduGAIN:** <code>http(s)://mdq.aai.dfn.de</code> |
| |
**URL für die Metadaten der Produktivföderation:** <code>http(s)://mdq-test.aai.dfn.de</code> | **URL für die Metadaten der Testföderation (DFN-AAI-Test):** <code>http(s)://mdq-test.aai.dfn.de</code> |
| |
**Zertifikat zur Überprüfung der Signatur der DFN-AAI MDQ Metadaten** (PEM-Format) \\ | **Zertifikat zur Überprüfung der Signatur der DFN-AAI MDQ Metadaten** (PEM-Format) \\ |
SHA256 Fingerprint: 73:5B:9E:76:8A:A6:33:73:4D:3E:C6:D2:1E:98:B3:D9:03:74:B9:87:16:52:16:53:32:26:9A:B2:55:FC:CA:D2 \\ | SHA256 Fingerprint: 75:18:98:F6:E8:23:21:E8:B1:DC:71:6B:D0:AB:50:F0:C2:DB:9D:CE:4B:2B:A1:88:B1:42:DB:99:13:DB:0D:E9 \\ |
https://www.aai.dfn.de/fileadmin/metadata/dfn-aai-mdq.pem | https://www.aai.dfn.de/metadata/dfn-aai-mdq.pem |
| |
\\ | \\ |
==== Shibboleth IdP 4.x ==== | ==== Shibboleth IdP 4.x ==== |
| |
=== Produktivföderation und eduGAIN === | === DFN-AAI Produktivföderation und eduGAIN === |
| |
<file xml ./conf/metadata-providers.xml> | <file xml ./conf/metadata-providers.xml> |
</file> | </file> |
| |
=== Testföderation === | === Testföderation (DFN-AAI-Test) === |
| |
<file xml ./conf/metadata-providers.xml> | <file xml ./conf/metadata-providers.xml> |
\\ | \\ |
| |
=== Produktivföderation und eduGAIN === | === DFN-AAI Produktivföderation und eduGAIN === |
| |
<file xml /etc/shibboleth/shibboleth2.xml> | <file xml /etc/shibboleth/shibboleth2.xml> |
</MetadataProvider> | </MetadataProvider> |
</file> | </file> |
| |
\\ | |
| |
=== Ausschließlich IdPs aus DFN-AAI Advanced === | |
(Zur Unterscheidung zwischen "Advanced" und "Basic" siehe die Erläuterungen zu den [[de:degrees_of_reliance|Verlässlichkeitsklassen]]) | |
| |
**Wichtig:** damit der u.g. Filter funktioniert, muss im Root-Element ''SPConfig'' der Datei ''shibboleth2.xml'' der Namespace ''xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"'' gesetzt sein. | |
| |
<file xml /etc/shibboleth/shibboleth2.xml> | |
<MetadataProvider type="MDQ" id="dfn_aai_mdq_advanced_only" ignoreTransport="true" | |
cacheDirectory="mdq-aai-dfn-de" | |
maxCacheDuration="3600" minCacheDuration="600" | |
baseUrl="https://mdq.aai.dfn.de"> | |
<MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai-mdq.pem"/> | |
<MetadataFilter type="Include" matcher="EntityAttributes"> | |
<saml:Attribute Name="http://aai.dfn.de/loa/degree-of-reliance" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> | |
<saml:AttributeValue>advanced</saml:AttributeValue> | |
</saml:Attribute> | |
</MetadataFilter> | |
</MetadataProvider> | |
</file> | |
| |
Weitere Filtermöglichkeiten werden gerne auf [[hotline@aai.dfn.de|Anfrage]] dokumentiert. | |
| |
\\ | \\ |
===== Weitere Hinweise und bekannte Probleme ===== | ===== Weitere Hinweise und bekannte Probleme ===== |
**Allgemein:** \\ | **Allgemein:** \\ |
Sofern in der Metadata Provider Konfiguration weitere, 'statische' (z.B. ''FileBackedHTTPMetadataProvider'') ''MetadataProvider'' definiert sind, sollte das MDQ-/DynamicHTTPMetadataProvider ''MetadataProvider''-Element ganz am Ende eingefügt werden. Ansonsten führt der IdP/SP jedes Mal eine Metadata Query aus, auch wenn die betreffende Entity bereits über die statischen Metadaten verfügbar ist. | Sofern in der Metadata Provider Konfiguration weitere, 'statische' (z.B. ''FileBackedHTTPMetadataProvider'') ''MetadataProvider'' definiert sind, sollten ''MetadataProvider''-Elemente des Typs das ''MDQ'' bzw. ''DynamicHTTPMetadataProvider'' ganz am Ende eingefügt werden. Ansonsten führt der IdP/SP jedes Mal eine Metadata Query aus, auch wenn die betreffende Entity bereits über die statischen Metadaten verfügbar ist. |
| |
| **Shibboleth IdP:** \\ |
| Bei nicht erfolgreichen Metadata Queries erscheint eine Warnung im Log: ''Document root was not an EntityDescriptor: org.opensaml.saml.saml2.metadata.impl.EntitiesDescriptorImpl'' |
| |
**Shibboleth SP < 3.2.0:** \\ | **Shibboleth SP < 3.2.0:** \\ |
Im SP-Log erscheint nach jedem Neustart die irreführende Warnung, dass das Caching-Verzeichnis nicht nicht angelegt werden kann. Es existiert bereits. Siehe https://issues.shibboleth.net/jira/browse/SSPCPP-916 | Im SP-Log erscheint nach jedem Neustart die irreführende Warnung, dass das Caching-Verzeichnis nicht nicht angelegt werden kann. Es existiert bereits. Siehe https://issues.shibboleth.net/jira/browse/SSPCPP-916 |
| |
| **Sonstige Fehler** bitte an [[hotline@aai.dfn.de|hotline@aai.dfn.de]] melden. |
| |
\\ | \\ |