.msi) z uradne spletne strani:
https://shibboleth.net/downloads/service-provider/latest/win64/.
.msi datoteko in sledite navodilom čarovnika.
Vse nastavitve lahko pustite na privzetih vrednostih.
Če boste spremenili mapo namestitve, bodite pozorni – v nadaljnjih korakih boste morali ustrezno prilagoditi poti, saj so navodila pripravljena za privzeto lokacijo namestitve.
Shibboleth Service Provider zagnana v Windows Services.
Arnes vzdržuje sledeče vire metapodatkov, glede na to v katero federacijo boste vključili vaš SP morate tudi izbrati, katere metapodatke boste uporabili. Posamezen SP je lahko vključen v več federacij in posledično mora osveževati več virov metapodatkov.
Metapodatki in certifikati s katerimi so le-ti podpisani, ki jih vzdržuje Arnes, so na vojo na naslednji povezavi: metapodatki.
| Vir metapodatkov | SHA-1 Prstni odtis certifikata | ArnesAAI | eduGAIN | TestFed |
|---|---|---|---|---|
| https://ds.aai.arnes.si/metadata/arnesaai-edugain.signed.xml | 51:CC:76:0A:07:F1:A2:CC:01:98:68:F2:02:93:04:4E:AC:7C:08:22 | |||
| https://ds.aai.arnes.si/metadata/aai.arnes.si.sha256.xml | 28:7B:9A:AA:FF:5A:6E:F1:02:AD:7D:BA:E3:3C:40:59:17:4F:1E:89 | |||
| https://ds.aai.arnes.si/metadata/test-fed.arnes.si.signed.xml | 49:64:E4:3D:2C:5B:83:E1:D9:EB:35:90:23:67:A7:E0:0A:CD:6E:B9 |
Ob kliku na prijavo uporabnika preusmeri na DS. V nastavitvah izberite ustreznega, glede na to, katere metapodatke bo vaš SP osveževal, in v katero federacijo ga boste registrirali. Če želite, da zna vaš SP uporabljati več DS-jev si oglejte navodila za napredno vzpostavitev.
| Naslov izbirnika domače organizacije | ArnesAAI | eduGAIN | TestFed |
|---|---|---|---|
| https://ds-edugain.aai.arnes.si/simplesaml/saml2/sp/idpdisco.php | |||
| https://ds.aai.arnes.si/simplesaml/saml2/sp/idpdisco.php | |||
| https://ds.test-fed.arnes.si/simplesaml/saml2/sp/idpdisco.php |
V spodnjih navodilih so vse nastavitve prilagojene pridružitvi ponudnika storitev v testno federacijo TestFed. Pri nastavljanju ustrezno popravite vir metapodatkov in naslov izbirnika domače organizacije na federacijo, kateri se želite pridružiti.
Naslednji korak: Navodila za nastavitev Shibboletha in vzpostavitev aplikacijeZa generiranje ključev in certifikatov bomo uporabili OpenSSL, ki je del Shibboleth SP namestitve (nahaja se v mapi C:\Program Files\Shibboleth\SP\lib\openssl.exe).
Ustvarite ključe in certifikate s katerimi bo SP podpisoval zahtevke:
cd "C:\Program Files\Shibboleth\SP\etc\shibboleth" & "C:\Program Files\Shibboleth\SP\lib\openssl.exe" req -newkey rsa:2048 -nodes -keyout sp-signing-key.pem -out sp-signing.csr -subj "/CN=iis.sp.test-arnes.si" & "C:\Program Files\Shibboleth\SP\lib\openssl.exe" x509 -req -in sp-signing.csr -signkey sp-signing-key.pem -days 720 -out sp-signing-cert.pem -set_serial 0x202505221011 & "C:\Program Files\Shibboleth\SP\lib\openssl.exe" req -newkey rsa:2048 -nodes -keyout sp-encrypt-key.pem -out sp-encrypt.csr -subj "/CN=iis.sp.test-arnes.si" & "C:\Program Files\Shibboleth\SP\lib\openssl.exe" x509 -req -in sp-encrypt.csr -signkey sp-encrypt-key.pem -days 720 -out sp-encrypt-cert.pem -set_serial 0x202505221011
Če je bila namestitev Shibboleth uspešna, mora vaš Windows strežnik prikazovati naslednje nastavitve v IIS:
C:\opt\shibboleth-sp\lib64\shibboleth\isapi_shib.dll (za 64-bitno namestitev).sso.
C:\opt\shibboleth-sp\lib64\shibboleth\isapi_shib.dllNastavitve, ki niso posebej omenjene v spodnjih primerih, lahko ostanejo nespremenjene. Vse spremembe bomo izvajali v datoteki shibboleth2.xml, ki se privzeto nahaja v mapi C:\opt\shibboleth-sp\etc\shibboleth. Priporočamo, da pred vsakršnim urejanjem ustvarite varnostno kopijo obstoječe datoteke shibboleth2.xml.
Definicijo Site uredimo tako, da ustreza konfiguraciji IIS strežnika: določimo pravilen ID, ime gostitelja ter protokol in vrata.
<Site id="3" name="iis.sp.test-arnes.si" scheme="https" port="443"/>
Pomembno je da ID, odraža ID spletnega mesta v IIS-u, ki ga želite zaščititi.
Nastavitmo hostname in lokacije zaščite spremenite
<RequestMapper type="Native">
<RequestMap>
<Host name="iis.sp.test-arnes.si" authType="shibboleth" requireSession="false">
<Path name="Login" authType="shibboleth" requireSession="true"/>
</Host>
</RequestMap>
</RequestMapper>
Za podporo globalnega izpisa iz aplikacij in zaključek seje enotne
prijave na domačem strežniku IdP moramo urediti razdelek Sessions. Če
imate pri prijavi oziroma odjavi težave s preusmerjanjem, preučite in
implementirajte eno od možnosti,
ki so na voljo za parameter redirectLimit.
<Sessions lifetime="28800" timeout="3600" relayState="cookie"
checkAddress="false" handlerSSL="false" cookieProps="http"
redirectLimit="exact">
Nastavimo kje je federacijski DS/WAYF. Za produkcijski SP uporabimo discovery URL https://ds.aai.arnes.si/simplesaml/saml2/sp/idpdisco.php.
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://ds.test-fed.arnes.si/simplesaml/saml2/sp/idpdisco.php">
SAML2
</SSO>
Popravimo kontaktne informacije:
<Errors supportContact="tooth.fairy@arnes.si"
helpLocation="/about.html"
styleSheet="/shibboleth-sp/main.css"/>
Nastavimo lokacijo metapodatkov federacije. Za produkcijo uporabite URL https://ds.aai.arnes.si/metadata/aai.arnes.si.sha256.xml in certifikat https://ds.aai.arnes.si/metadata/arnesaai-metadata-signing.crt
<MetadataProvider type="XML" url="https://ds.test-fed.arnes.si/metadata/test-fed.arnes.si.signed.xml"
backingFilePath="federation-metadata.xml" reloadInterval="7200">
<MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
<MetadataFilter type="Signature" certificate="test-fed.arnes.si.crt"/>
</MetadataProvider>
Vklopimo tudi lokalno nastavljene metapodatke.
<MetadataProvider type="XML" file="partner-metadata.xml"/>
Metapodatke vašega SP dobite na svojem strežniku: https://www.os-prva.si/Shibboleth.sso/Metadata. Prikazane metapodatke prenesite k sebi in shranite v datoteko sp.xml, saj jih boste potrebovali kasneje pri registraciji vaše storitve v federacijo ArnesAAI.
Metapodatke izberite glede na to, v katero federacijo se želite vključiti.
Test-fed partner-metadata.xml (v mapi C:\opt\shibboleth-sp\etc\shibboleth) - datoteka z metapodatki federacije
Datoteko in certifikat prenesete s spletnih strani federacije:
Invoke-WebRequest -Uri "https://ds.test-fed.arnes.si/metadata/test-fed.arnes.si.signed.xml" -OutFile "C:\opt\shibboleth-sp\etc\shibboleth\partner-metadata.xml" Invoke-WebRequest -Uri "https://ds.test-fed.arnes.si/metadata/test-fed.arnes.si.crt" -OutFile "C:\opt\shibboleth-sp\etc\shibboleth\test-fed.arnes.si.crt"
V mapi C:\opt\shibboleth-sp\etc\shibboleth\ najprej odstranite obstoječo datoteko z definicijami preslikav atributov: attribute-map.xml.
Nato ustvarite novo datoteko z enakim imenom in vanjo vstavite spodnje definicije.
<Attributes xmlns="urn:mace:shibboleth:2.0:attribute-map" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- User interface display and contact -->
<Attribute name="urn:oid:2.16.840.1.113730.3.1.241" id="displayName"/>
<Attribute name="displayName" id="displayName"/>
<Attribute name="urn:oid:2.5.4.3" id="cn"/>
<Attribute name="cn" id="cn"/>
<Attribute name="urn:oid:0.9.2342.19200300.100.1.3" id="mail"/>
<Attribute name="mail" id="mail"/>
<Attribute name="sn" id="sn"/>
<Attribute name="givenName" id="givenName"/>
<!-- User role affiliations and entitlements -->
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" id="eduPersonAffiliation"/>
<Attribute name="eduPersonAffiliation" id="eduPersonAffiliation"/>
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.5" id="eduPersonPrimaryAffiliation"/>
<Attribute name="eduPersonPrimaryAffiliation" id="eduPersonPrimaryAffiliation"/>
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" id="eduPersonScopedAffiliation"/>
<Attribute name="eduPersonScopedAffiliation" id="eduPersonScopedAffiliation"/>
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" id="eduPersonEntitlement"/>
<Attribute name="eduPersonEntitlement" id="eduPersonEntitlement"/>
<!-- Unique identifiers -->
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" id="eduPersonPrincipalName">
<AttributeDecoder xsi:type="ScopedAttributeDecoder"/>
</Attribute>
<Attribute name="eduPersonPrincipalName" id="eduPersonPrincipalName">
<AttributeDecoder xsi:type="ScopedAttributeDecoder"/>
</Attribute>
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" id="eduPersonTargetedID"/>
<Attribute name="eduPersonTargetedID" id="eduPersonTargetedID"/>
<Attribute name="schacUUID" id="schacUUID"/>
<!-- Organization information -->
<Attribute name="urn:oid:1.3.6.1.4.1.25178.1.2.9" id="schacHomeOrganization"/>
<Attribute name="schacHomeOrganization" id="schacHomeOrganization"/>
<Attribute name="urn:oid:1.3.6.1.4.1.25178.1.2.10" id="schacHomeOrganizationType"/>
<Attribute name="schacHomeOrganizationType" id="schacHomeOrganizationType"/>
<!--Account expiry information -->
<Attribute name="urn:oid:1.3.6.1.4.1.1466.115.121.1.24" id="schacExpiryDate"/>
<Attribute name="schacExpiryDate" id="schacExpiryDate"/>
</Attributes>
Domenski del uporabniškega imena lahko Shibboleth samodejno preverja glede na registrirane parametre v metapodatkih. S tem se zagotovi, da s ponudnika identitet prihajajo le uporabniki za katere je skrbnik registriral scope v federacijo. Atribut v metapodatkih, ki to določa je: <shibmd:Scope regexp="false">primer.si</shibmd:Scope>.
V datoteki C:\opt\shibboleth-sp\etc\shibboleth\attribute-map.xml omogočimo izvoz domenskega dela uporabniškega imena za validiranje glede na organizacijski Scope. Spodnji izsek kode je že vstavljen v vzorčno datoteko zgoraj.
<AttributeDecoder xsi:type="ScopedAttributeDecoder"/>V datoteki C:\opt\shibboleth-sp\etc\shibboleth\attribute-policy.xml omogočimo filter, ki preveri atribut Scope in prejet domenski del uporabniškega imena ter ga ustrezno filtrira:
<afp:AttributeRule attributeID="eduPersonPrincipalName">
<afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>
<afp:AttributeRule attributeID="urn:oid:1.3.6.1.4.1.5923.1.1.1.6">
<afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>
V primeru, da se parameter Scope in domenski del uporabniškega imena ne
ujemata se storitvi posreduje prazen atribut.
V kolikor zaznate prazen atribut eduPersonPrincipalName oz.
urn:oid:1.3.6.1.4.1.5923.1.1.1.6 (ostali pa so vpisani)
je verjetno prišlo do opisane izjeme. Če ponudnik identitet nima
registiranega atributa Scope bodo filtrirane vse prijave.
Naslednji korak: Registracija v ArnesAAI in eduGAIN
Storitev registrirate z uporabo spletnega vmesnika.
Na pregledu vaše E-Identitete poiščite organizacijo, ki jo želite upravljati.
V meniju lahko najdete razdelek "Registracija storitev".
Izpolniti morate sledeče podatke:
Po uspešni vzpostavitvi in registraciji storitve je potrebno preizkusiti delovanje in preveriti pravilnost delovanja.
Kratica SSO (angl. Single Sign On) pomeni, da se aplikacija zaveda prijavljenega uporabnika ter ga avtomatično prijavi v kolikor je le-ta prijavljen v sistem enotne prijave. Kratica SLO (angl. Single Log Out) pa pomeni, da aplikacija, tako kot enotno prijavo, omogoča tudi enotno odjavo. Zaradi varnostnih razlogov se delovanja enotne odjave ne sme zanemariti!
Enotno prijavo preizkusimo po naslednjih korakih: