Inhaltsverzeichnis

Metadata Query Service (MDQ)

Pilotbetrieb - Nutzung auf eigene Gefahr!

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.

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).
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.


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

./conf/metadata-providers.xml
    <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>

Testföderation (DFN-AAI-Test)

./conf/metadata-providers.xml
    <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.


Shibboleth SP 3.2.x

Wichtiger Hinweis

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 Shibboleth EDS der Fall ist.


DFN-AAI Produktivföderation und eduGAIN

/etc/shibboleth/shibboleth2.xml
    <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>


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 melden.


Referenzen