Automatinis metaduomenų atnaujinimas

Paslaugų ir tapatybių teikėjams rekomenduojama sukonfigūruoti automatinį metaduomenų atnaujinimą, kad visuomet turėtų naujausią federacijos dalyvių sąrašą.

Viena iš federacijos funkcijų yra federacijos metaduomenų dalinimas: visi federacinės infrastruktūros naudotojai turi turėti naujausią aktualų metaduomenų rinkinį, kuriame turi būti aprašyti visi federacijos tapatybės teikėjai (IDP) bei paslaugos (SP). Tai yra įgyvendinama teikiant automatinio metaduomenų atnaujinimo paslaugą.

LITNET FEDI metaduomenų atnaujinimas realizuojamas naudojant SimpleSAMLphp programinės įrangos komponentes ir pagal tokį scenarijų:

  1. registruojant IDP arba SP federacijoje, rankiniu būdu jų metaduomenys įrašomi į discovery paslaugos metaduomenų direktoriją;
  2. discovery paslauga apjungia (agreguoja) visus metaduomenis į vieną aprašą;
  3. IDP ir SP agreguotus metaduomenis reguliariai atsisiunčia iš discovery paslaugos.

Automatiniam metaduomenų atsisiuntimui iš discovery paslaugos IDP ir SP gali naudoti SimpleSAMLphp modulius metarefresh ir cron:

  • metarefresh atsisiunčia metaduomenis iš discovery paslaugos ir įrašo juos į nurodytą katalogą;
  • cron modulis leidžia vykdyti užduotis automatiškai nurodytais laiko momentais.

Įjungiami moduliai ir sukuriamas katalogas automatiškai atsisiųstiems metaduomenims išsaugoti:

touch modules/metarefresh/enable
touch modules/cron/enable
cp modules/cron/config-templates/module_cron.php config
cp modules/sanitycheck/config-templates/config-sanitycheck.php config
cp modules/metarefresh/config-templates/config-metarefresh.php config
mkdir metadata/litnet-import
chown www-data metadata/litnet-import/

Metarefresh modulio konfigūracija config/config-metarefresh.php:

<?php 
$config = array(
 'sets' => array(
  'litnet' => array(
   'cron' => array('hourly'),
   'sources' => array(
    array(
     'src' => 'https://fedi.litnet.lt/metadata.litnet.xml',
     'validateFingerprint' => '96:6F:09:B4:68:7B:15:B2:A2:16:5E:36:7C:01:ED:F3:17:75:15:CE',
     'template' => array(
      'tags' => array('litnet'),
      'authproc' => array(
       51 => array(
        'class' => 'core:AttributeMap', 'oid2name'),
       ),
      ),
     ),
    ),
   'expireAfter'  => 60*60*24*4, // Maximum 4 days cache time.
   'outputDir'   => 'metadata/litnet-import/',
   /* Which output format the metadata should be saved as.
    * Can be 'flatfile' or 'serialize'. 'flatfile' is the default.
   */
   'outputFormat' => 'flatfile',
   ),
  ),
);

Konfigūracijos patikrinimas:

  1. Prisijungti prie IDP arba SP SimpleSAMLphp pagrindinio puslapio
  2. Pereiti į Metarefresh įrankio puslapį Federation->[Tools]Metarefresh: fetch metadata. Patikrinti, ar diagnostika nerodo klaidų.
  3. Pereiti į Cron modulio puslapį: Configuration->Cron module information page
  4. Pasirinkti Run cron: [hourly]. Vykdymas neturi rodyti klaidų. Peržiūrėti log failus: apache/error_log, local5.log (pagal config.php ir syslog konfigūraciją)
  5. Patikrinti katalogą metadata/litnet-import
ls -l metadata/litnet-import/
-rw-r--r-- 1 www-data simplesaml 13277 2012-03-08 16:37 saml20-idp-remote.php
-rw-r--r-- 1 www-data simplesaml 15327 2012-03-08 16:37 saml20-sp-remote.php
-rw-r--r-- 1 www-data simplesaml  4513 2012-03-08 16:37 shib13-sp-remote.php

Į config/config.php pridėti papildomą metaduomenų šaltinį:

'metadata.sources' => array(
  array('type' => 'flatfile'),
  array('type' => 'flatfile', 'directory' =>'metadata/litnet-import'),
),

Į cron užduotis įkelti [hourly] eilutę iš SimpleSAMLphp cron puslapio:

crontab -e
01 * * * * curl --silent "https://jusu.paslaugos.url/simplesaml/module.php/cron/cron.php?key=secret&tag=hourly" > /dev/null 2>&1

Paieška

Metaduomenys


paslaugos palaikymą tarptautiniu mastu teikia Europos akademinių tinklų asociacija GÉANT

LITNET FEDI yra edugain
narys nuo 2014 m.

Free Joomla! templates by AgeThemes