SimpleSAMLphp dubleerimine testimiseks ja uuendamiseks

Allikas: Eesti Hariduse ja Teaduse Andmesidevõrk

See juhend on olukorraks, kui TAAT teenusega ühinejal on omal pool kaks süsteemi koos eraldi SimpleSamlPHP paigaldustega, millest ühte kasutatakse testimiseks.

Dubleeriva SSP ülesseadmine

Idee: korraga on töös kaks SSP paigaldust (nt /sso ja /sso2), kuid JANUS näeb neid ühe EntityID taga. Üheaegselt on ühel SSP-l test-allikas ja teisel SSP-l prod-allikas. Neid kahte omavahel vahetades saavutatakse olukord, kus pidevalt on üks SSP testimiseks ja teine on töös.

NB! SSP-de URLi nimed peaks olema sellised, et mõleamd sobiks produktsiooni. (Nt halb oleks /sso ja /test-sso)

Esmased toimingud

  • konfida config/authsources.php failis alternatiivne test-allikas (nt exampleauth:UserPass vmt)
- alternatiiv: sama konfiguratsioon, kuid muuta vaid andmebaasi nime (siis peab vähemates failides muutma)
  • kopeerida kogu SSP kaust teise kohta (nt SSO2)
  • teha Apache conf uue asukoha jaoks (aliased jmt)
  • config/config.php failis muuta BASEURL vastavalt
  • metadata/saml20-idp-hosted.php failis muuta massiivi võti staatiliseks
- st '__DYNAMIC:1__' asendada konkreetse JANUSes kasutatava Entity ID-ga, näiteks 'https://www.eenet.ee/sso/saml2/idp/metadata.php'

Igakordsed toimingud

Iga uuenduse produktsiooni viimine koosneb kahest osast:

  • test-SSP produktsiooni viimine
  • uue test-SSP tekitamine

NB! Et tagada test-HUBis testandmete kasutamine, tuleks mõlemad eelnevatest osadest teha võimalikult lähestikku.

Testis oleva SSP produktsiooni viimine

Peale edukat testimist ja EENeti poolse QA läbimist jääb ühendus 'prodpending' staatusse. Produktsiooni viimiseks:

  • Vaheta SSP konfis autentimisallikas vastavalt ülal valitud taktikale:
- kas siis muuda authsources faili, või
- muuda metadata/saml20-idp-hosted.php failis authsource nimi, kusjuures turva tõstmiseks võib authsources failis teise üldse välja kommenteerida
  • turvalisuse tõstmiseks võib metadata/saml20-sp-remote.php failist kommenteerida test-HUBi metadata välja (siis ei pääse andmetele ligi ka selle aja jooksul, mis test-HUB pole metadatat värskendanud veel
  • JANUSes sea tase 'production' ja salvesta

Uue test-SSP tekitamine

Peale SSP produktsiooni laskmist tuleb nüüd teha uus Test-SSP, et test-tasemel ei oleks prod-andmeid näha. Selleks konfime teise SSP (so /sso2) test-tasemele testbaasiga tööle:

  • muuda teise SSP (nt /sso2) authsource test-allikaks
  • veendu, et Test-HUBi metadata oleks lubatud
  • JANUSes tee järgmised muudatused
- sea state 'test' ja salvestada (et saaks muudatusi tegema hakata)
- muuda SingleSignOnService:0:Location ja SingleLogoutService:0:Location vastavalt alternatiivsele asukohale (nt /sso2) ja salvesta