„Shib2SPConfig” változatai közötti eltérés
(Új oldal, tartalma: „Az Shibboleth 2 SP-t a '''<code>shibboleth.xml</code>''' állományon keresztül konfigurálhatjuk. Ebben a leírásban feltételezzük, hogy az SP konfigurációja a '''<...”) |
|||
(Egy közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva) | |||
1. sor: | 1. sor: | ||
Az Shibboleth 2 SP-t a '''<code>shibboleth.xml</code>''' állományon keresztül konfigurálhatjuk. Ebben a leírásban feltételezzük, hogy az SP konfigurációja a '''<code>/etc/shibboleth</code>''' könyvtárban van. | Az Shibboleth 2 SP-t a '''<code>shibboleth.xml</code>''' állományon keresztül konfigurálhatjuk. Ebben a leírásban feltételezzük, hogy az SP konfigurációja a '''<code>/etc/shibboleth</code>''' könyvtárban van. | ||
+ | |||
+ | ==Alapszerkezet== | ||
+ | |||
+ | Mindenekelőtt megmutatjuk a '''<code>shibboleth.xml</code>''' fájl alapszerkezetét, majd alább az egyes szerkezeti elemeket részletesen is tárgyaljuk, majd a fejezet végén egy teljes, működő konfigurációt mutatunk be. | ||
+ | |||
+ | |||
+ | <source lang="xml"> | ||
+ | <SPConfig xmlns="urn:mace:shibboleth:sp:config:2.0" | ||
+ | xmlns:conf="urn:mace:shibboleth:sp:config:2.0" | ||
+ | xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" | ||
+ | logger="shibboleth/syslog.logger" clockSkew="180"> | ||
+ | |||
+ | <Extensions/> | ||
+ | |||
+ | <OutOfProcess logger="shibboleth/shibd.logger"/> | ||
+ | |||
+ | <InProcess logger="shibboleth/native.logger"/> | ||
+ | |||
+ | <Listener/> | ||
+ | |||
+ | <StorageService/> | ||
+ | <SessionCache/> | ||
+ | <ReplayCache/> | ||
+ | <ArtifactMap/> | ||
+ | |||
+ | <RequestMapper/> | ||
+ | |||
+ | <ApplicationDefaults id="default" policyId="default" | ||
+ | entityID="https://sp.example.org/shibboleth" | ||
+ | homeURL="https://sp.example.org/index.html"/> | ||
+ | |||
+ | <SecurityPolicies/> | ||
+ | |||
+ | </SPConfig> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | Látható, hogy a szerkezet keretét egy <code><SPConfig></code> elem adja, ez fogja közre a különböző összetevők részletes konfigurációit. Az <code><SPConfig></code> opcionális attribútumai | ||
+ | |||
+ | * '''<code>logger</code>''' | ||
+ | Annak a konfigurációs fájlnak a helyét adhatjuk meg, amelyben a loggolási tulajdonságok kerültek definiálásra. Alapértelmezés szerint ez a <code>shibboleth/shid.logger</code> fájl. | ||
+ | |||
+ | * '''<code>clockSkew</code>''' | ||
+ | A legtöbb elosztott rendszerhez hasonlóan a Shibbolethnél is nagyon fontos, hogy szinkronban legyenek a rendszerben résztvevő elemek órái. Mivel komoly sebezhetőséget jelentene, ha a szerverek közti üzeneteken nem lenne megjelölve a feladás időpontja, ezért ezek az üzenetek időbélyeggel ellátottak, s minden rendszer elem csak egy bizonyos időnél nem régebbi üzenetekkel hajlandó foglalkozni. Ezt az értéket tudjuk itt megadni. Alapértelmezés szerint 3 perc, azaz 180 másodperc az értéke. | ||
+ | |||
+ | ==Összetevők== | ||
+ | |||
+ | ===<Extensions>=== | ||
+ | |||
+ | ===<OutOfProcess>=== | ||
+ | |||
+ | ===<InProcess>=== | ||
+ | |||
+ | ===<Listener>=== | ||
+ | |||
+ | ===<StorageService>=== | ||
+ | |||
+ | ===<SessionCache>=== | ||
+ | |||
+ | ===<ReplayCache>=== | ||
+ | |||
+ | ===<ArtifactMap>=== | ||
+ | |||
+ | ===<RequestMapper>=== | ||
+ | |||
+ | A RequestMap megadja azokat a címeket (Host és Path), amelyeket a Shibboleth SP kezelni fog. Szerkezete: | ||
+ | <source lang="xml"> | ||
+ | <RequestMap applicationId="default"> | ||
+ | <Host name="www.example.org"> | ||
+ | <Path name="secure" authType="shibboleth" requireSession="true"/> | ||
+ | </Host> | ||
+ | <Host name="admin.example.org" applicationId="admin" authType="shibboleth" requireSession="true"> | ||
+ | <AccessControl> | ||
+ | <Rule require="affiliation">faculty@osu.edu student@osu.edu</Rule> | ||
+ | </AccessControl> | ||
+ | </Host> | ||
+ | </RequestMap> | ||
+ | </source> | ||
+ | |||
+ | A RequestMap több Host elemet is tartalmazhat, a Host elem 0 vagy több Path elemet tartalmazhat. | ||
+ | {{ATTENTION|Ha 1-nél nagyobb mélységű könyvtárat (pl. a <code>/shibtest/shibreq</code> nevűt) szeretnénk védeni, akkor '''nem''' adhatjuk meg a ''name'' paraméterben a "shibtest/shibreq" értéket, hanem egymásba ágyazott Path elemeket kell használni. A ''name'' paraméter nem tartalmazhat '/' karaktert.}} | ||
+ | |||
+ | Az egyes elemeknél paraméterekkel szabályozhatjuk, hogy az SP milyen módon kezelje a hostot vagy az útvonalat. A paraméterek felüldefiniálhatók. A legfontosabb paraméterek az alábbiak (ezek ugyanúgy használhatók Host-nál mint Path-nál): | ||
+ | * '''<code>requireSession</code>''': ha értéke "true", akkor az SP csak akkor továbbítja a HTTP request-et az alkalmazás ill. a webszerver felé, ha sikerült létrehozni egy autentikált session-t. Ha "false", akkor az alkalmazás felelős azért, hogy létrehozza a Shibboleth session-t (ún. [[ShibSPLazy | lazy session]]) Alapértelmezés: "false" | ||
+ | * '''<code>applicationId</code>''': lehetőség van arra, hogy bizonyos helyekre érkező kérésekre az SP más és más módon próbáljon meg session-t létrehozni, ezt ún. [[ShibSPApplication | Shibboleth Application]]-ben konfigurálhatjuk. Ha nem adunk meg értéket, akkor a "default" application-nél megadott értékek vonatkoznak majd a session-re. | ||
+ | |||
+ | |||
+ | ===<ApplicationDefaults>=== |
A lap jelenlegi, 2009. február 25., 15:52-kori változata
Az Shibboleth 2 SP-t a shibboleth.xml
állományon keresztül konfigurálhatjuk. Ebben a leírásban feltételezzük, hogy az SP konfigurációja a /etc/shibboleth
könyvtárban van.
Tartalomjegyzék
[elrejtés]Alapszerkezet
Mindenekelőtt megmutatjuk a shibboleth.xml
fájl alapszerkezetét, majd alább az egyes szerkezeti elemeket részletesen is tárgyaljuk, majd a fejezet végén egy teljes, működő konfigurációt mutatunk be.
<SPConfig xmlns="urn:mace:shibboleth:sp:config:2.0"
xmlns:conf="urn:mace:shibboleth:sp:config:2.0"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
logger="shibboleth/syslog.logger" clockSkew="180">
<Extensions/>
<OutOfProcess logger="shibboleth/shibd.logger"/>
<InProcess logger="shibboleth/native.logger"/>
<Listener/>
<StorageService/>
<SessionCache/>
<ReplayCache/>
<ArtifactMap/>
<RequestMapper/>
<ApplicationDefaults id="default" policyId="default"
entityID="https://sp.example.org/shibboleth"
homeURL="https://sp.example.org/index.html"/>
<SecurityPolicies/>
</SPConfig>
Látható, hogy a szerkezet keretét egy <SPConfig>
elem adja, ez fogja közre a különböző összetevők részletes konfigurációit. Az <SPConfig>
opcionális attribútumai
-
logger
Annak a konfigurációs fájlnak a helyét adhatjuk meg, amelyben a loggolási tulajdonságok kerültek definiálásra. Alapértelmezés szerint ez a shibboleth/shid.logger
fájl.
-
clockSkew
A legtöbb elosztott rendszerhez hasonlóan a Shibbolethnél is nagyon fontos, hogy szinkronban legyenek a rendszerben résztvevő elemek órái. Mivel komoly sebezhetőséget jelentene, ha a szerverek közti üzeneteken nem lenne megjelölve a feladás időpontja, ezért ezek az üzenetek időbélyeggel ellátottak, s minden rendszer elem csak egy bizonyos időnél nem régebbi üzenetekkel hajlandó foglalkozni. Ezt az értéket tudjuk itt megadni. Alapértelmezés szerint 3 perc, azaz 180 másodperc az értéke.
Összetevők
<Extensions>
<OutOfProcess>
<InProcess>
<Listener>
<StorageService>
<SessionCache>
<ReplayCache>
<ArtifactMap>
<RequestMapper>
A RequestMap megadja azokat a címeket (Host és Path), amelyeket a Shibboleth SP kezelni fog. Szerkezete:
<RequestMap applicationId="default">
<Host name="www.example.org">
<Path name="secure" authType="shibboleth" requireSession="true"/>
</Host>
<Host name="admin.example.org" applicationId="admin" authType="shibboleth" requireSession="true">
<AccessControl>
<Rule require="affiliation">faculty@osu.edu student@osu.edu</Rule>
</AccessControl>
</Host>
</RequestMap>
A RequestMap több Host elemet is tartalmazhat, a Host elem 0 vagy több Path elemet tartalmazhat.
Az egyes elemeknél paraméterekkel szabályozhatjuk, hogy az SP milyen módon kezelje a hostot vagy az útvonalat. A paraméterek felüldefiniálhatók. A legfontosabb paraméterek az alábbiak (ezek ugyanúgy használhatók Host-nál mint Path-nál):
-
requireSession
: ha értéke "true", akkor az SP csak akkor továbbítja a HTTP request-et az alkalmazás ill. a webszerver felé, ha sikerült létrehozni egy autentikált session-t. Ha "false", akkor az alkalmazás felelős azért, hogy létrehozza a Shibboleth session-t (ún. lazy session) Alapértelmezés: "false" -
applicationId
: lehetőség van arra, hogy bizonyos helyekre érkező kérésekre az SP más és más módon próbáljon meg session-t létrehozni, ezt ún. Shibboleth Application-ben konfigurálhatjuk. Ha nem adunk meg értéket, akkor a "default" application-nél megadott értékek vonatkoznak majd a session-re.