Attribútum kiadás

{{SHIB_OLD|text= Az Attribute Release Policy (ARP) határozza meg, hogy az 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.

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ő.
 * 1) Meghatározza, hogy melyik ARP file-okat kell feldolgozni.
 * 2) Meghatározza, hogy melyek azok a szabályok, amelyek az attribútum lekérdezéshez kapcsolódnak
 * 3) * 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á
 * 4) * 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.
 * 5) Attribútum filter létrehozása
 * 6) Minden attribútumhoz megállapítja a vonatkozó Rule-ok listáját
 * 7) Ebből a listából az összes olyan attribútum értéket kiveszi, amelyre deny szabály vonatkozik
 * 8) 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)
 * ugyanezt jelenti: urn:mace:shibboleth:arp:matchFunction:exactShar
 * 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 reguláris kifejezésnek
 * urn:mace:shibboleth:arp:matchFunction:regexpNotMatch: true, ha a karakterlánc nem felel meg a paraméterként megadott 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:
 * : minden SP-re vonatkozik a szabály (az azonosítatlan SP-kre is!)
 * : 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  paramétert, amely az attribútum teljes neve (általában URN, lásd az  attribútum feloldás leírását). Az elemnek kétféle gyermeke lehet:
 * : az attribútum bármely értékére vonatkozik a szabály
 * : ebben az esetben kötelezően szerepel egy  paraméter, melynek értéke permit vagy deny lehet. Itt is opcionálisan megadható a   paraméter.

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  é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:  (Azonosítatlan SP-nek kiadott attribútumok)

Példa 2.: (Azonosított SP-nek kiadott attribútumok.)

Hivatkozások

 * https://spaces.internet2.edu/display/SHIB/IdPARPConfig
 * https://spaces.internet2.edu/display/SHIB/AttributeReleaseRule
 * https://spaces.internet2.edu/display/SHIB/ArpConstraint
 * ShARPE ARP Editor

}}