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).
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 weiteren Hinweise unten.
Wichtiger Hinweis: Der MDQ-Service liefert keine 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.
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
<MetadataProvider id="dfn_aai_mdq_prod" xsi:type="DynamicHTTPMetadataProvider" maxCacheDuration="PT1H" minCacheDuration="PT10M"> <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true" certificateFile="/etc/ssl/aai/dfn-aai-mdq.pem"/> <MetadataQueryProtocol>http://mdq.aai.dfn.de</MetadataQueryProtocol> </MetadataProvider>
<MetadataProvider id="dfn_aai_mdq_test" xsi:type="DynamicHTTPMetadataProvider" maxCacheDuration="PT1H" minCacheDuration="PT10M"> <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true" certificateFile="/etc/ssl/aai/dfn-aai-mdq.pem"/> <MetadataQueryProtocol>http://mdq-test.aai.dfn.de</MetadataQueryProtocol> </MetadataProvider>
Sonstige Filtermöglichkeiten werden gerne auf Anfrage dokumentiert.
<MetadataProvider type="MDQ" id="dfn_aai_mdq_prod" 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"/> </MetadataProvider>
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 melden.