„SSP EntityCategories” változatai közötti eltérés

Innen: KIFÜ Wiki
(Új oldal, tartalma: „Ez a lap a simpleSAMLphp EntityCategories moduljának továbbfejlesztett változatához tartozó beállításokat ismerteti. Reményeink szerint a modul valamikor a sim…”)
 
a
 
(9 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
 
Ez a lap a simpleSAMLphp EntityCategories moduljának továbbfejlesztett változatához tartozó beállításokat ismerteti. Reményeink szerint a modul valamikor a simpleSAMLphp alapcsomagjának is része lesz, ám amíg ez nem történik meg, addig az alábbiak szerint érdemes eljárni, ha használni szeretnénk.
 
Ez a lap a simpleSAMLphp EntityCategories moduljának továbbfejlesztett változatához tartozó beállításokat ismerteti. Reményeink szerint a modul valamikor a simpleSAMLphp alapcsomagjának is része lesz, ám amíg ez nem történik meg, addig az alábbiak szerint érdemes eljárni, ha használni szeretnénk.
  
'''Fontos''', hogy a modul nem helyettesíti a core:AttributeLimit modult, azzal együtt használandó!
+
A modul forrása: https://github.com/sitya/simplesamlphp-module-entitycategories.git
 +
 
 +
'''Fontos''', hogy a modul nem helyettesíti a core:AttributeLimit, vagy a niif:AttributeLimit modult, valamelyikkel együtt használandó!
  
 
==Telepítés composeren keresztül==
 
==Telepítés composeren keresztül==
  
cd /path/to/simplesamlphp
+
<source lang="bash">
composer require simplesamlphp/simplesamlphp-module-entitycategories:dev-master
+
 
composer config repositories.simplesamlphp/simplesamlphp-module-entitycategories vcs https://github.com/sitya/simplesamlphp-module-entitycategories.git
+
cd /path/to/simplesamlphp
composer update
+
composer require simplesamlphp/simplesamlphp-module-entitycategories:dev-master
 +
composer config repositories.simplesamlphp/simplesamlphp-module-entitycategories vcs https://github.com/sitya/simplesamlphp-module-entitycategories.git
 +
composer update
 +
 
 +
</source>
 +
 
 +
==Beállítás==
 +
 
 +
Lévén egy AuthProc modullal van dolgunk, így a rendes authproc szekcióba kell elhelyeznünk valahol a sorban, a core:AttributeLimit, vagy niif:AttrobuteLimit előtt. Az alább részletezett alapbeállításokon túl (<code>default, strict, allowRequestedAttributes</code>) az egyes entityCategory-k URI-jait kell megadni, mint egy tömb kulcsát, és a hozzátartozó tömb értékeiként pedig a megengedett attribútumok URN-jeit. Tetszőleges számú entityCategory-t megadhatunk, a korábbi beállítások elsősorban azt szabályozzák, hogy mi történjen akkor, olyan entitással van dolgunk, akinek nincs a metadatájában megadva EntityCategory, vagy ha van, nem illeszkedik az általunk explicit beállított listában található EntityCategory-k valamelyikére.
 +
 
 +
=== Működő példa ===
 +
<source lang="php">
 +
  75  => array(
 +
        'class' => 'entitycategories:EntityCategory',
 +
        'default' => true,
 +
        'strict' => true,
 +
        'allowRequestedAttributes' => true,
 +
        'http://eduid.hu/category/registered-by-eduidhu' => array (),
 +
        'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' => array (),
 +
        'http://refeds.org/category/research-and-scholarship' => array(
 +
            'urn:oid:2.16.840.1.113730.3.1.241', #displayName
 +
            'urn:oid:2.5.4.4', #sn
 +
            'urn:oid:2.5.4.42', #givenName
 +
            'urn:oid:0.9.2342.19200300.100.1.3', #mail
 +
            'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', #eduPersonPrincipalName
 +
            'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', #eduPersonScopedAffiliation
 +
        ),
 +
  ),
 +
 
 +
  80 => array(
 +
        'class' => 'niif:AttributeLimit',
 +
        'default' => true,
 +
        'bilateralSPs' => array(
 +
            'google.com' => array('mail'),
 +
            'urn:federation:MicrosoftOnline' => array('IDPEmail', 'ImmutableID'),
 +
        ),
 +
  ),
 +
</source>
 +
 
 +
 
 +
A fenti példa az alábbiakat végzi:
 +
# a magyar föderáció által regisztrált entitások számára a [[Resource Registry]]-ben beállított attribútumok (<code>RequestedAttributes</code>) alapján történik az attribútum kiadás;
 +
# a GÉANT Code of Conduct entitás kategóriájú eduGAIN-es SP-k számára szintén <code>RequestedAttributes</code> alapján történik az attribútum kiadás;
 +
# a Research & Scholarship entitás kategóriájú eduGAIN-es SP-k számára kiadjuk a kategória által igényelt attribútumcsomagot
 +
#* az ilyen SP-k <code>RequestedAttributes</code> alapján módosíthatnak az attribútum igényeiken
 +
# a fenti kategóriáknak nem megfelelő SP-k közül kizárólag a ''bilateralSPs'' tömbben megadott entitásoknak adunk ki attribútumot.
 +
 
 +
{{STOP|Az ''entitycategories:EntityCategory'' modul ''strict'' beállítása esetén a lokálisan felvett SP-k esetén nem lesz figyelembe véve az ''attributes'' tömbelem! Ez azt jelenti, hogy a nem a központi metaadatokból származó SP-ket fel kell venni az ''niif:AttributeLimit'' modul listájába. Ebből fakadóan ilyen esetben nem is használhatjuk a  ''core:AttributeLimit'' modult.}}
 +
 
 +
=== Opciók ===
 +
===='''<code>default</code>'''====
 +
Logikai kapcsoló, <code>true/false</code> értékeket vehet fel. Amennyiben <code>true</code>, úgy a beállított EntityCategory-k alatt megadott attribútumkészletet akkor is kiadjuk az adott EntityCategory-val érkező SP-nek, ha az attribútumokat explicit, a <code>RequestedAttribute</code>-ok között nem kérte felsorolva. Ennek az R&S EntityCategorynál van különös jelentősége (a példában is ez szerepel), mert ott a specifikáció kimondja, hogy a meghatározott attributúmkészletet akkor is ki kell adni az R&S-t támogató IdP-nek, amennyiben nincsenek ezen attribútumok tételesen felsorolva, mint <code>RequestedAttributes</code>.
 +
 
 +
===='''<code>strict</code>'''====
 +
Logikai kapcsoló, <code>true/false</code> értékeket vehet fel. Amennyiben <code>true</code>, úgy csak és kizárólag a modul konfigurációjában megadott EntityCategory-val érkező SP-k számára kerülnek attribútumok kiadásra, "ismeretlen" EntityCategory-val bíró, és EntityCategory nélküli SP-k számára nem kerül kiadásra semmi.
 +
 
 +
===='''<code>allowRequestedAttributes</code>'''====
 +
Logikai kapcsoló, <code>true/false</code> értékeket vehet fel. Amennyiben <code>true</code>, úgy megengedjük, hogy egy SP a hozzátartozó EntityCategory konfigurációjában megadott attribútumlistán túl kért attribútumot kiadásra <code>RequestedAttributes</code>-on keresztül, <code>false</code> esetén csak a listában szereplő attribútumok kiadását engedi a modul. Amennyiben az érték <code>true</code> és a <code>strict</code> értéke <code>false</code>, úgy az "ismeretlen" EntityCategory-val bíró SP-k számára is a <code>RequestedAttributes</code> alapján kerülnek kiadásra az attribútumok.

A lap jelenlegi, 2017. szeptember 26., 19:55-kori változata

Ez a lap a simpleSAMLphp EntityCategories moduljának továbbfejlesztett változatához tartozó beállításokat ismerteti. Reményeink szerint a modul valamikor a simpleSAMLphp alapcsomagjának is része lesz, ám amíg ez nem történik meg, addig az alábbiak szerint érdemes eljárni, ha használni szeretnénk.

A modul forrása: https://github.com/sitya/simplesamlphp-module-entitycategories.git

Fontos, hogy a modul nem helyettesíti a core:AttributeLimit, vagy a niif:AttributeLimit modult, valamelyikkel együtt használandó!

Telepítés composeren keresztül

cd /path/to/simplesamlphp
composer require simplesamlphp/simplesamlphp-module-entitycategories:dev-master
composer config repositories.simplesamlphp/simplesamlphp-module-entitycategories vcs https://github.com/sitya/simplesamlphp-module-entitycategories.git
composer update

Beállítás

Lévén egy AuthProc modullal van dolgunk, így a rendes authproc szekcióba kell elhelyeznünk valahol a sorban, a core:AttributeLimit, vagy niif:AttrobuteLimit előtt. Az alább részletezett alapbeállításokon túl (default, strict, allowRequestedAttributes) az egyes entityCategory-k URI-jait kell megadni, mint egy tömb kulcsát, és a hozzátartozó tömb értékeiként pedig a megengedett attribútumok URN-jeit. Tetszőleges számú entityCategory-t megadhatunk, a korábbi beállítások elsősorban azt szabályozzák, hogy mi történjen akkor, olyan entitással van dolgunk, akinek nincs a metadatájában megadva EntityCategory, vagy ha van, nem illeszkedik az általunk explicit beállított listában található EntityCategory-k valamelyikére.

Működő példa

  75  => array(
         'class' => 'entitycategories:EntityCategory',
         'default' => true,
         'strict' => true,
         'allowRequestedAttributes' => true,
         'http://eduid.hu/category/registered-by-eduidhu' => array (),
         'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' => array (),
         'http://refeds.org/category/research-and-scholarship' => array(
             'urn:oid:2.16.840.1.113730.3.1.241', #displayName
             'urn:oid:2.5.4.4', #sn
             'urn:oid:2.5.4.42', #givenName
             'urn:oid:0.9.2342.19200300.100.1.3', #mail
             'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', #eduPersonPrincipalName
             'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', #eduPersonScopedAffiliation
         ),
  ),

  80 => array(
        'class' => 'niif:AttributeLimit',
        'default' => true,
        'bilateralSPs' => array(
            'google.com' => array('mail'),
            'urn:federation:MicrosoftOnline' => array('IDPEmail', 'ImmutableID'),
         ),
  ),


A fenti példa az alábbiakat végzi:

  1. a magyar föderáció által regisztrált entitások számára a Resource Registry-ben beállított attribútumok (RequestedAttributes) alapján történik az attribútum kiadás;
  2. a GÉANT Code of Conduct entitás kategóriájú eduGAIN-es SP-k számára szintén RequestedAttributes alapján történik az attribútum kiadás;
  3. a Research & Scholarship entitás kategóriájú eduGAIN-es SP-k számára kiadjuk a kategória által igényelt attribútumcsomagot
    • az ilyen SP-k RequestedAttributes alapján módosíthatnak az attribútum igényeiken
  4. a fenti kategóriáknak nem megfelelő SP-k közül kizárólag a bilateralSPs tömbben megadott entitásoknak adunk ki attribútumot.


Opciók

default

Logikai kapcsoló, true/false értékeket vehet fel. Amennyiben true, úgy a beállított EntityCategory-k alatt megadott attribútumkészletet akkor is kiadjuk az adott EntityCategory-val érkező SP-nek, ha az attribútumokat explicit, a RequestedAttribute-ok között nem kérte felsorolva. Ennek az R&S EntityCategorynál van különös jelentősége (a példában is ez szerepel), mert ott a specifikáció kimondja, hogy a meghatározott attributúmkészletet akkor is ki kell adni az R&S-t támogató IdP-nek, amennyiben nincsenek ezen attribútumok tételesen felsorolva, mint RequestedAttributes.

strict

Logikai kapcsoló, true/false értékeket vehet fel. Amennyiben true, úgy csak és kizárólag a modul konfigurációjában megadott EntityCategory-val érkező SP-k számára kerülnek attribútumok kiadásra, "ismeretlen" EntityCategory-val bíró, és EntityCategory nélküli SP-k számára nem kerül kiadásra semmi.

allowRequestedAttributes

Logikai kapcsoló, true/false értékeket vehet fel. Amennyiben true, úgy megengedjük, hogy egy SP a hozzátartozó EntityCategory konfigurációjában megadott attribútumlistán túl kért attribútumot kiadásra RequestedAttributes-on keresztül, false esetén csak a listában szereplő attribútumok kiadását engedi a modul. Amennyiben az érték true és a strict értéke false, úgy az "ismeretlen" EntityCategory-val bíró SP-k számára is a RequestedAttributes alapján kerülnek kiadásra az attribútumok.