Liitumine eduGAIN-iga
Sisukord
EduGAIN-iga liitumise juhend
Automaatne metadata laadimine
Kui soovite ühendada teenuse- või identiteedipakkujat föderatsiooni, tuleb esmalt seadistada metaandmed, mida usaldate. TAATis on metaandmete jagamine automatiseeritud kasutades selleks URLi, mis väljastab kõigi asutuste SAML 2.0 XML formaadis metaandmed, kes föderatsiooni kuuluvad.
Rohkem infot ametlikust SimpleSAMLphp juhendist https://simplesamlphp.org/docs/stable/simplesamlphp-automated_metadata
Eeltöö
Aktiveerige järgnevad moodulid:
- cron
- metarefresh
- consent
Croni moodul käivitab etteantud töid perioodiliselt.
Metarefresh moodul laeb alla ja parsib metaandmed ning salvestab need lokaalselt vahemällu.
Consent küsib kasutajatelt luba kasutajate atribuutide edastamiseks teenusepakkujale.
Esmalt kopeerige config-templates failide seast ülalpool mainitud moodulid globaalsesse config/ kausta.
[root@simplesamlphp] cd /var/simplesamlphp [root@simplesamlphp simplesamlphp] touch modules/cron/enable [root@simplesamlphp simplesamlphp] cp modules/cron/config-templates/*.php config/ [root@simplesamlphp simplesamlphp] touch modules/metarefresh/enable [root@simplesamlphp simplesamlphp] cp modules/metarefresh/config-templates/*.php config/ [root@simplesamlphp simplesamlphp] touch modules/consent/enable
Konfiguratsiooni täiendused
EduGAINi metadata automaatseks laadimiseks on vaja teha seadetes järgnevad muudatused:
config/config-metarefresh.php
NB! schacHomeOrganization ja schacHomeOrganizationType väärtused tuleb seadistada vastavaks oma asutusele.
schacHomeOrganization = domeeninimi.ee
schacHomeOrganizationType - lubatud väärtusi vaata siit.
<?php $config = array( 'sets' => array( 'edugain' => array( 'cron' => array('hourly'), 'sources' => array( array( 'src' => 'https://taeva.taat.edu.ee/metadata/metadata.edugain+sp.xml', 'validateFingerprint' => 'C5:F4:79:B5:80:8D:90:C2:5A:7D:B0:8D:B4:99:D7:2D:06:7F:DE:E5', 'template' => array( 'tags' => array('edugain'), 'validate.authnrequest' => FALSE, 'validate.logout' => FALSE, 'authproc' => array( // Add schacHomeOrganization and schacHomeOrganizationType for domain of entity 10 => array('class' => 'core:AttributeAdd', 'schacHomeOrganization' => 'domeenimi.ee', 'schacHomeOrganizationType' => 'urn:schac:homeOrganizationType:int:university', ), // Add eduPersonScopedAffiliation based on eduPersonAffiliation and eduPersonPrincipalName. 11 => array('class' => 'core:ScopeAttribute', 'scopeAttribute' => 'eduPersonPrincipalName', 'sourceAttribute' => 'eduPersonAffiliation', 'targetAttribute' => 'eduPersonScopedAffiliation', ), // Add the persistent to the eduPersonTargetedID attribute 20 => 'core:TargetedID', 45 => array('class' => 'consent:Consent', 'store' => 'consent:Cookie', 'focus' => 'yes', 'checked' => TRUE ), 51 => array('class' => 'core:AttributeMap', 'name2oid'), //52 => array('class' => 'core:AttributeLimit'), 57 => array( 'class' => 'core:PHP', 'code' => ' SimpleSAML_Logger::debug("TAAT-DEBUG4-METAREFRESH: Attributes: " . print_r($attributes, true)); '), ), ), ), ), 'expireAfter' => 60*60*24*4, // Maximum 4 days cache time. 'outputDir' => 'metadata/edugain/', /* * Which output format the metadata should be saved as. * Can be 'flatfile' or 'serialize'. 'flatfile' is the default. */ 'outputFormat' => 'flatfile', ), ), );
config/config.php
# ... rest of the file # # Find 'metadata.sources' section and make it to reflect: 'metadata.sources' => array( array('type' => 'flatfile', 'directory' => 'metadata'), array('type' => 'flatfile', 'directory' => 'metadata/edugain'), ), # ... rest of the file
module_cron.php
<?php /* * Configuration for the Cron module. * * $Id: $ */ $config = array ( 'key' => 'GENERATE_SOME_RANDOM_STRING_HERE', 'allowed_tags' => array('daily', 'hourly', 'frequent'), 'debug_message' => false, 'sendemail' => false, ); ?>
simplesamlphp_cron
# Run SimpleSAMLphp Hourly tasks at every second minute of an hour 2 * * * * apache curl --silent "https://SERVER/simplesaml/module.php/cron/cron.php?key=RANDOM_STRING&tag=hourly" > /dev/null 2>&1
Kindlasti vaja seada croni jaoks parool (märgitud failides RANDOM_STRING-iga), sest muidu saab igaüks tulla ja taske käivitada. Samuti on vaja teha kaust metadata/edugain ja sellele veebiserverile kirjutamise õigus anda.
Kohustuslikud atribuudid
- HomeOrganizationType
- Lubatud väärtused:
- urn:schac:homeOrganizationType:int:university
- Ülikoolid või kolledžid
- urn:schac:homeOrganizationType:int:school
- Alg- või põhikoolid
- urn:schac:homeOrganizationType:int:library
- Raamatukogud
- urn:schac:homeOrganizationType:int:nren
- Riiklikud teadus- ja haridusasutuste võrgud
- urn:schac:homeOrganizationType:int:business
- Tööstus- ja äriühingud
- urn:schac:homeOrganizationType:int:other
- Muud asutused
- urn:schac:homeOrganizationType:int:test
- Testimiseks
- Lubatud väärtused:
Testimine
Kui kõik muudatused on tehtud, siis saab kontrollida sisselogimist ja edastatud atribuute siin:
https://attribute-viewer.aai.switch.ch/interfederation-test/test/
Testimise kiirendamiseks on võimalik administraatori kasutajaga SimpleSAMLphp lehele logides metarefreshi ka käsitsi käivitada.