Módosítások

Attribútum kiadás

5 651 bájt hozzáadva, 2010. április 27., 15:37
elavult
{{SHIB_OLD|text=Az Attribute Release Policy (ARP) határozza meg, hogy az [[ShibIdPAttrib | attribútum feloldás]] után rendelkezésre álló attribútumok közül mely attribútumokat lehet az SP-nek kiadni. Egy ARP vonatkozhat a teljes IdP-re ("site" ARP), illetve az azonosított felhasználóra is. A site-ARP-k általában a '''arps/arp.site.xml''' állományban, a felhasználói ARP-k pedig az '''arps/arp.user.$PRINCIPAL.xml''' állományban találhatók, ahol $PRINCIPAL megegyezik a REMOTE_USER változóban megkapott értékkel.
== Működő példa ==
<Description>Not The Simplest Possible ARP.</Description>
<Rule>
<Description>Mindenkire vonatkozó szabályok</Description>
<Target>
<AnyTarget/>
</Rule>
<Rule>
<Description>NIIFI által üzemeltetett SP-kre vonatkozó szabályok</Description>
<Target>
<Requester matchFunction="urn:mace:shibboleth:arp:matchFunction:regexMatch">.*\.n?iif\.hu\/.*</Requester>
<AnyValue release="permit"/>
</Attribute>
<Attribute name="urn:mace:dir:attribute-def:eduPersonEntitlement"> <Value release="permit" matchFunction="urn:mace:shibboleth:arp:matchFunction:regexMatch">
^urn:niif.hu:services:aai:entitlement:.*
</Value> </Attribute> </Rule>
</AttributeReleasePolicy>
</source>
== ARP feldolgozás menete ==
Az [[Attribute Authority]] a rendelkezésre álló ARP-kből (tehát site és felhasználói ARP-kből) egy ún. '''effective ARP'''-t állít elő.
# Meghatározza, hogy melyik ARP file-okat kell feldolgozni.
# Meghatározza, hogy melyek azok a szabályok, amelyek az attribútum lekérdezéshez kapcsolódnak
#* Minden ARP szabály, amely alapértelmezettnek vannak megjelölve, automatikusan bekerül az ARP-be, anélkül, hogy az illesztési függvényeket (matchFunction) végrehajtaná
#* Minden nem alapértelmezett szabály illesztési függvénye alapján megállapítja, hogy a [[providerId]] alapján vonatkozik-e a kérést indító félre.
# Attribútum filter létrehozása
## Minden attribútumhoz megállapítja a vonatkozó Rule-ok listáját
## Ebből a listából az összes olyan attribútum értéket kiveszi, amelyre ''deny'' szabály vonatkozik
## Ha egy szabály úgy rendelkezik, hogy minden érték kiadható, akkor az egyes értékekre vonatkozó ''deny'' szabályok szűkítik a kiadható értékek listáját. Ha egy szabály az attribútumok összes értékének kiadását megtiltja, akkor az egyes értékekre vonatkozó engedélyek figyelmen kívül lesznek hagyva.
 
== ARP Rule ==
Az ARP szabályok különböző illeszkedési vizsgálatok segítségével megállapítják, hogy egy SP-nek egy-egy attribútum milyen feltételekkel adható ki.
=== matchFunction ===
Ez az attribútum adja meg, hogy milyen illesztési eljárást kell használni az illeszkedési vizsgálatnál. Lehetséges értékei:
* '''urn:mace:shibboleth:arp:matchFunction:stringMatch''': ''true'', ha két karakterlánc pontosan megegyezik (ez az alapértelmezett illesztési függvény)
** <small>ugyanezt jelenti: '''urn:mace:shibboleth:arp:matchFunction:exactShar'''</small>
* '''urn:mace:shibboleth:arp:matchFunction:stringNotMatch''': ''true'', ha két karakterlánc eltér
* '''urn:mace:shibboleth:arp:matchFunction:regexpMatch''': ''true'', ha a karakterlánc megfelel a paraméterként megadott [http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/package-summary.html reguláris kifejezésnek]
* '''urn:mace:shibboleth:arp:matchFunction:regexpNotMatch''': ''true'', ha a karakterlánc nem felel meg a paraméterként megadott [http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/package-summary.html reguláris kifejezésnek]
* '''urn:mace:shibboleth:arp:matchFunction:anyValueMatch''': tetszőleges nem üres string esetén ''true''
 
=== Target ===
A Target elemnek kétféle gyermeke lehet:
* <code>'''AnyTarget'''</code>: minden SP-re vonatkozik a szabály (az azonosítatlan SP-kre is!)
* <code>'''Requester'''</code>: a szabály akkor kerül az effective ARP-be, ha az SP [[providerId]]-je illeszkedik
 
=== Attribute ===
Egy Rule 0 vagy több Attribute elemet tartalmazhat. Tartalmaznia kell egy <code>name</code> paramétert, amely az attribútum teljes neve (általában URN, lásd az [[ShibIdPAttrib | attribútum feloldás leírását]]). Az elemnek kétféle gyermeke lehet:* <code>'''AnyValue'''</code>: az attribútum bármely értékére vonatkozik a szabály* <code>'''Value'''</code>: ebben az esetben kötelezően szerepel egy <code>'''release'''</code> paraméter, melynek értéke ''permit'' vagy ''deny'' lehet. Itt is opcionálisan megadható a <code>'''matchFunction'''</code> paraméter. === ARP Constraint ===A Constraint-ek használatával attribútumok kiadását más attribútumok értékéhez is köthetjük, így pl. megtehetjük, hogy a "hozzajarulasBeszerezve" nevű attribútum <code>true</code> értékéhez kössük az attribútumok kiadását.  A megkötések konfigurációjához lásd: https://spaces.internet2.edu/display/SHIB/ArpConstraint 
== Tesztelés ==
A Shibboleth IdP-hez tartozik egy '''resolvertest''' névre hallgató program, amellyel ellenőrizhetjük az attribútumok kiadását is. Használatához először be kell állítani a telepítésnek megfelelően az IDP_HOME és a JAVA_HOME változókat.
 
Példa: <code>/usr/local/shibboleth-idp/bin/resolvertest --idpXml=file:///etc/shibboleth-idp/idp.xml --user=bajnokk</code> (Azonosítatlan SP-nek kiadott attribútumok)
<source lang="xml">
<Attribute xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
AttributeName="urn:mace:dir:attribute-def:eduPersonScopedAffiliation"
AttributeNamespace="urn:mace:shibboleth:1.0:attributeNamespace:uri">
<AttributeValue Scope="niif.hu">employee</AttributeValue>
</Attribute>
 
<Attribute xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
AttributeName="urn:mace:dir:attribute-def:eduPersonOrgDN"
AttributeNamespace="urn:mace:shibboleth:1.0:attributeNamespace:uri">
<AttributeValue>o=niifi,o=niif,c=hu</AttributeValue>
</Attribute>
</source>
 
Példa 2.:<code>/usr/local/shibboleth-idp/bin/resolvertest --idpXml=file:///etc/shibboleth-idp/idp.xml --user=bajnokk --requester=https://dev.aai.niif.hu/shibboleth</code> (Azonosított SP-nek kiadott attribútumok.)
<source lang="xml">
...
<Attribute xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
AttributeName="urn:mace:dir:attribute-def:eduPersonPrincipalName"
AttributeNamespace="urn:mace:shibboleth:1.0:attributeNamespace:uri">
<AttributeValue Scope="niif.hu">bajnokk</AttributeValue>
</Attribute>
...
</source>
 
== Hivatkozások ==
* https://spaces.internet2.edu/display/SHIB/IdPARPConfig
* [http://mams.melcoe.mq.edu.au/wiki/display/MAMS/Shibboleth+Attribute+Release+Policy+Editor+%28ShARPE%29 ShARPE ARP Editor]
[[Kategória: Csonkok]]
[[Kategória: Shibboleth IdP]]
[[Kategória: Shibboleth IdP konfiguráció]]
}}

Navigációs menü