Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
cs:tech:metadata-preparation [2017/02/10 07:02] – upraveno mimo DokuWiki 127.0.0.1cs:tech:metadata-preparation [2022/03/22 09:41] (aktuální) Jan Oppolzer
Řádek 1: Řádek 1:
-====== 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:
  
-[[:cs:tech:summary|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 závislosti na entitě:
- +
-==== Shibboleth SP 2.x ==== +
- +
-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í [[cs:tech:metadata-contacts|kontaktní údaje]]. Tyto údaje můžete vyplnit dodatečně (viz [[cs:tech:metadata-contacts|příklad]]) anebo použít //template// (viz dokumentaci výše). +
- +
-==== Shibboleth IdP 2.x ==== +
- +
-Shibboleth IdP v aktuální verzi 2.4.0 vystavuje svá metadata na následující URL adrese: +
- +
-<code> +
-https://HOSTNAME/idp/shibboleth +
-</code> +
- +
-Během instalace IdP instalační skript vygeneruje metadata a umístí je do souboru ''metadata/idp-metadata.xml''. Tato metadata je však potřeba doplnit např. o [[cs:tech:metadata-contacts|kontaktní údaje]]. Metadata je pak potřeba udržovat aktuální podobě, např. pokud se mění certifikát atd. +
-===== Stahování metadat federace ===== +
- +
-:!: **Adresa, na které jsou publikována federační metadata, najdete na [[:cs:tech:summary|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="https://metadata.eduid.cz/entities/eduid+sp" +
-                      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 [[cs:tech:metadata-sig-verification|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="https://metadata.eduid.cz/entities/eduid+idp" +
-                      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 [[cs:tech:metadata-sig-verification|ověřovat elektronický podpis]].+
  
 +  * 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>''