Keskitetty käyttäjätunnistus

Last modified by Jukka Karvonen on 2025/02/04 07:02

Ohjeita

Keskitetyn käyttäjätunnistuksen vaihtoehdot on kuvattu sivulla Keskitetyn käyttäjätunnistuksen vaihtoehdot.

Yleisin tapa keskitettyyn käyttäjätunnistukseen on Shibboleth-palvelu SAML2-protokollalla.

Käyttöohjeet kertakirjautumiseen liitettyjen palveluiden hallintaan: SP-rekisteri

  • Pääsyoikeus SP-rekisteriin on oletuksena kaikilla HY:n työntekijöillä.
  • Jos käyttäjällä on HY:n käyttäjätunnus, mutta ei työntekijästatusta, tulee hänen kirjautua ensin palveluun kertakirjautumisella ja tämän jälkeen pyytää tunnuksen aktivointia atk-autentikointi@helsinki.fi osoitteesta (kerro viestissä, miksi tätä tarvitaan).
  • Jos kehittäjällä ei ole HY-tunnuksia, voi samasta osoitteesta tarvittaessa pyytää ulkopuolisen tunnuksen.

Tuki

Autentikoinnin tukea saa sähköpostitse atk-autentikointi@helsinki.fi -osoitteesta.

Käyttäjätiedot

Tunnistuksen yhteydestä käyttäjästä voidaan luovuttaa erilaisia käyttäjätietoja, joita voidaan käyttää käyttäjän tunnistukseen ja pääsynhallintaan. Esimerkkejä laajasti käytettävistä attribuuteista ovat:

  • nimitiedot (etunimi, sukunimi, näyttönimi)
  • sähköpostiosoite
  • suhde yliopistoon (faculty, staff, employee, student, affliate jne.)
  • käyttäjäryhmät

Laajempi lista attribuuteista löytyy sivulta Shibboleth käyttäjäattribuutit.

Tunnistetiedot

Käyttäjän yksilöintiin suositellaan eduPersonPrincipalName -attribuuttia (EPPN). Käytännössä se on muotoa käyttäjätunnus@helsinki.fi.

Tämä pysyy yksilöivänä tunnisteena vaikka käyttö laajentuisi HY:n ulkopuolelle (kts. luottamusverkostot).

Huom. Sähköpostin käyttäminen tunnisteena on ongelmallinen sekä sovelluksen että käyttäjän tietosuojan kannalta, koska sähköposti voidaan luovuttaa HY:llä uudelle henkilölle. Samaa käyttäjätunnusta ei luovuteta uudelleen käyttöön eri henkilölle, joten EPPN on turvallinen käyttäjän yksilöintiin. Nykyisin EPPN uudelleenluovutuskielto koskee myös Hakaa (kts. luottamusverkot), mutta ei kaikkia eduGAIN-luottaumusverkoston jäseniä.

Attribuuttien saatavuus

Kaikilla käyttäjillä ei ole aina kaikkia attribuutteja saatavilla. Esim. sähköposti saattaa hyvin puuttua.

Huomioithan tämän sovelluskehityksessä ja jos joku attribuutti on välttämätön sovelluksen toimivuuden kannalta, tulisi:

  1. puuttuvat tiedot kysyä käyttäjältä sovelluksessa, tai jos tämä ei ole mahdollista
  1. antaa käyttäjälle selkeä virheilmoitus, joka kertoo puuttuvasta attribuutista (mm. mikä se on)

Käyttäjätietojen synkronointi

SAML tai OIDC-kirjautumisen yhteydessä voi käyttäjästä päivittää käyttäjätietoja. Jos tiedot on tarvetta pitää ajantasalla myös kirjautumisten ulkopuolella, voi niitä päivittää:

  1. LDAP:n kautta (rekisteröinti vastaavasti SP-rekisterillä), tai
  2. ESB:n kautta (Tiedonhallinta-ryhmä osaa auttaa).

Huom. vaikka tiedot päivittäisi LDAP:n kautta säännöllisesti, tulee itse palveluun tunnistautuminen toteuttaa SAML tai OIDC-protokollaa käyttäen. Käyttäjää ei tulisi koskaan ohjata syöttämään salasanaansa muuta kuin keskitetyn käyttäjätunnistuksen kirjautumissivulle.

Testipalvelut

Shibboleth-testipalvelu

Shibboleth (OIDc ja SAML) kirjautumiseen on erillinen testipalvelu, jota käytetään SP-rekisterin kautta. Palvelu rekisteröidään kuten tuotantoon, mutta tuotannon sijaan valitaan "Julkaise testipalvelimille" kohta. Tällöin palvelu lisätään Shibbolethin testipalvelimille automaattisesti muutaman minuutin aikana ja käyttä voi itse hallita testikäyttäjiä ja niiden tietoja SP-rekisteirn kautta.

Lisää ohjeita Shibboleth-testipalvelusta sivulla Testipalvelu.

Testipalvelupaketti ja testikäyttäjätiedot

Jos tarvitse testikäyttäjätietoa tai esim. käyttäjätiedon synkronointia LDAP:n kautta, on HY:llä tähän erilliset testikäyttäjäpaketit osoitteessa https://version.helsinki.fi/test-users

Create-users on paketit, jolla voi luoda HY:n skeeman mukaista testidataa.

Test-user-service on käytännössä Ansible-scriptit oman testipalvelun asentamiseen, joka sisältää tarvittaessa esim. LDAP-palvelun HY-skeemoilla, Shibboleth (SAML/OIDC)-palvelun, simppelin REST APIn jne. sekä testikäyttäjien luonnin siten että samat teidot syötetään eri palveluihin.