====== Metadata Query Service (MDQ) ======
Der Metadata Query Service befindet sich erst im Pilotbetrieb. Der DFN-Verein übernimmt keinerlei Gewähr hinsichtlich Verfügbarkeit, Fehlerfreiheit und Stablilität dieses Services. Erfahrungsberichte und Fehlermeldungen nimmt gerne das Team der DFN-AAI entgegen: [[hotline@aai.dfn.de|hotline@aai.dfn.de]].
===== Erläuterungen =====
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. \\
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 =====
**URL für die Metadaten der Produktivföderation der DFN-AAI und eduGAIN:** http(s)://mdq.aai.dfn.de
**URL für die Metadaten der Testföderation (DFN-AAI-Test):** http(s)://mdq-test.aai.dfn.de
**Zertifikat zur Überprüfung der Signatur der DFN-AAI MDQ Metadaten** (PEM-Format) \\
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/metadata/dfn-aai-mdq.pem
\\
===== Konfigurationsbeispiele =====
==== Shibboleth IdP 4.x ====
=== DFN-AAI Produktivföderation und eduGAIN ===
http://mdq.aai.dfn.de
=== Testföderation (DFN-AAI-Test) ===
http://mdq-test.aai.dfn.de
Sonstige Filtermöglichkeiten werden gerne auf [[hotline@aai.dfn.de|Anfrage]] dokumentiert.
\\
==== Shibboleth SP 3.2.x ====
Der Metadaten-Import via Metadata Query macht nur dann Sinn, wenn der Service Provider **keinen Discovery Service verwendet, dessen IdP-Liste aus den importierten Föderationmetadaten generiert wird**, wie dies beispielsweise beim [[de:shibsp#shibboleth_eds_embedded_discovery_service|Shibboleth EDS]] der Fall ist.
\\
=== DFN-AAI Produktivföderation und eduGAIN ===
\\
===== Weitere Hinweise und bekannte Probleme =====
**Allgemein:** \\
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:** \\
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.
\\
===== Referenzen =====
* [[https://datatracker.ietf.org/doc/draft-young-md-query/|Spezifikation Metadata Query Protocol]]
* Shibboleth Wiki
* [[https://wiki.shibboleth.net/confluence/display/IDP4/MetadataManagementBestPractices#MetadataManagementBestPractices-DynamicHTTPMetadataProvider|Metadata Management Best Practices]]
* [[https://wiki.shibboleth.net/confluence/display/IDP4/DynamicHTTPMetadataProvider|Konfiguration Identity Provider]]
* [[https://wiki.shibboleth.net/confluence/display/SP3/MDQMetadataProvider|Konfiguration Service Provider]]
* Ausführliche [[https://spaces.at.internet2.edu/display/MDQ/Introducing+per-entity+metadata+service|Doku im InCommon Wiki]] (US-Föderation)
{{tag>metadata idp4 sp3}}