cs:tech:idp:shibboleth

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
Následující verze Obě strany příští revize
cs:tech:idp:shibboleth [2020/01/15 13:54]
jan.oppolzer@cesnet.cz [attribute-resolver.xml] překlep
cs:tech:idp:shibboleth [2020/03/30 15:43]
jan.oppolzer@cesnet.cz [idp.properties]
Řádek 2: Řádek 2:
  
 **Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat Shibboleth IdP. Před instalací musíme zprovoznit [[cs:​tech:​idp:​jetty]].** **Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat Shibboleth IdP. Před instalací musíme zprovoznit [[cs:​tech:​idp:​jetty]].**
 +
 +<WRAP important>​
 +**Podpora pro Shibboleth IdP řady 3 bude ukončena k 31. 12. 2020. Tento návod se tedy týká již nové řady 4.**
 +</​WRAP>​
  
 ---- ----
Řádek 7: Řádek 11:
 ===== Instalace ===== ===== Instalace =====
  
-Zdrojové kódy stáhneme [[https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/|ze stránky projektu]] a umístíme do adresáře ''/​opt''​ anebo pomocí programu //wget// následujícím způsobem. Nezapomeneme ověřit SHA256 otisk a GPG podpis.+Zdrojové kódy stáhneme [[https://​shibboleth.net/​downloads/​identity-provider/​4.0.0/|ze stránky projektu]] a umístíme do adresáře ''/​opt''​ anebo pomocí programu //wget// následujícím způsobem. Nezapomeneme ověřit SHA256 otisk a GPG podpis.
  
 <code bash> <code bash>
 # Stažení zdrojového kódu Shibboleth IdP # Stažení zdrojového kódu Shibboleth IdP
 wget -P /opt \ wget -P /opt \
-     ​https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/​shibboleth-identity-provider-3.4.6.tar.gz \ +     ​https://​shibboleth.net/​downloads/​identity-provider/​4.0.0/​shibboleth-identity-provider-4.0.0.tar.gz \ 
-     ​https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/​shibboleth-identity-provider-3.4.6.tar.gz.asc \ +     ​https://​shibboleth.net/​downloads/​identity-provider/​4.0.0/​shibboleth-identity-provider-4.0.0.tar.gz.asc \ 
-     ​https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/​shibboleth-identity-provider-3.4.6.tar.gz.sha256+     ​https://​shibboleth.net/​downloads/​identity-provider/​4.0.0/​shibboleth-identity-provider-4.0.0.tar.gz.sha256
  
 # Přepnutí do adresáře /opt # Přepnutí do adresáře /opt
Řádek 20: Řádek 24:
  
 # Kontrola SHA256 otisku # Kontrola SHA256 otisku
-sha256sum -c shibboleth-identity-provider-3.4.6.tar.gz.sha256+sha256sum -c shibboleth-identity-provider-4.0.0.tar.gz.sha256
  
 # Kontrola GPG podpisu # Kontrola GPG podpisu
-# Nejprve importujeme klíč 07CEEB8B +gpg --verify shibboleth-identity-provider-4.0.0.tar.gz.asc
-gpg --keyserver hkp://​keys.gnupg.net --search-keys 07CEEB8B +
-# Nyní můžeme provést samotnou kontrolu +
-gpg --verify shibboleth-identity-provider-3.4.6.tar.gz.asc+
 </​code>​ </​code>​
  
Řádek 33: Řádek 34:
 <code bash> <code bash>
 # Instalace Shibboleth IdP # Instalace Shibboleth IdP
-tar -xzf shibboleth-identity-provider-3.4.6.tar.gz +tar -xzf shibboleth-identity-provider-4.0.0.tar.gz 
-cd shibboleth-identity-provider-3.4.6/+cd shibboleth-identity-provider-4.0.0/
 ./​bin/​install.sh ./​bin/​install.sh
 </​code>​ </​code>​
Řádek 40: Řádek 41:
 Po spuštění instalačního skriptu: Po spuštění instalačního skriptu:
   - potvrdíme zdrojový instalační adresář,   - potvrdíme zdrojový instalační adresář,
 +  - potvrdíme cílový instalační adresář,
   - vyplníme hostname serveru (pokud není vyplněn správně),   - vyplníme hostname serveru (pokud není vyplněn správně),
 +  - vložíme opakovaně dvě hesla (//​Backchannel PKCS12 Password// a //Cookie Encryption Key Password//​),​ která si předem vygenerujeme pomocí příkazu ''​openssl rand -hex 20'',​
   - potvrdíme entityID,   - potvrdíme entityID,
-  - zadáme scope organizace (pokud není vyplněn správně)+  - zadáme scope organizace (pokud není vyplněn správně).
-  - vložíme opakovaně dvě hesla (//​Backchannel PKCS12 Password// a //Cookie Encryption Key Password//​),​ která si předem vygenerujeme pomocí příkazu ''​openssl rand -hex 20''​.+
  
 Zde je vyobrazen průběh instalačního skriptu ''​install.sh''​. Zde je vyobrazen průběh instalačního skriptu ''​install.sh''​.
  
 <code bash> <code bash>
-Source (Distribution) Directory (press <​enter>​ to accept default)[/​opt/​shibboleth-identity-provider-3.4.6]+Buildfile: /​opt/​shibboleth-identity-provider-4.0.0/​bin/​build.xml
  
-Installation ​Directory: [/​opt/​shibboleth-idp]+install: 
 +Source (Distribution) ​Directory ​(press <​enter>​ to accept default): [/​opt/​shibboleth-identity-provider-4.0.0?
  
-Hostname: [idp.example.org] +Installation Directory: [/opt/shibboleth-idp] ?
-SAML EntityID: [https://idp.example.org/​idp/​shibboleth] +
-Attribute Scope: [example.org]+
  
-Backchannel PKCS12 Password +INFO [net.shibboleth.idp.installer.V4Install:151] New Install. ​ Version4.0.0 
-Re-enter password:  +Host Name[idp.example.org] ? 
-Cookie Encryption Key Password:  + 
-Re-enter password: ​ +INFO [net.shibboleth.idp.installer.V4Install:549] Creating ​idp-signing, CN = idp.example.org URI = https://idp.example.org/idp/shibboleth, keySize=3072 
-Warning: /opt/shibboleth-idp/bin does not exist. +INFO [net.shibboleth.idp.installer.V4Install:549] Creating ​idp-encryption, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth, keySize=3072 
-Warning/​opt/​shibboleth-idp/edit-webapp does not exist. +Backchannel PKCS12 Password: 
-Warning: /opt/shibboleth-idp/dist does not exist. +Re-enter password: 
-Warning: ​/opt/shibboleth-idp/doc does not exist. +INFO [net.shibboleth.idp.installer.V4Install:​592] - Creating ​backchannel keystore, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth, keySize=3072 
-Warning/​opt/​shibboleth-idp/system does not exist. +Cookie Encryption Key Password: 
-Generating Signing Key, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth ​... +Re-enter password: 
-...done +INFO [net.shibboleth.idp.installer.V4Install:​633] - Creating ​backchannel ​keystore, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth, keySize=3072 
-Creating ​Encryption Key, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth ​... +INFO [net.shibboleth.utilities.java.support.security.BasicKeystoreKeyStrategyTool:​166] - No existing versioning property, initializing... 
-...done +SAML EntityID: [https://​idp.example.org/​idp/​shibboleth] ? 
-Creating ​Backchannel ​keystore, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth ... + 
-...done +Attribute Scope: [example.org] ? 
-Creating cookie encryption key files... + 
-...done +INFO [net.shibboleth.idp.installer.V4Install:​433] - Creating Metadata to /​opt/​shibboleth-idp/​metadata/​idp-metadata.xml 
-Rebuilding /​opt/​shibboleth-idp/​war/​idp.war ... +INFO [net.shibboleth.idp.installer.BuildWar:​71] - Rebuilding /​opt/​shibboleth-idp/​war/​idp.war, Version 4.0.
-...done+INFO [net.shibboleth.idp.installer.BuildWar:​80] - Initial populate from /​opt/​shibboleth-idp/​dist/​webapp to /​opt/​shibboleth-idp/​webpapp.tmp 
 +INFO [net.shibboleth.idp.installer.BuildWar:​89] - Overlay from /​opt/​shibboleth-idp/​edit-webapp to /​opt/​shibboleth-idp/​webpapp.tmp 
 +INFO [net.shibboleth.idp.installer.BuildWar:​94] - Creating war file /​opt/​shibboleth-idp/​war/​idp.war
  
 BUILD SUCCESSFUL BUILD SUCCESSFUL
-Total time: 28 seconds+Total time: 37 seconds
 </​code>​ </​code>​
  
Řádek 90: Řádek 93:
 ==== idp.properties ==== ==== idp.properties ====
  
-V souboru ''/​opt/​shibboleth-idp/​conf/​idp.properties''​ nastavíme, že všechny cookies budou limitovány na TLS. Bližší informace jsou k dispozici [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​SecurityConfiguration#​SecurityConfiguration-Properties|v oficiální dokumentaci]]. +V souboru ''/​opt/​shibboleth-idp/​conf/​idp.properties''​ nastavíme podporu pro ukládání souhlasů s vydáváním uživatelských informací (atributů) do databáze.
- +
-Dále doplníme ​podporu pro ukládání souhlasů s vydáváním uživatelských informací (atributů) do databáze.+
  
 <code bash> <code bash>
Řádek 99: Řádek 100:
 </​code>​ </​code>​
  
-Nastavíme ​''​idp.cookie.secure''​ na hodnotu ''​true''​ a ''​idp.consent.StorageService''​ na hodnotu ''​shibboleth.JPAStorageService'':​+Nastavíme ''​idp.consent.StorageService''​ na hodnotu ''​shibboleth.JPAStorageService'':​
  
 <code ini> <code ini>
-idp.cookie.secure = true 
 idp.consent.StorageService = shibboleth.JPAStorageService idp.consent.StorageService = shibboleth.JPAStorageService
 </​code>​ </​code>​
Řádek 127: Řádek 127:
 idp.authn.LDAP.subtreeSearch ​    = true idp.authn.LDAP.subtreeSearch ​    = true
 idp.authn.LDAP.bindDN ​           = uid=shibboleth,​ou=users,​dc=example,​dc=org idp.authn.LDAP.bindDN ​           = uid=shibboleth,​ou=users,​dc=example,​dc=org
-idp.authn.LDAP.bindDNCredential ​ = nejakeheslo 
 idp.ldaptive.provider ​           = org.ldaptive.provider.unboundid.UnboundIDProvider idp.ldaptive.provider ​           = org.ldaptive.provider.unboundid.UnboundIDProvider
 </​code>​ </​code>​
Řádek 139: Řádek 138:
 Konfigurační volby ''​idp.authn.LDAP.useStartTLS''​ a ''​idp.authn.LDAP.useSSL''​ říkají, že namísto TLS budeme používat SSL. Následující volba ''​idp.authn.LDAP.trustCertificates''​ udává cestu ke kořenovému certifikátu CA, která vydala SSL certifikát pro LDAP server ''​ldap.example.org''​. **Je nutné nezapomenout nakopírovat tento soubor na odpovídající místo!** Konfigurační volby ''​idp.authn.LDAP.useStartTLS''​ a ''​idp.authn.LDAP.useSSL''​ říkají, že namísto TLS budeme používat SSL. Následující volba ''​idp.authn.LDAP.trustCertificates''​ udává cestu ke kořenovému certifikátu CA, která vydala SSL certifikát pro LDAP server ''​ldap.example.org''​. **Je nutné nezapomenout nakopírovat tento soubor na odpovídající místo!**
  
-Volba ''​idp.authn.LDAP.baseDN''​ určuje tzv. "base DN" v LDAPu. Volby ''​idp.authn.LDAP.bindDN''​ a ''​idp.authn.LDAP.bindDNCredential''​ určují uživatelské jméno ​a heslo, které se použije při přístupu k LDAP serveru pro získání uživatelských atributů.+Volba ''​idp.authn.LDAP.baseDN''​ určuje tzv. "base DN" v LDAPu. Volby ''​idp.authn.LDAP.bindDN''​ určuje uživatelské jméno, které se použije při přístupu k LDAP serveru pro získání uživatelských atributů.
  
 Volba na posledním řádku (''​idp.ldaptive.provider''​) je důležitá pro fungování LDAPu při použití vyšší verze Javy než 8 (náš případ). **Bez přidání této volby se Shibboleth IdP k LDAPu nepřípojí!** Bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​LDAPonJava%3E8|v oficiální dokumentaci]]. Volba na posledním řádku (''​idp.ldaptive.provider''​) je důležitá pro fungování LDAPu při použití vyšší verze Javy než 8 (náš případ). **Bez přidání této volby se Shibboleth IdP k LDAPu nepřípojí!** Bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​LDAPonJava%3E8|v oficiální dokumentaci]].
 +
 +==== secrets.properties ====
 +
 +V souboru ''/​opt/​shibboleth-idp/​credentials/​secrets.properties'',​ který nově existuje v Shibboleth IdP od verze 4.0.0, nastavíme heslo k LDAP serveru a sůl pro //​persistentní NameID identifikátor//​ / atribut //​eduPersonTargetedID//,​ kterou si vygenerujeme.
 +
 +<code bash>
 +# Vygenerování soli
 +openssl rand -base64 36
 +
 +# Otevřeme konfigurační soubor secrets.properties
 +vim /​opt/​shibboleth-idp/​credentials/​secrets.properties
 +</​code>​
 +
 +Volba ''​idp.authn.LDAP.bindDNCredential''​ obsahuje heslo, které se použije při přístupu k LDAPu. Heslo je pro uživatelský účet definovaný v ''​idp.authn.LDAP.bindDN''​ v ''/​opt/​shibboleth-idp/​conf/​ldap.properties''​ souboru. Volba ''​idp.persistentId.salt''​ definuje sůl pro persistentní NameID identifikátor,​ kterou jsme si právě vygenerovali.
 +
 +<code ini>
 +idp.authn.LDAP.bindDNCredential = ___NEJAKE_HESLO___
 +idp.persistentId.salt = ___NEJAKA_SUL___
 +</​code>​
  
 ==== metadata-providers.xml ==== ==== metadata-providers.xml ====
Řádek 159: Řádek 177:
     backingFile="​%{idp.home}/​metadata/​eduidcz.xml"​     backingFile="​%{idp.home}/​metadata/​eduidcz.xml"​
     metadataURL="​https://​metadata.eduid.cz/​entities/​eduid+sp"​     metadataURL="​https://​metadata.eduid.cz/​entities/​eduid+sp"​
-    maxRefreshDelay="​PT15M">+    maxRefreshDelay="​PT30M"> 
     <​MetadataFilter     <​MetadataFilter
         xsi:​type="​SignatureValidation"​         xsi:​type="​SignatureValidation"​
         requireSignedRoot="​true"​         requireSignedRoot="​true"​
         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />
-    ​<​MetadataFilter xsi:​type="​EntityRoleWhiteList"> + 
-        ​<​RetainedRole>​md:​SPSSODescriptor<​/RetainedRole+    ​<​MetadataFilter 
-    </​MetadataFilter>​+        ​xsi:​type="​RequiredValidUntil
 +        ​maxValidityInterval="​P30D" ​/> 
 </​MetadataProvider>​ </​MetadataProvider>​
  
Řádek 175: Řádek 196:
     backingFile="​%{idp.home}/​metadata/​edugain.xml"​     backingFile="​%{idp.home}/​metadata/​edugain.xml"​
     metadataURL="​https://​metadata.eduid.cz/​entities/​edugain+sp"​     metadataURL="​https://​metadata.eduid.cz/​entities/​edugain+sp"​
-    maxRefreshDelay="​PT15M">+    maxRefreshDelay="​PT30M"> 
     <​MetadataFilter     <​MetadataFilter
         xsi:​type="​SignatureValidation"​         xsi:​type="​SignatureValidation"​
         requireSignedRoot="​true"​         requireSignedRoot="​true"​
         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />
-    ​<​MetadataFilter xsi:​type="​EntityRoleWhiteList"> + 
-        ​<​RetainedRole>​md:​SPSSODescriptor<​/RetainedRole+    ​<​MetadataFilter 
-    </​MetadataFilter>​+        ​xsi:​type="​RequiredValidUntil
 +        ​maxValidityInterval="​P30D" ​/> 
 </​MetadataProvider>​ </​MetadataProvider>​
 </​code>​ </​code>​
  
-//Blok kódu výše, tedy element <​MetadataProvider>​ se všemi atributy, je nutné umístit do elementu <​MetadataProvider>​ v konfiguračním souboru ''​metadata-providers.xml''​! Sice to působí podivně, ale bez toho nebude XML dokument validní a konfigurace nebude fungovat.//+//Blok kódu výše, tedy element <​MetadataProvider>​ se všemi atributy ​a potomky, je nutné umístit do elementu <​MetadataProvider>​ v konfiguračním souboru ''​metadata-providers.xml''​! Sice to působí podivně, ale bez toho nebude XML dokument validní a konfigurace nebude fungovat.//
  
-Pokud by vás zajímal význam atributů v elementu ''<​MetadataProvider>'',​ naleznete vše [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​FileBackedHTTPMetadataProvider|v oficiální dokumentaci]]. Vše okolo ''<​MetadataFilter>''​ elementu naleznete také [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/MetadataFilterPlugin|v oficiální dokumentaci]].+Pokud by vás zajímal význam atributů v elementu ''<​MetadataProvider>'',​ naleznete vše [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​FileBackedHTTPMetadataProvider|v oficiální dokumentaci]]. Vše okolo ''<​MetadataFilter>''​ elementu naleznete také [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/MetadataFilterConfiguration|v oficiální dokumentaci]].
  
 Metadata federací eduID.cz i eduGAIN jsou podepsána. //Důrazně doporučujeme tedy jejich autenticitu ověřovat pomocí kontroly podpisu!// Veřejný klíč je k dispozici na adrese https://​www.eduid.cz/​docs/​eduid/​metadata/​metadata.eduid.cz.crt.pem. Stáhněte ho a uložte do adresáře ''/​opt/​shibboleth-idp/​credentials''​. Metadata federací eduID.cz i eduGAIN jsou podepsána. //Důrazně doporučujeme tedy jejich autenticitu ověřovat pomocí kontroly podpisu!// Veřejný klíč je k dispozici na adrese https://​www.eduid.cz/​docs/​eduid/​metadata/​metadata.eduid.cz.crt.pem. Stáhněte ho a uložte do adresáře ''/​opt/​shibboleth-idp/​credentials''​.
Řádek 207: Řádek 231:
 **Návod v následujících krocích předpokládá,​ že jste použili připravenou šablonu!** **Návod v následujících krocích předpokládá,​ že jste použili připravenou šablonu!**
  
-Navíc se předpokládá,​ že pro generování persistentního NameID identifikátoru používáte atribut ''​uid''​. Tento SAML atribut nesmí mít v ''​attribute-resolver.xml''​ XML atribut //​dependencyOnly="​true"//,​ jinak nebude pro generování persistentního NameID k dispozici a persistentní NameID se nevygeneruje. **Několik služeb bez persistentního NameID ​nebude ​fungovat!**+Navíc se předpokládá,​ že pro generování persistentního NameID identifikátoru používáte atribut ''​uid''​. Tento SAML atribut nesmí mít v ''​attribute-resolver.xml''​ XML atribut //​dependencyOnly="​true"//,​ jinak nebude pro generování persistentního NameID k dispozici a persistentní NameID se nevygeneruje. 
 + 
 +**Některé ​služby bez persistentního NameID ​nebudou ​fungovat!**
 </​WRAP>​ </​WRAP>​
  
Řádek 216: Řádek 242:
 </​code>​ </​code>​
  
-Potřebujete-li si definovat své atributy, pak bližší informace ke konfiguraci naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​AttributeResolverConfiguration|v oficiální dokumentaci]].+Potřebujete-li si definovat své atributy, pak bližší informace ke konfiguraci naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​AttributeResolverConfiguration|v oficiální dokumentaci]].
  
 ==== attribute-filter.xml ==== ==== attribute-filter.xml ====
Řádek 222: Řádek 248:
 Mít definované atributy z předchozího kroku nestačí. Ještě je potřeba nadefinovat,​ které atributy budeme vydávat a komu je budeme vydávat. To se nastavuje v konfiguračním souboru ''/​opt/​shibboleth-idp/​conf/​attribute-filter.xml''​. Mít definované atributy z předchozího kroku nestačí. Ještě je potřeba nadefinovat,​ které atributy budeme vydávat a komu je budeme vydávat. To se nastavuje v konfiguračním souboru ''/​opt/​shibboleth-idp/​conf/​attribute-filter.xml''​.
  
-Z důvodu zjednodušení doporučujeme uvolňovat atributy dle našeho doporučení na adrese https://​www.eduid.cz/​shibboleth-idp/​attribute-filter.xml.+Z důvodu zjednodušení doporučujeme uvolňovat atributy dle našeho doporučení na adrese ​[[https://​www.eduid.cz/​shibboleth-idp/​attribute-filter.xml]].
  
 Filtr uvolňuje atributy podle kategorií entit [[cs:​tech:​categories:​rs]],​ [[cs:​tech:​categories:​coco]] a dále do federací [[cs:​tech:​summary|eduID.cz]] a [[cs:​tech:​edugain|eduGAIN]]. Filtr uvolňuje atributy podle kategorií entit [[cs:​tech:​categories:​rs]],​ [[cs:​tech:​categories:​coco]] a dále do federací [[cs:​tech:​summary|eduID.cz]] a [[cs:​tech:​edugain|eduGAIN]].
Řádek 231: Řádek 257:
 </​code>​ </​code>​
  
-Chcete-li si nastavit uvolňování atributů dle svého, tak bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​AttributeFilterConfiguration|v oficiální dokumentaci]].+Chcete-li si nastavit uvolňování atributů dle svého, tak bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​AttributeFilterConfiguration|v oficiální dokumentaci]].
  
 ==== idp-metadata.xml ==== ==== idp-metadata.xml ====
Řádek 239: Řádek 265:
 <code bash> <code bash>
 # Otevřeme konfigurační soubor idp-metadata.xml # Otevřeme konfigurační soubor idp-metadata.xml
-vi /​opt/​shibboleth-idp/​metadata/​idp-metadata.xml+vim /​opt/​shibboleth-idp/​metadata/​idp-metadata.xml
 </​code>​ </​code>​
  
Řádek 320: Řádek 346:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru global.xml # Úpravy v konfiguračním souboru global.xml
-vi /​opt/​shibboleth-idp/​conf/​global.xml+vim /​opt/​shibboleth-idp/​conf/​global.xml
 </​code>​ </​code>​
  
Řádek 328: Řádek 354:
 <bean id="​shibboleth.MySQLDataSource"​ <bean id="​shibboleth.MySQLDataSource"​
     class="​org.apache.commons.dbcp2.BasicDataSource"​     class="​org.apache.commons.dbcp2.BasicDataSource"​
-    p:​driverClassName="​com.mysql.jdbc.Driver"​+    p:​driverClassName="​org.mariadb.jdbc.Driver"​
     p:​url="​jdbc:​mysql://​localhost:​3306/​shibboleth"​     p:​url="​jdbc:​mysql://​localhost:​3306/​shibboleth"​
     p:​username="​shibboleth"​     p:​username="​shibboleth"​
Řádek 352: Řádek 378:
     p:​generateDdl="​true"​     p:​generateDdl="​true"​
     p:​database="​MYSQL"​     p:​database="​MYSQL"​
-    p:​databasePlatform="​org.hibernate.dialect.MySQL5Dialect" />+    p:​databasePlatform="​org.hibernate.dialect.MariaDBDialect" />
 </​code>​ </​code>​
  
Řádek 361: Řádek 387:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru saml-nameid.properties # Úpravy v konfiguračním souboru saml-nameid.properties
-vi /​opt/​shibboleth-idp/​conf/​saml-nameid.properties+vim /​opt/​shibboleth-idp/​conf/​saml-nameid.properties
 </​code>​ </​code>​
  
-<code bash> +Zde definujeme odkazy na výše definované "<​bean>​y",​ dále atribut, který se bude pro výpočet persistentního identifikátoru používat (''​uid''​).
-# Vygenerování soli +
-openssl rand -base64 36 +
-</​code>​ +
- +
-Zde definujeme odkazy na výše definované "<​bean>​y",​ dále atribut, který se bude pro výpočet persistentního identifikátoru používat (''​uid''​) a sůl (''​salt''​) použitou pro výpočet (tu jsme si již vygenerovali výše).+
  
 <code ini> <code ini>
 idp.persistentId.sourceAttribute = uid idp.persistentId.sourceAttribute = uid
-idp.persistentId.salt = ___SALT___ +# Nové IdP (BASE32)
-# Nové IdP+
 idp.persistentId.encoding = BASE32 idp.persistentId.encoding = BASE32
-# Migrované IdP+# Migrované IdP (BASE64)
 #​idp.persistentId.encoding = BASE64 #​idp.persistentId.encoding = BASE64
 idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator
Řádek 388: Řádek 408:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru saml-nameid.xml # Úpravy v konfiguračním souboru saml-nameid.xml
-vi /​opt/​shibboleth-idp/​conf/​saml-nameid.xml+vim /​opt/​shibboleth-idp/​conf/​saml-nameid.xml
 </​code>​ </​code>​
  
Řádek 403: Řádek 423:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru subject-c14n.xml # Úpravy v konfiguračním souboru subject-c14n.xml
-vi /​opt/​shibboleth-idp/​conf/​c14n/​subject-c14n.xml+vim /​opt/​shibboleth-idp/​conf/​c14n/​subject-c14n.xml
 </​code>​ </​code>​
  
Řádek 460: Řádek 480:
 ### Operating Environment Information ### Operating Environment Information
 operating_system:​ Linux operating_system:​ Linux
-operating_system_version:​ 4.19.0-6-amd64+operating_system_version:​ 4.19.0-8-amd64
 operating_system_architecture:​ amd64 operating_system_architecture:​ amd64
-jdk_version:​ 11.0.5+jdk_version:​ 11.0.6
 available_cores:​ 1 available_cores:​ 1
-used_memory: ​391 MB+used_memory: ​260 MB
 maximum_memory:​ 1500 MB maximum_memory:​ 1500 MB
  
 ### Identity Provider Information ### Identity Provider Information
-idp_version: ​3.4.6 +idp_version:​ 4.0.0 
-start_time: ​2019-12-13T15:34:26+01:00 +start_time: ​2020-03-27T11:58:27.546Z 
-current_time: ​2019-12-13T15:34:28+01:00 +current_time: ​2020-03-27T11:58:29.415454Z 
-uptime: ​2512 ms+uptime: ​1869 ms
  
 service: shibboleth.LoggingService service: shibboleth.LoggingService
-last successful reload attempt: ​2019-12-13T14:33:26Z +last successful reload attempt: ​2020-03-27T11:48:53.362422Z 
-last reload attempt: ​2019-12-13T14:33:26Z+last reload attempt: ​2020-03-27T11:48:53.362422Z
  
-service: shibboleth.ReloadableAccessControlService +service: shibboleth.AttributeFilterService 
-last successful reload attempt: ​2019-12-13T14:33:50Z +last successful reload attempt: ​2020-03-27T11:48:57.202556Z 
-last reload attempt: ​2019-12-13T14:33:50Z+last reload attempt: ​2020-03-27T11:48:57.202556Z
  
-service: shibboleth.MetadataResolverService +service: shibboleth.AttributeResolverService 
-last successful reload attempt: ​2019-12-13T14:33:40Z +last successful reload attempt: ​2020-03-27T11:48:57.531585Z 
-last reload attempt: ​2019-12-13T14:33:40Z+last reload attempt: ​2020-03-27T11:48:57.531585Z
  
- metadata source: eduidcz + No Data Connector has ever failed
- last refresh attempt: 2019-12-13T14:​33:​40Z +
- last successful refresh: 2019-12-13T14:​33:​40Z +
- last update: 2019-12-13T14:​33:​40Z +
- root validUntil: 2020-01-12T14:​01:​02Z+
  
- metadata sourceedugain +serviceshibboleth.AttributeRegistryService 
- last refresh ​attempt: ​2019-12-13T14:33:42Z +last successful reload ​attempt: ​2020-03-27T11:49:00.195848Z 
- last successful refresh2019-12-13T14:33:42Z +last reload attempt2020-03-27T11:49:00.195848Z 
- last update2019-12-13T14:33:42Z + 
- root validUntil: 2020-01-09T15:02:02Z+service: shibboleth.NameIdentifierGenerationService 
 +last successful reload attempt2020-03-27T11:49:00.673174Z 
 +last reload attempt: 2020-03-27T11:49:00.673174Z
  
 service: shibboleth.RelyingPartyResolverService service: shibboleth.RelyingPartyResolverService
-last successful reload attempt: ​2019-12-13T14:33:39Z +last successful reload attempt: ​2020-03-27T11:49:00.877735Z 
-last reload attempt: ​2019-12-13T14:33:39Z+last reload attempt: ​2020-03-27T11:49:00.877735Z
  
-service: shibboleth.NameIdentifierGenerationService +service: shibboleth.MetadataResolverService 
-last successful reload attempt: ​2019-12-13T14:33:39Z +last successful reload attempt: ​2020-03-27T11:49:01.654211Z 
-last reload attempt: ​2019-12-13T14:33:39Z+last reload attempt: ​2020-03-27T11:49:01.654211Z
  
-serviceshibboleth.AttributeResolverService + metadata sourceShibbolethMetadata 
-last successful ​reload attempt2019-12-13T14:33:30Z + last refresh attempt: 2020-03-27T11:​49:​16.181118Z 
-last reload attempt2019-12-13T14:33:30Z+ last successful ​refresh2020-03-27T11:49:16.181118Z 
 + last update2020-03-27T11:49:16.181118Z
  
- DataConnector staticAttributeshas never failed+ metadata sourceeduidcz 
 + last refresh attempt: 2020-03-27T11:​49:​08.331577Z 
 + last successful refresh: 2020-03-27T11:​49:​08.331577Z 
 + last update: 2020-03-27T11:​49:​08.331577Z 
 + root validUntil: 2020-04-22T23:​53:​01Z
  
- DataConnector myLDAPhas never failed+ metadata sourceedugain 
 + last refresh attempt: 2020-03-27T11:​49:​16.181118Z 
 + last successful refresh: 2020-03-27T11:​49:​16.181118Z 
 + last update: 2020-03-27T11:​49:​16.181118Z 
 + root validUntil: 2020-04-23T12:​03:​02Z
  
- DataConnector myStoredIdhas never failed+serviceshibboleth.ReloadableAccessControlService 
 +last successful reload attempt: 2020-03-27T11:​49:​11.405929Z 
 +last reload attempt: 2020-03-27T11:​49:​11.405929Z
  
-service: shibboleth.AttributeFilterService +service: shibboleth.ReloadableCASServiceRegistry 
-last successful reload attempt: ​2019-12-13T14:33:29Z +last successful reload attempt: ​2020-03-27T11:49:11.484428Z 
-last reload attempt: ​2019-12-13T14:33:29Z+last reload attempt: ​2020-03-27T11:49:11.484428Z 
 + 
 +service: shibboleth.ManagedBeanService 
 +last successful reload attempt: 2020-03-27T11:​49:​11.554208Z 
 +last reload attempt: 2020-03-27T11:​49:​11.554208Z
 </​code>​ </​code>​
  
 ===== Tipy ===== ===== Tipy =====
  
-Na stránce [[cs:​tech:​idp:​shibboleth:​tips]] naleznete některé zajímavé konfigurační tipy, které by vás mohly zajímat, proto se na stránku určitě podívejte.+Na stránce [[cs:​tech:​idp:​shibboleth:​advanced]] naleznete některé zajímavé konfigurační tipy, které by vás mohly zajímat, proto se na stránku určitě podívejte.
  
 ===== Vzhled ===== ===== Vzhled =====
Poslední úprava:: 2024/03/27 09:36