| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze |
| eduid:admins:howto:metadata:index [2011/06/07 16:06] – Ivan Novakov novakoi@fel.cvut.cz | cs:tech:metadata-preparation [2022/03/22 09:41] (aktuální) – Jan Oppolzer |
|---|
| ====== Metadata ====== | ====== Příprava metadata ====== |
| |
| ===== Umístění federačních metadat ===== | Jak připravit metadata IdP anebo SP je popsáno v odpovídajících návodech: |
| |
| V [[..:details:|technických detailech federace]] jsou zveřejněné adresy, kde se publikují aktuální federační metadata. | * [[cs:tech:idp:shibboleth#idp-metadataxml |Shibboleth IdP]] |
| | * [[cs:tech:sp:shibboleth#metadata_sluzby|Shibboleth SP 3]] |
| | * [[cs:tech:sp:shibboleth:2#metadata_sluzby|Shibboleth SP 2]] |
| | * [[cs:tech:sp:simplesamlphp#metadata_sluzby|SimpleSAMLphp]] |
| |
| ===== Jak vytvořit metadata pro IdP/SP ===== | Výsledná metadata jsou pak k dispozici v závislosti na entitě: |
| |
| ==== Shibboleth SP 2.x ==== | * Shibboleth IdP: ''<nowiki>https://HOSTNAME/idp/shibboleth</nowiki>'' |
| | * Shibboleth SP: ''<nowiki>https://HOSTNAME/Shibboleth.sso/Metadata</nowiki>'' |
| | * SimpleSAMLphp: ''<nowiki>https://HOSTNAME/simplesaml/module.php/core/frontpage_federation.php</nowiki>'' |
| |
| Shibboleth SP 2.x vystavuje svoje metadata založené na aktuální konfiguraci na speciální adrese (//handleru//), typicky: | |
| <code> | |
| https://HOSTNAME/Shibboleth.sso/Metadata | |
| </code> | |
| |
| Víc informací najdete v [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPHandler|dokumentaci]]. Takto vygenerovaná metadata ovšem neobsahují [[.:contact|kontaktní údaje]]. Tyto údaje můžete vyplnit dodatečně (viz [[.:contact|příklad]]) anebo použít //template// (viz dokumentaci výše). | |
| |
| ==== Shibboleth IdP 2.x ==== | |
| |
| V současné verzi Shibboleth IdP 2.x zatím neexistuje možnost vystavit metadata na daném URL (jako u SP), ale do budoucna se s tím počítá. Přesto, vytvoření metadat není nijak těžké. Běhěm instalace IdP instalační skript jednorázově vygeneruje metadata a uloží je do souboru ''metadata/idp-metadata.xml''. Tyto metadata je potřeba upravit tak, aby odpovídaly záměrům - většinou stačí nastavit pouze ''entityID'' a certifikát. A samozřejmě doplnit o [[.:contact|kontaktní údaje]]. | |
| |
| ==== Shibboleth IdP/SP 1.3 ==== | |
| |
| V distribuci je soubor ''example-metadata.xml'' (po instalaci jej najdete v konfiguračním adresáři), obsahující príklady metadat pro IdP a SP. Použijte tyto příklady jako šablonu pro Vaše metadata. Vetšinou je potřeba nastavit entityID, scope, hostname serveru, certifikát a [[.:contact|kontaktní údaje]]. | |
| |
| ===== Stahování metadat federace ===== | |
| |
| :!: **Adresa, na které jsou publikována federační metadata, najdete na [[..:details:|stránce s technickými detaily]].** | |
| |
| ==== Shibboleth 2.x ==== | |
| |
| Shibboleth ve verzi 2.x již obsahuje nástroje na automatické stahování, kontrolu a údržbu federačních metadat. | |
| |
| === Shibboleth IdP 2.x === | |
| |
| Nastavení metadat se provádí v konfiguračním souboru ''conf/relying-party.xml'' pomocí elementu [[https://wiki.shibboleth.net/confluence/display/SHIB2/IdPMetadataProvider|MetadataProvider]]. Bežně se používá typ //ChainingMetadataProvider// obsahujici jeden nebo více elementu typu //FileBackedHTTPMetadataProvider// (takové je implicitní nastavení): | |
| |
| <code xml> | |
| <!-- MetadataProvider the combining other MetadataProviders --> | |
| <MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider" | |
| xmlns="urn:mace:shibboleth:2.0:metadata"> | |
| |
| <MetadataProvider id="eduid-metadata" xsi:type="FileBackedHTTPMetadataProvider" | |
| xmlns="urn:mace:shibboleth:2.0:metadata" | |
| metadataURL="http://www.eduid.cz/docs/eduid/metadata/eduid-metadata.xml" | |
| backingFile="/opt/shibboleth-idp/metadata/backup/eduid-metadata.xml" | |
| maxRefreshDelay="PT30M"> | |
| <!-- MetadataFilter elements [..] --> | |
| </MetadataProvider> | |
| |
| </MetadataProvider> | |
| </code> | |
| |
| :!: Оd verze 2.2 je možné flexibilním způsobem řídit jak často se mají aktualizovat metadata a co dělat v případě, že se aktualizace neprovede. V příkladu výše používáme pouze atribut //maxRefreshDelay//, který určuje maximální dobu v sekundách, po které se mají metadata udržovat v cachi. Hodnota tohoto atributů (stejně jako i ostatní atributy vyjadřující časovou délku od verze 2.2) se zapisuje v notaci [[http://www.w3.org/TR/xmlschema-2/#duration|XML duration]], takže například hodnota //PT30M// odpovídá 30 minutám. Popis všech atributů najdete v [[https://wiki.shibboleth.net/confluence/display/SHIB2/IdPMetadataProvider#IdPMetadataProvider-FileBackedHTTPMetadataProvider|dokumentaci]]. | |
| |
| Ke každemu //MetadataProvider// elementu je možné nastavit příslušné //MetadataFilter// elementy, které dodatečně oveřují a modifikují metadata. | |
| |
| :!: Doporučujeme u federačních metadat [[.:verify:|ověřovat elektronický podpis]]. | |
| |
| Podrobné informace najdete v [[https://wiki.shibboleth.net/confluence/display/SHIB2/IdPMetadataProvider|oficiální dokumentaci]]. | |
| |
| |
| === Shibboleth SP 2.x === | |
| |
| V konfiguračním souboru shibboleth2.xml je potřeba nastavit příslušný [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataProvider|MetadataProvider]] element. Syntaxe se poněkud liší od stejnojmenného elementu v případě IdP. Běžně se do jednoho elementu typu Chaining umístí jeden nebo víc elementů typu XML s nastavením stahování vzdáleného souboru metadat: | |
| |
| <code xml> | |
| <!-- Chains together all your metadata sources. --> | |
| <MetadataProvider type="Chaining"> | |
| <MetadataProvider type="XML" uri="http://www.eduid.cz/docs/eduid/metadata/eduid-metadata.xml" | |
| backingFilePath="/opt/shibboleth-sp/var/run/shibboleth/backup_eduid-metadata.xml" | |
| reloadInterval="1800"> | |
| | |
| <!-- MetadataFilter elements [..] --> | |
| </MetadataProvider> | |
| </MetadataProvider> | |
| </code> | |
| |
| Podobně jako v případě IdP je možné ke každému elementu MetadataProvider specifikovat [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataFilter|MetadataFilter elementy]]. | |
| |
| :!: Doporučujeme u federačních metadat [[.:verify:|ověřovat elektronický podpis]]. | |
| |
| ==== Shibboleth IdP/SP 1.3 ==== | |
| |
| V staré verzi Shibboleth není možné nastavit automatické stahování, takže je potřeba manuálně nebo skriptem pravidelně stahovat federační metadata. Je možné k tomu použít nástroj [[https://wiki.shibboleth.net/confluence/display/SHIB/SPRelyingConfig#SPRelyingConfig-siterefresh|siterefresh]]. | |