Erinevus lehekülje "Liitumine eduGAIN-iga" redaktsioonide vahel

Allikas: Eesti Hariduse ja Teaduse Andmesidevõrk
(Testimine)
(Testimine)
 
(ei näidata sama kasutaja 19 vahepealset redaktsiooni)
35. rida: 35. rida:
  
 
=== config/config-metarefresh.php ===
 
=== config/config-metarefresh.php ===
''' <span style="color:#800000"> NB! ''schacHomeOrganization'' ja ''schacHomeOrganizationType'' väärtused tuleb seadistada vastavaks oma asutusele.
+
''' <span style="color:#800000"> NB! ''schacHomeOrganization'' ja ''schacHomeOrganizationType'' väärtused tuleb seadistada vastavalt asutuse TAAT-i lepingule. Juhul kui ''config.php'' failis või mujal on AttributeLimit koos atribuutide nimekirjaga defineeritud, siis tuleb sinna lisada kõik Metarefreshi konfis AttributeAdd sees olevad atribuutide nimed. Vastasel juhul filtreeritakse need automaatselt välja. '''
 +
(''schacHomeOrganization'', ''schacHomeOrganizationType'')
  
schacHomeOrganization = ''domeeninimi.ee''
+
schacHomeOrganization = ''asutuse_domeeninimi.ee''
 +
 
 +
schacHomeOrganizationType - [[#home_organization_types | lubatud väärtusi vaata siit]].
  
schacHomeOrganizationType - [[#home_organization_types | lubatud väärtusi vaata siit]].
 
  
</span>'''
 
 
<pre>
 
<pre>
 
<?php
 
<?php
72. rida: 73. rida:
  
 
                             // Add the persistent to the eduPersonTargetedID attribute
 
                             // Add the persistent to the eduPersonTargetedID attribute
                             20 => 'core:TargetedID',
+
                             20 => array( 'class' => 'core:TargetedID',
 +
                                'attributename' => 'eduPersonPrincipalName',
 +
                                'nameId' => TRUE,
 +
                            ),
  
 
                             45 => array('class'    => 'consent:Consent',  
 
                             45 => array('class'    => 'consent:Consent',  
79. rida: 83. rida:
 
                                         'checked'  => TRUE
 
                                         'checked'  => TRUE
 
                             ),
 
                             ),
 
+
                            /* allow sane set of name attributes */
 +
                           
 
                             51 => array('class' => 'core:AttributeMap', 'name2oid'),
 
                             51 => array('class' => 'core:AttributeMap', 'name2oid'),
                             //52 => array('class' => 'core:AttributeLimit'),
+
                             52 => array('class' => 'core:AttributeLimit'),
                            57 => array(
 
                              'class' => 'core:PHP',
 
                              'code' => '
 
                                SimpleSAML_Logger::debug("TAAT-DEBUG4-METAREFRESH: Attributes: " . print_r($attributes, true));
 
                            '),
 
 
                         ),
 
                         ),
 
                     ),
 
                     ),
103. rida: 103. rida:
 
     ),
 
     ),
 
);
 
);
 +
</pre>
 +
 +
Tehke eduGAIN-i metadata jaoks eraldi kaust.
 +
<pre>
 +
mkdir -p metadata/edugain
 
</pre>
 
</pre>
  
108. rida: 113. rida:
  
 
<pre>
 
<pre>
 +
 
# ... rest of the file
 
# ... rest of the file
 
#
 
#
129. rida: 135. rida:
 
  */
 
  */
 
$config = array (
 
$config = array (
         'key' => 'GENERATE_SOME_RANDOM_STRING_HERE',
+
         'key' => 'RANDOM_KEY',
 
         'allowed_tags' => array('daily', 'hourly', 'frequent'),
 
         'allowed_tags' => array('daily', 'hourly', 'frequent'),
 
         'debug_message' => false,
 
         'debug_message' => false,
141. rida: 147. rida:
 
<pre>
 
<pre>
 
# Run SimpleSAMLphp Hourly tasks at every second minute of an hour
 
# 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
+
2 * * * * apache curl --silent  "https://SERVER/simplesaml/module.php/cron/cron.php?key=RANDOM_KEY&tag=hourly" > /dev/null 2>&1
 
</pre>
 
</pre>
  
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.
+
Kindlasti vaja seada croni jaoks parool (märgitud failides RANDOM_KEY-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 ==
 
== Kohustuslikud atribuudid ==
158. rida: 164. rida:
  
 
== Testimine ==
 
== Testimine ==
Hetkel on eduGAIN-i atribuutide kontrollteenus alles valmimisel. Kui kõik ülalmainitud muudatused on tehtud, siis saab kontrollida sisselogimist ja edastatud atribuute siin:
+
Hetkel on eduGAIN-i atribuutide kontrollteenus alles valmimisel. Kui kõik ülalmainitud muudatused on tehtud, siis saab kontrollida sisselogimist ja edastatud atribuute nendes teenustes:
 +
 
 +
* [https://attribute-viewer.aai.switch.ch/interfederation-test/test/ https://attribute-viewer.aai.switch.ch/interfederation-test/test/]
 +
 
 +
* https://attribute-viewer.aai.switch.ch/aai/
 +
 
 +
* https://eitja.taat.edu.ee/edugain-test-sp-php
 +
 
 +
* https://attributes.eduid.cz/
  
[https://attribute-viewer.aai.switch.ch/interfederation-test/test/ https://attribute-viewer.aai.switch.ch/interfederation-test/test/]
+
'''<span style="color:#800000">NB! Mõned testid võivad ebaõnnestuda ''eduPersonUniqueId'' puudumise tõttu. Sellest hoolimata peaks saama eduGAINi teenuseid kasutada. </span>'''
  
'''NB! Test ebaõnnestub ''eduPersonUniqueId'' ja ''persistent-id'' puudumise tõttu, kuid sellest hoolimata saab EduGAIN-i teenuseid kasutada. '''
+
Samuti tuleb arvestada, et erinevad teenusepakkujad võivad vajada erinevaid atribuute. Sellest tulenevalt võivad ka erinevate föderatsioonide atribuutide testid '''veidike''' erinevaid tulemusi näidata.
  
 
Testimise kiirendamiseks on võimalik administraatori kasutajaga SimpleSAMLphp lehele logides metarefreshi ka käsitsi käivitada.
 
Testimise kiirendamiseks on võimalik administraatori kasutajaga SimpleSAMLphp lehele logides metarefreshi ka käsitsi käivitada.

Viimane redaktsioon: 10. oktoober 2018, kell 13:37

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:

  1. cron
  2. metarefresh
  3. 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 vastavalt asutuse TAAT-i lepingule. Juhul kui config.php failis või mujal on AttributeLimit koos atribuutide nimekirjaga defineeritud, siis tuleb sinna lisada kõik Metarefreshi konfis AttributeAdd sees olevad atribuutide nimed. Vastasel juhul filtreeritakse need automaatselt välja. (schacHomeOrganization, schacHomeOrganizationType)

schacHomeOrganization = asutuse_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 => array( 'class' => 'core:TargetedID',
                                'attributename' => 'eduPersonPrincipalName',
                                'nameId' => TRUE,
                            ),

                            45 => array('class'     => 'consent:Consent', 
                                        'store'     => 'consent:Cookie', 
                                        'focus'     => 'yes', 
                                        'checked'   => TRUE
                            ),
                            /* allow sane set of name attributes */
                            
                            51 => array('class' => 'core:AttributeMap', 'name2oid'),
                            52 => array('class' => 'core:AttributeLimit'),
                        ),
                    ),
                ),
            ),

            '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',
        ),
    ),
);

Tehke eduGAIN-i metadata jaoks eraldi kaust.

mkdir -p metadata/edugain

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' => 'RANDOM_KEY',
        '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_KEY&tag=hourly" > /dev/null 2>&1

Kindlasti vaja seada croni jaoks parool (märgitud failides RANDOM_KEY-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

  1. HomeOrganizationType

Testimine

Hetkel on eduGAIN-i atribuutide kontrollteenus alles valmimisel. Kui kõik ülalmainitud muudatused on tehtud, siis saab kontrollida sisselogimist ja edastatud atribuute nendes teenustes:

NB! Mõned testid võivad ebaõnnestuda eduPersonUniqueId puudumise tõttu. Sellest hoolimata peaks saama eduGAINi teenuseid kasutada.

Samuti tuleb arvestada, et erinevad teenusepakkujad võivad vajada erinevaid atribuute. Sellest tulenevalt võivad ka erinevate föderatsioonide atribuutide testid veidike erinevaid tulemusi näidata.

Testimise kiirendamiseks on võimalik administraatori kasutajaga SimpleSAMLphp lehele logides metarefreshi ka käsitsi käivitada.