Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
cs:tech:sp:shibboleth [2019/11/27 10:13] jan.oppolzer@cesnet.cz [Metadata služby] |
cs:tech:sp:shibboleth [2019/12/13 20:02] jan.oppolzer@cesnet.cz |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== Návod k Shibboleth SP řady 2.6 ====== | + | ====== Shibboleth SP 3 ====== |
<WRAP center round tip 100%> | <WRAP center round tip 100%> | ||
- | **Shibboleth SP řady 3.0 a Debian 10 Buster** | + | **Shibboleth SP řady 2.6 a Debian 9 Stretch** |
- | Hledáte-li návod pro Shibboleth SP řady 3.0, který je dostupný v Debianu 10 s kódovým označením [[https://www.debian.org/releases/buster/|Buster]], naleznete ho na [[cs:tech:sp:shibboleth3|této stránce]]. | + | Hledáte-li návod pro Shibboleth SP řady 2.6, který je dostupný v Debianu 9 s kódovým označením [[https://www.debian.org/releases/stretch/|Stretch]], naleznete ho na [[cs:tech:sp:shibboleth|této stránce]]. |
</WRAP> | </WRAP> | ||
- | Následující návod popisuje instalaci a konfiguraci [[https://shibboleth.net/products/service-provider.html|Shibboleth SP]] verze 2.6.0. Jako poskytovatele služby (Service Provider, SP) můžeme také použít [[https://simplesamlphp.org/|SimpleSAMLphp]], jehož instalace a konfigurace je na našich stránkách také [[:cs:tech:sp:simplesamlphp|zdokumentována]]. | + | Následující návod popisuje instalaci a konfiguraci [[https://shibboleth.net/products/service-provider.html|Shibboleth SP]] verze 3.0.4. Jako poskytovatele služby (Service Provider, SP) můžete také použít [[https://simplesamlphp.org/|SimpleSAMLphp]], jehož instalace a konfigurace je na našich stránkách také [[https://www.eduid.cz/cs/tech/sp/simplesamlphp|zdokumentována]]. |
- | V návodu budeme používat linuxovou distribuci [[https://www.debian.org/|Debian]] v jeho poslední verzi 9 s kódovým označením [[https://www.debian.org/releases/stretch/|Stretch]]. Používáte-li jinou distribuci, některé kroky (např. instalace balíčků) se u vás budou odpovídajícím způsobem lišit. | + | V návodu budeme používat linuxovou distribuci [[https://www.debian.org/|Debian]] v jeho poslední verzi 10 s kódovým označením [[https://www.debian.org/releases/buster/|Buster]]. Používáte-li jinou distribuci, některé kroky (např. instalace balíčků) se u vás budou odpovídajícím způsobem lišit. |
<WRAP center round alert 100%> | <WRAP center round alert 100%> | ||
Řádek 19: | Řádek 19: | ||
</WRAP> | </WRAP> | ||
- | Návod provází kompletní instalací a konfigurací SimpleSAMLphp včetně zdrojů metadat federace [[https://www.eduid.cz/cs/tech/summary|eduID.cz]], [[https://www.hostel.eduid.cz|Hostel IdP]] a Social IdPs (Facebook, GitHub, Google, LinkedIn, ORCID).. | + | Návod provází kompletní instalací a konfigurací Shibboleth SP včetně zdrojů metadat federace [[https://www.eduid.cz/cs/tech/summary|eduID.cz]], [[https://www.hostel.eduid.cz|Hostel IdP]] a Social IdPs (Facebook, GitHub, Google, LinkedIn, ORCID). |
===== Instalace ===== | ===== Instalace ===== | ||
Řádek 27: | Řádek 26: | ||
<code bash> | <code bash> | ||
# Instalace Shibboleth SP včetně modulů pro Apache HTTP server | # Instalace Shibboleth SP včetně modulů pro Apache HTTP server | ||
- | apt-get install libapache2-mod-shib2 | + | apt install libapache2-mod-shib |
</code> | </code> | ||
- | Pokud na serveru chybí Apache, je třeba ho doinstalovat následujícím příkazem: | + | Pokud na serveru chybí Apache, bude doinstalován jako závislost anebo je možné ho nejprve doinstalovat následujícím příkazem: |
<code bash> | <code bash> | ||
# Instalace Apache | # Instalace Apache | ||
- | apt-get install apache2 | + | apt install apache2 |
</code> | </code> | ||
Řádek 53: | Řádek 52: | ||
<!-- Nastavení entityID --> | <!-- Nastavení entityID --> | ||
<ApplicationDefaults entityID="https://sp.example.org/shibboleth" | <ApplicationDefaults entityID="https://sp.example.org/shibboleth" | ||
- | REMOTE_USER="eppn persistent-id targeted-id"> | + | REMOTE_USER="eppn subject-id pairwise-id persistent-id" |
+ | cipherSuites="DEFAULT:!EXP:!LOW:!aNULL:!eNULL:!DES:!IDEA:!SEED:!RC4:!3DES:!kRSA:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1"> | ||
</code> | </code> | ||
+ | |||
==== Sezení ==== | ==== Sezení ==== | ||
Řádek 65: | Řádek 66: | ||
</code> | </code> | ||
- | ==== WAYF ==== | + | ==== WAYF/DS ==== |
- | Přihlášení ke službě jde nastavit buď vůči jednomu konkrétnímu IdP anebo vůči více IdP pomocí WAYFu. Použití WAYFu je častější případ. Obojí se provádí v elementu ''<SSO>''. | + | Přihlášení ke službě jde nastavit buď vůči jednomu konkrétnímu IdP anebo vůči více IdP pomocí WAYF/DS. Použití WAYF/DS je častější případ. Obojí se provádí v elementu ''<SSO>''. |
- | Chcete-li použít WAYF a dát tak uživatelům možnost si vybrat svou domovskou organizaci pro ověření, musíte z elementu ''<SSO>'' odstranit atribut ''entityID'', následně můžete v atributu ''discoveryURL'' nastavit URL adresu WAYFu. V následujícím příkladu použijeme WAYF federace eduID.cz, avšak můžete použít svůj vlastní. | + | Chcete-li použít WAYF/DS a dát tak uživatelům možnost si vybrat svou domovskou organizaci pro ověření, musíte z elementu ''<SSO>'' odstranit atribut ''entityID'', následně můžete v atributu ''discoveryURL'' nastavit URL adresu WAYF/DS. V následujícím příkladu použijeme WAYF/DS federace eduID.cz, avšak můžete použít svůj vlastní. |
<code xml> | <code xml> | ||
<!-- Autentizace vůči IdP vybranému z WAYF/DS --> | <!-- Autentizace vůči IdP vybranému z WAYF/DS --> | ||
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://ds.eduid.cz/wayf.php"> | <SSO discoveryProtocol="SAMLDS" discoveryURL="https://ds.eduid.cz/wayf.php"> | ||
- | SAML2 SAML1 | + | SAML2 |
</SSO> | </SSO> | ||
</code> | </code> | ||
Řádek 83: | Řádek 84: | ||
<!-- Autentizace vůči jednomu konkrétnímu IdP --> | <!-- Autentizace vůči jednomu konkrétnímu IdP --> | ||
<SSO entityID="https://idp.example.org/idp/shibboleth"> | <SSO entityID="https://idp.example.org/idp/shibboleth"> | ||
- | SAML2 SAML1 | + | SAML2 |
</SSO> | </SSO> | ||
</code> | </code> | ||
Řádek 89: | Řádek 90: | ||
==== Metadata služby ==== | ==== Metadata služby ==== | ||
- | Standardní metadata služby, která si můžete nechat vygenerovat po přístupu na ''<nowiki>https://HOSTNAME/Shibboleth.sso/Metadata</nowiki>'', je potřeba doplnit šablonou o určité údaje (např. organizace, kontakt atd.) než je možné službu zaregistrovat do federace. Korektní metadata tedy vygenerujeme následujícím postupem. | + | Standardní metadata služby, která si můžete nechat vygenerovat po přístupu na ''<nowiki>https://sp.example.org/Shibboleth.sso/Metadata</nowiki>'', je potřeba doplnit šablonou o určité údaje (např. organizace, kontakt atd.) než je možné službu zaregistrovat do federace. Korektní metadata tedy vygenerujeme následujícím postupem. |
V ''shibboleth2.xml'' najdeme element ''<Handler>'' týkající se metadat: | V ''shibboleth2.xml'' najdeme element ''<Handler>'' týkající se metadat: | ||
Řádek 165: | Řádek 166: | ||
=== Finální metadata === | === Finální metadata === | ||
- | Metadata jsou teď k dispozici na adrese ''<nowiki>https://sp.example.org/Shibboleth.sso/Metadata</nowiki>''. | + | Po restartování ''shibd'' procesu budou korektní metadata k dispozici na adrese ''<nowiki>https://HOSTNAME/Shibboleth.sso/Metadata</nowiki>''. |
+ | |||
+ | ==== Hodnoty uživatelských atributů ==== | ||
+ | |||
+ | //Toto je vhodné pouze pro ladění konfigurace a v produkčním stavu služby nemá význam.// | ||
+ | |||
+ | Při přístupu na adresu ''<nowiki>https://HOSTNAME/Shibboleth.sso/Session</nowiki>'' se zobrazí, nejste-li přihlášeni, pouze informace "//A valid session was not found.//" Pokud ale budete přihlášení, čili budete mít na službě vytvořené sezení, uvidíte zajímavé informace, např. které atributy jste od IdP získali. Chcete-li si kromě seznamu atributů nechat zobrazit i jejich hodnoty, musíte změnit hodnotu atributu ''showAttributeValues'' na //true// u elementu ''<Handler>'' s atributem ''type'' rovným hodnotě //Session//: | ||
+ | |||
+ | <code xml> | ||
+ | <!-- Zobrazení hodnot atributů na diagnostické stránce /Shibboleth.sso/Session --> | ||
+ | <Handler type="Session" Location="/Session" showAttributeValues="true"/> | ||
+ | </code> | ||
+ | |||
+ | ==== Kontakt na správce služby ==== | ||
+ | |||
+ | Je také vhodné nastavit kontakt na správce služby. Pokud přihlášení z nějakého důvodu selže, obvykle se zobrazí i e-mailová adresa, na které je možné informovat správce. | ||
+ | |||
+ | E-mailová adresa správce se nastavuje v atributu ''supportContact'' u elementu ''<Errors>'': | ||
+ | |||
+ | <code xml> | ||
+ | <Errors supportContact="root@example.org" | ||
+ | helpLocation="/about.html" | ||
+ | styleSheet="/shibboleth-sp/main.css"/> | ||
+ | </code> | ||
==== Metadata federace ==== | ==== Metadata federace ==== | ||
Řádek 175: | Řádek 199: | ||
<code bash> | <code bash> | ||
# Stažení veřejného klíče pro kontrolu autentičnosti metadat | # Stažení veřejného klíče pro kontrolu autentičnosti metadat | ||
- | cd /etc/shibboleth && \ | + | wget -P /etc/shibboleth https://www.eduid.cz/docs/eduid/metadata/metadata.eduid.cz.crt.pem |
- | wget https://www.eduid.cz/docs/eduid/metadata/metadata.eduid.cz.crt.pem | + | |
</code> | </code> | ||
- | Nyní zbývá nastavit zdroj metadat a nezapomenout na ověření pravosti metadat (kontrola vůči veřejnému klíči). | + | Nyní zbývá nastavit zdroje metadat a nezapomenout na ověření pravosti metadat (kontrola vůči veřejnému klíči, který jsme právě stáhli). |
Konfigurace federace eduID.cz jako zdroje metadat: | Konfigurace federace eduID.cz jako zdroje metadat: | ||
Řádek 185: | Řádek 208: | ||
<code xml> | <code xml> | ||
<!-- Metadata federace eduID.cz --> | <!-- Metadata federace eduID.cz --> | ||
- | <MetadataProvider type="XML" uri="https://metadata.eduid.cz/entities/eduid+idp" | + | <MetadataProvider type="XML" validate="true" |
- | backingFilePath="eduid+idp.xml" reloadInterval="600"> | + | url="https://metadata.eduid.cz/entities/eduid+idp" |
- | <MetadataFilter type="Signature" certificate="metadata.eduid.cz.crt.pem"/> | + | backingFilePath="eduid+idp.xml" maxRefreshDelay="900"> |
+ | |||
+ | <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/> | ||
+ | <MetadataFilter type="Signature" certificate="metadata.eduid.cz.crt.pem" verifyBackup="false"/> | ||
</MetadataProvider> | </MetadataProvider> | ||
+ | |||
</code> | </code> | ||
Řádek 195: | Řádek 222: | ||
<code xml> | <code xml> | ||
<!-- Metadata služby Hostel IdP --> | <!-- Metadata služby Hostel IdP --> | ||
- | <MetadataProvider type="XML" uri="https://metadata.eduid.cz/entities/hostel" | + | <MetadataProvider type="XML" validate="true" |
- | backingFilePath="hostel.xml" reloadInterval="600"> | + | url="https://metadata.eduid.cz/entities/hostel" |
- | <MetadataFilter type="Signature" certificate="metadata.eduid.cz.crt.pem"/> | + | backingFilePath="hostel.xml" maxRefreshDelay="900"> |
+ | |||
+ | <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/> | ||
+ | <MetadataFilter type="Signature" certificate="metadata.eduid.cz.crt.pem" verifyBackup="false"/> | ||
</MetadataProvider> | </MetadataProvider> | ||
</code> | </code> | ||
- | Konfigurace služby Social IdP (Facebook, GitHub, Google, LinkedIn, ORCID) jako zdroje metadat: | + | Konfigurace federace Social IdPs (Facebook, GitHub, Google, LinkedIn a ORCID) jako zdroje metadat: |
<code xml> | <code xml> | ||
<!-- Metadata služby Social IdP (Facebook, GitHub, Google, LinkedIn, ORCID) --> | <!-- Metadata služby Social IdP (Facebook, GitHub, Google, LinkedIn, ORCID) --> | ||
- | <MetadataProvider type="XML" uri="https://metadata.eduid.cz/entities/socialidps" | + | <MetadataProvider type="XML" validate="true" |
- | backingFilePath="socialidps.xml" reloadInterval="600"> | + | url="https://metadata.eduid.cz/entities/socialidps" |
- | <MetadataFilter type="Signature" certificate="metadata.eduid.cz.crt.pem"/> | + | backingFilePath="socialidps.xml" maxRefreshDelay="900"> |
+ | |||
+ | <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/> | ||
+ | <MetadataFilter type="Signature" certificate="metadata.eduid.cz.crt.pem" verifyBackup="false"/> | ||
</MetadataProvider> | </MetadataProvider> | ||
</code> | </code> | ||
- | Význam atributů elementu [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataProvider|<MetadataProvider>]]: | + | Význam atributů elementu [[https://wiki.shibboleth.net/confluence/display/SP3/XMLMetadataProvider|<MetadataProvider>]]: |
- | * type='XML' -- metadata jsou načtena z lokálního nebo vzdáleného XML dokumentu, | + | * type="XML" -- metadata jsou načtena z lokálního nebo vzdáleného XML dokumentu, |
- | * uri -- URI metadat, | + | * url -- URL metadat, |
* backingFilePath -- název (a případně i adresář, výchozí /var/cache/shibboleth/), kam se metadata uloží, | * backingFilePath -- název (a případně i adresář, výchozí /var/cache/shibboleth/), kam se metadata uloží, | ||
- | * reloadInterval -- maximální doba mezi načtením nových metadat (v sekundách). | + | * maxRefreshDelay -- maximální doba mezi načtením nových metadat (v sekundách). |
- | Význam atributů elementu [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataFilter|<MetadataFilter>]]: | + | Význam elementů [[https://wiki.shibboleth.net/confluence/display/SP3/MetadataFilter|<MetadataFilter>]] a jeho atributů: |
- | * type='Signature' -- ověří XML podpis v metadatech, | + | * type="RequireValidUntil" -- vyžaduje, aby kořenový element v metadatech měl atribut ''validUntil'', |
+ | * maxValidityInterval -- maximální doba platnosti metadat v sekundách, | ||
+ | * type="Signature" -- ověří XML podpis v metadatech, | ||
* certificate -- certifikát obsahující veřejný klíč použitý k ověření podpisu metadat. | * certificate -- certifikát obsahující veřejný klíč použitý k ověření podpisu metadat. | ||
- | ==== Kontakt na správce služby ==== | ||
- | |||
- | Je také vhodné nastavit kontakt na správce služby. Pokud přihlášení z nějakého důvodu selže, obvykle se zobrazí i e-mailová adresa, ne které je možné informovat správce. | ||
- | |||
- | E-mailová adresa správce se nastavuje v atributu ''supportContact'' u elementu ''<Errors>'': | ||
- | |||
- | <code xml> | ||
- | <Errors supportContact="root@example.org" | ||
- | helpLocation="/about.html" | ||
- | styleSheet="/shibboleth-sp/main.css"/> | ||
- | </code> | ||
- | ==== Vygenerování self-sign certifikátu ==== | + | ==== Vygenerování a konfigurace self-sign certifikátu ==== |
- | Komunikace ve federaci se šifruje, proto SP musí v metadatech uvádět svůj veřejný klíč, pomocí něhož IdP bude moci zašifrovanou zprávu (XML assertion) rozšifrovat. Jelikož ve federaci máme určitá pravidla pro publikaci metadat, je možné v metadatech používat [[:cs:tech:certificates|self-sign certifikát]] s platností např. 10 nebo více let. Není nutné používat certifikát od důvěryhodné certifikační autority, u něhož je platnost omezena na maximálně 3 roky. | + | Komunikace ve federaci se šifruje, proto SP musí v metadatech uvádět svůj veřejný klíč, pomocí něhož IdP bude moci zašifrovanou zprávu (XML assertion) rozšifrovat. Výrazně doporučujeme v metadatech používat [[:cs:tech:certificates|self-sign certifikát]] s dlouho dobou platnosti, např. 10 nebo i více let. Není vhodné používat certifikát od důvěryhodné certifikační autority, u něhož je platnost omezena na maximálně 2 roky a následně je nutné tento certifikát vyměnit. |
V linuxové distribuci Debian je pro generování self-sign certifikátu pro Shibboleth SP přítomný shellovský skript ''shib-keygen'', který stačí spustit s odpovídajícími parametry. | V linuxové distribuci Debian je pro generování self-sign certifikátu pro Shibboleth SP přítomný shellovský skript ''shib-keygen'', který stačí spustit s odpovídajícími parametry. | ||
Řádek 250: | Řádek 274: | ||
* -y -- platnost certifikátu v rocích, | * -y -- platnost certifikátu v rocích, | ||
* -e -- entityID, pro které certifikát vystavujeme. | * -e -- entityID, pro které certifikát vystavujeme. | ||
+ | |||
+ | Certifikát, resp. klíč, se uloží do souboru ''sp-cert.pem'', resp. ''sp-key.pem'' v adresáři ''/etc/shibboleth/''. Nyní již jen zbývá nakonfigurovat použití self-sign certifikátu v Shibbolethu. Původní elementy ''<CredentialResolver>'' zakomentujeme nebo smažeme a poté na jejich místo uvedeme následující (všimněte si, že oproti původním elementům zde není žádný atribut ''use''): | ||
+ | |||
+ | <code xml> | ||
+ | <CredentialResolver type="File" key="sp-key.pem" certificate="sp-cert.pem"/> | ||
+ | </code> | ||
+ | |||
+ | ==== Restart Shibboleth SP ==== | ||
+ | |||
+ | Nyní musíme restartovat Shibboleth SP, aby se načetla nová konfigurace. | ||
+ | |||
+ | <code bash> | ||
+ | systemctl restart shibd | ||
+ | </code> | ||
===== Registrace služby v metadatech federace eduID.cz ===== | ===== Registrace služby v metadatech federace eduID.cz ===== | ||
- | Nyní je potřeba službu zaregistrovat do federace [[cs:tech:metadata-publication|eduID.cz]]. | + | Nyní je potřeba službu zaregistrovat do federace [[cs:tech:metadata-publication|eduID.cz]]. Stáhněte metadata z adresy ''<nowiki>https://HOSTNAME/Shibboleth.sso/Metadata</nowiki>'' a pošlete metadata na e-mailovou adresu [[eduid-admin@eduid.cz]]. Nezapomeňte e-mail digitálně podepsat odpovídajícím certifikátem a také na skutečnost, že metadata musí poslat odpovídající osoba, tj. jmenovaný administrativní nebo technický kontakt za danou organizaci. |
===== Použití u Apache ===== | ===== Použití u Apache ===== | ||
Řádek 259: | Řádek 297: | ||
==== Uživatelské atributy ==== | ==== Uživatelské atributy ==== | ||
- | Uživatelské atributy získá web server v proměnných, které se definují v konfiguračním souboru ''attribute-map.xml''. Například níže uvedené mapování zajistí, že proměnné obsahující [[cs:tech:attributes:givenname|křestní jméno]] a [[cs:tech:attributes:sn|příjmení]] (v SAML1 i SAML2 kódování), budou dostupné v proměnných //[[cs:tech:attributes:givenname]]// a //[[cs:tech:attributes:sn]]//. | + | Uživatelské atributy získá web server v proměnných, které se definují v konfiguračním souboru ''attribute-map.xml''. Například níže uvedené mapování zajistí, že proměnné obsahující [[cs:tech:attributes:givenname|křestní jméno]] a [[cs:tech:attributes:sn|příjmení]] (v SAML2 kódování), budou dostupné v proměnných //[[cs:tech:attributes:givenname]]// a //[[cs:tech:attributes:sn]]//. |
<code xml> | <code xml> | ||
- | # SAML1 | ||
- | <Attribute name="urn:mace:dir:attribute-def:givenName" id="givenName"/> | ||
- | <Attribute name="urn:mace:dir:attribute-def:sn" id="sn"/> | ||
- | |||
# SAML2 | # SAML2 | ||
<Attribute name="urn:oid:2.5.4.42" id="givenName"/> | <Attribute name="urn:oid:2.5.4.42" id="givenName"/> | ||
Řádek 273: | Řádek 307: | ||
==== REMOTE_USER ==== | ==== REMOTE_USER ==== | ||
- | V proměnné ''REMOTE_USER'' bude po přihlášení uživatele uloženo jeho uživatelské jméno. V konfiguračním souboru (''shibboleth2.xml'') lze nadefinovat mezerou oddělený seznam atributů, z nichž se Shibboleth SP pokusí uživatelské jméno získat. První proměnná (ve výchozím nastavení je: //eppn persistent-id targeted-id//), která bude obsahovat nějakou hodnotu, se použije a uloží se do proměnné ''REMOTE_USER'': | + | V proměnné ''REMOTE_USER'' bude po přihlášení uživatele uloženo jeho uživatelské jméno. V konfiguračním souboru ''shibboleth2.xml'' lze v atributu ''REMOTE_USER'' u elementu ''<ApplicationDefaults>'' nadefinovat mezerou oddělený seznam atributů, z nichž se Shibboleth SP pokusí uživatelské jméno získat. První proměnná (ve výchozím nastavení je: //eppn subject-id pairwise-id persistent-id//), která bude obsahovat nějakou hodnotu, se použije a uloží se do proměnné ''REMOTE_USER'': |
<code xml> | <code xml> | ||
- | <ApplicationDefaults entityID="https://attributes.eduid.cz/shibboleth" | + | <ApplicationDefaults entityID="https://sp.example.org/shibboleth" |
- | metadataAttributePrefix="md_" | + | REMOTE_USER="eppn subject-id pairwise-id persistent-id"> |
- | REMOTE_USER="eppn persistent-id targeted-id"> | + | |
</code> | </code> | ||
Řádek 286: | Řádek 319: | ||
<code xml> | <code xml> | ||
- | <ApplicationDefaults entityID="https://attributes.eduid.cz/shibboleth" | + | <ApplicationDefaults entityID="https://sp.example.org/shibboleth" |
- | metadataAttributePrefix="md_" | + | REMOTE_USER="uniqueId eppn subject-id pairwise-id persistent-id" |
- | REMOTE_USER="uniqueId eppn persistent-id targeted-id"> | + | |
</code> | </code> | ||
- | V takovém případě je ale ještě potřeba zajistit mapování atributu eduPersonUniqueId na proměnnou //uniqueId// v Shibboleth SP. To se nastavuje v konfiguračním souboru ''attribute-map.xml'': | + | V takovém případě je ale ještě potřeba zajistit mapování atributu [[cs:tech:attributes:edupersonuniqueid]] na proměnnou //uniqueId// v Shibboleth SP. To se nastavuje v konfiguračním souboru ''attribute-map.xml'': |
<code xml> | <code xml> | ||
Řádek 301: | Řádek 333: | ||
==== Přístup po přihlášení ==== | ==== Přístup po přihlášení ==== | ||
- | V níže uvedeném příkladu si pomocí Shibbolethu zpřístupníme adresář (''/shibbloleth'') ve webovém serveru Apache. Podle konfigurace v souboru ''/etc/shibboleth/shibboleth2.xml'' budeme následně při přístupu k danému adresáři přesměrování na WAYF anebo na konkrétní IdP, vůči kterému budou moci uživatelé provést své přihlášení. | + | V níže uvedeném příkladu si pomocí Shibbolethu zpřístupníme adresář (''/shibbloleth'') ve webovém serveru Apache. Podle konfigurace v souboru ''/etc/shibboleth/shibboleth2.xml'' budeme následně při přístupu k danému adresáři přesměrování na WAYF/DS anebo na konkrétní IdP, vůči kterému budou moci uživatelé provést své přihlášení. |
<code apache> | <code apache> | ||
Řádek 311: | Řádek 343: | ||
</code> | </code> | ||
- | Aby výše uvedená konfigurace byla funkční, je potřeba v HTTP serveru Apache aktivovat modul pro Shibboleth. | + | Aby výše uvedená konfigurace byla funkční, je potřeba, aby byl v HTTP serveru Apache aktivován modul pro Shibboleth. Ten se aktivuje automaticky po instalaci, v případě, že by však aktivní nebyl je možné ho aktivovat ručně: |
<code bash> | <code bash> | ||
Řádek 318: | Řádek 350: | ||
</code> | </code> | ||
- | Po aktivaci modulu je nutné restartovat Apache, aby si načetl nejen nově povolený modul, ale také aby si přečetl novou konfiguraci s přístupem k adresáři ''/shibboleth''. | + | Nyní je nutné restartovat Apache, aby si načetl nejen nově povolený modul, pokud jste ho museli aktivovat sami ručně, ale také aby si přečetl novou konfiguraci s přístupem k adresáři ''/shibboleth''. |
<code bash> | <code bash> | ||
# Restartování Apache pro načtení všech povolených modulů | # Restartování Apache pro načtení všech povolených modulů | ||
- | service apache2 restart | + | systemctl restart apache2 |
</code> | </code> | ||
Řádek 337: | Řádek 369: | ||
</code> | </code> | ||
- | Bližší možnosti nastavení jsou k dispozici na oficiálních stránkách Shibbolethu ([[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig|NativeSPApacheConfig]], [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPhtaccess|NativeSPhtaccess]]). | + | Bližší možnosti nastavení jsou k dispozici na oficiálních stránkách Shibbolethu ([[https://wiki.shibboleth.net/confluence/display/SP3/Apache|Apache]], [[https://wiki.shibboleth.net/confluence/display/SP3/htaccess|htaccess]]). |