Yksinkertaista SAML-autentikoinnin integrointi kehittäjille
Opi, mitä SAML on, miten toteuttaa SSO ja nopeat vaiheet SAML-autentikoinnin integroimiseksi Identity Providerina (IdP) tai Service Providerina (SP).
Single Sign-On (SSO) on avain nykyaikaisissa sovelluksissa ja SAML mahdollistaa turvallisen ja käyttäjäystävällisen autentikoinnin eri yritysidentiteettijärjestelmien välillä. Tämä opas yksinkertaistaa SAML:n kehittäjille ja suunnittelijoille selkeillä vaiheilla ja käytännön esimerkeillä, jotta voit ottaa sen tehokkaasti käyttöön.
Mitä ovat SAML-autentikointi ja SAML-sovellukset?
Security Assertion Markup Language (SAML) on XML-pohjainen standardi, jota käytetään autentikointi- ja valtuutustietojen vaihtoon kahden keskeisen osapuolen välillä: Identity Provider (IdP) ja Service Provider (SP). Se on yleinen ratkaisu Single Sign-On (SSO) -toteutuksiin organisaatioissa, mikä helpottaa yrityskäyttäjien elämää mahdollistamalla kirjautuminen kerran ja pääsyn useisiin sovelluksiin.
Identity Provider (IdP) on vastuussa käyttäjätunnusten, kuten käyttäjänimen ja salasanan, hallinnasta ja tarkistamisesta. Kun käyttäjä yrittää käyttää suojattua palvelua, IdP varmistaa hänen henkilöllisyytensä ja välittää tämän varmistuksen palvelulle.
- Esimerkki: Kuvittele työskenteleväsi suuressa yrityksessä, joka käyttää Microsoft Azure AD:tä työntekijätunnusten hallintaan. Kun haluat kirjautua Salesforceen, Azure AD toimii IdP:nä. Se tarkistaa tunnuksesi ja ilmoittaa Salesforcelle, että olet valtuutettu käyttämään sitä.
Service Provider (SP) on sovellus tai palvelu, johon käyttäjät haluavat päästä. Se luottaa IdP:hen hoitamaan autentikoinnin raskaan työn.
- Esimerkki: Jatkaen esimerkkiä yllä, Salesforce on SP. Se luottaa Microsoft Azure AD:hen (IdP) henkilöllisyytesi varmistamiseen. Kun Azure AD puoltaa sinua, Salesforce päästää sinut sisään.
Kun puhutaan “SAML-sovelluksesta”, viitataan yleensä SP:hen.
SAML-protokollan avulla voit määrittää palvelusi IdP:ksi sovellusten integrointia varten (kuten Azure AD / Google Workspace); tai SP:ksi (kuten Salesforce / Slack) tarjotaksesi SSO:n käyttäjille.
SAML Assertion on SAML-protokollan ydin. Se on digitaalinen “muistilappu”, jonka IdP luo ja lähettää SP:lle ja sanoo: "Olen vahvistanut tämän käyttäjän henkilöllisyyden.” Seuraavaksi käydään läpi, miten prosessi etenee sekä IdP:n että SP:n näkökulmasta.
Toimiessasi SAML Identity Providerina
Kun palvelusi toimii IdP:nä, mahdollistat SAML-autentikoinnin useissa sovelluksissa. Tämä antaa käyttäjille mahdollisuuden käyttää monia palveluja yhdellä yritysidentiteetillä.
Tyypillinen SAML SSO -työnkulku IdP:lle:
- Käyttäjä yrittää käyttää sovellusta (SP), kuten Salesforcea.
- Sovellus ohjaa käyttäjän IdP:si kirjautumissivulle.
- Käyttäjä syöttää tunnuksensa IdP:si kirjautumissivulla.
- IdP tarkistaa tunnukset.
- Jos tunnukset täsmäävät, IdP lähettää SAML assertionin takaisin SP:lle.
- SP käsittelee assertionin, vahvistaa sen ja antaa käyttäjälle pääsyn.
Toimiessasi SAML Service Providerina
Jos palvelusi on SP, liität sen erilaisiin identiteetin tarjoajiin tarjotaksesi käyttäjillesi SSO-mahdollisuuden. Tämä antaa eri organisaatioiden tai vuokralaisien yrityskäyttäjille mahdollisuuden käyttää sovellustasi turvallisesti ja tehokkaasti.
SP-initioidun SSO:n työnkulku:
- Käyttäjä yrittää kirjautua sovellukseesi.
- Sovelluksesi muodostaa SAML-pyynnön ja ohjaa käyttäjän IdP:n kirjautumissivulle.
- Käyttäjä kirjautuu IdP:ssä (tai tämä vaihe ohitetaan, jos hän on jo kirjautunut).
- IdP tunnistaa käyttäjän ja laittaa tämän tiedot SAML assertioniin.
- IdP lähettää assertionin takaisin sovelluksellesi.
- Palvelusi tarkistaa assertionin. Jos se on aito, käyttäjä pääsee sovellukseesi sisään.
SAML SSO:n keskeiset parametrit
Onnistuneeseen SAML SSO -integraatioon IdP:iden ja SP:iden on jaettava tietyt parametrit. Tässä perusasiat:
IdP:ltä saatavat parametrit
- IdP Entity ID: Yksilöllinen tunniste IdP:lle SAML-viestinnässä, kuin digitaalinen nimilappu.
- SSO URL: Kirjautumisen päätepiste (URL), johon SP ohjaa käyttäjiä autentikointia varten.
- X.509-sertifikaatti: Julkinen avain, jolla allekirjoitetaan SAML assertion ja varmistetaan sen turvallisuus. Tämä on “sinetti”, joka todentaa aitouden.
Vinkki: Jos IdP:si tarjoaa SAML Metadata URL:n, kaikki helpottuu. Tämä URL sisältää kaiken tarpeellisen tiedon (kuten sertifikaatit, SSO-osoitteet ja IdP Entity ID) yhdestä paikasta. Näin minimoidaan virheet manuaalisesta kopioinnista ja vältetään sertifikaattitiedostojen manuaaliset päivitykset.
SP:ltä saatavat parametrit
- SP Entity ID: SP:n yksilöllinen tunniste, kuten IdP Entity ID.
- Assertion Consumer Service (ACS) URL: SP:n päätepiste, johon SP odottaa saavansa SAML assertionin IdP:ltä.
- RelayState (valinnainen): Käytetään tiedon välitykseen SAML-prosessin aikana, esimerkiksi osoitteeseen, johon käyttäjä yritti alun perin mennä.
SAML-attribuuttien kuvaus ja salaus
- NameID Format: Määrittelee käyttäjätunnisteen muodon (esimerkiksi sähköpostiosoite tai käyttäjänimi).
- SAML-attribuutit: Lisätietoja käyttäjästä, kuten roolit, sähköposti tai osasto, jotka IdP lähettää SP:lle.
- Esimerkki: Jos IdP:n allekirjoittama SAML assertion sisältää
email
([email protected]),role
(admin) jadepartment
(engineering). SP voi käyttäärole
-arvoa admin-oikeuksien myöntämiseen taidepartment
-arvoa ryhmittelyyn oikeaan tiimiin. Jotta nämä tärkeät käyttäjätiedot siirtyvät oikein, IdP:n ja SP:n täytyy sopia, miten attribuutit kuvataan. Esimerkiksi IdP voi määrittää "department":in team-muotoon, mutta SP odottaa sitä group-nimisenä. Oikea kuvaus varmistaa sujuvan viestinnän.
- Esimerkki: Jos IdP:n allekirjoittama SAML assertion sisältää
- SALAUTETUT assertionit (valinnainen): Herkkien autentikointitietojen suojaamiseksi SAML assertionit voidaan salata.
- IdP:n rooli: Salakirjoittaa assertionin SP:n julkisella avaimella.
- SP:n rooli: Purkaa assertionin omalla yksityisavaimellaan ja lukee käyttäjätiedot.
Nyt sinulla pitäisi olla tarvittavat tiedot SAML-yhteyden luomiseen. Esimerkiksi Salesforcen (Service Provider) ja Azure AD:n (Identity Provider) yhdistämiseen seuraa näitä vaiheita:
- Hanki IdP Entity ID, SSO URL ja sertifikaatti Azure AD:sta ja aseta ne Salesforceen.
- Anna Salesforcen SP Entity ID ja ACS URL Azure AD:lle.
Logto tekee SAML-integraatiosta helppoa
Logto voi toimia joko IdP:nä tai SP:nä tarjotakseen SAML SSO:n sovelluksillesi.
Käytä Logtoa SAML IdP:nä
Logto mahdollistaa sen, että muut sovellukset luottavat siihen yhdistettyyn identiteetin autentikointiin ja tukee monivaiheista autentikointia (MFA) lisäturvaa varten.
- Luo Logto-sovellus Siirry Logto Console > Applications ja luo uusi SAML-sovellus.
- Määrittele SAML-parametrit Määritä sovellukselle Service Providerin (SP) Assertion Consumer Service URL ja SP Entity ID.
- Anna metadata-URL Logto tarjoaa IdP Metadata URL:n, jonka avulla SP:t voivat noutaa tarvittavat tiedot automaattisesti, kuten SSO-osoitteet ja sertifikaatit.
- Edistynyt konfigurointi (valinnainen)
- Voit luoda useita uusia sertifikaatteja sormenjäljillä ja asettaa vanhenemispäivät, mutta vain yksi sertifikaatti voi olla aktiivinen kerrallaan.
- Muuta Name ID -muoto liiketoimintavaatimusten mukaiseksi.
- Ota käyttöön SAML assertionin salaus liittämällä palveluntarjoajasi x509-sertifikaatti ja salaamalla assertionit.
- Kuvaa attribuutit (valinnainen) Räätälöi helposti, miten käyttäjäattribuutit jaetaan Service Providerien (SP) kanssa.
Yksityiskohtaiset ohjeet löydät virallisesta dokumentaatiosta: SAML App
Käytä Logtoa SAML SP:nä
Logto integroituu myös kaikkiin yrityksen IdP:ihin SAML- tai OIDC-protokollien kautta. Riippumatta siitä, otatko käyttöön SP-initioidun SSO:n yhtenäisten sisäänkirjautumissivujen osana vai IdP-initioidun SSO:n, prosessi on suoraviivainen.
- Luo yritysyhdistin Siirry Logto Console > Enterprise SSO ja luo uusi Enterprise Connector. Valitse protokollaksi SAML.
- Määrittele SAML-parametrit Anna joko metadata-URL tai metadata XML -tiedosto IdP:ltäsi. Jos metadataa ei ole, vaihda manuaaliseen asetukseen ja syötä IdP Entity ID, SSO URL ja lataa allekirjoitussertifikaatti.
- Jaa ACS URL ja SP Entity ID Anna Logton ACS URL ja SP Entity ID IdP:lle viimeistelläksesi integraation.
- Kuvaa attribuutit (valinnainen) Määritä käyttäjätietomuutokset, kuten sähköposti tai nimet, jotta tiedot siirtyvät oikein IdP:n ja Logton välillä.
- Lisää yrityksen sähköpostidomainit Enterprise connectorin "SSO Experience" -välilehdellä lisää yksi tai useampi sähköpostidomain. Vain nämä domainit omaavat käyttäjät voivat autentikoitua SSO:n kautta.
- Ota käyttöön IdP-initioitu SSO (valinnainen) Ota IdP-initioitu SSO käyttöön vain, jos yritysasiakkaasi sitä vaativat. Tämän avulla käyttäjät voivat kirjautua sovelluksiisi suoraan IdP-hallintapaneelista.
Yksityiskohtaiset ohjeet löytyvät virallisesta dokumentaatiosta: Enterprise SSO documentation.
Loppusanat
SAML tarjoaa standardoidun ja turvallisen tavan SSO:lle ja tekee autentikoinnista sujuvampaa. Logto yksinkertaistaa prosessin, olitpa ottamassa sitä käyttöön IdP:nä tai SP:nä. Käyttäjäystävällisen käyttöliittymänsä ja tuen sekä pilvi- että avoimen lähdekoodin versioille ansiosta Logto poistaa SAML-integraation monimutkaisuuden. Määrittelemällä vain muutaman parametrin voit yhdistää palvelusi mihin tahansa SAML IdP:hen tai SP:hen ja keskittyä rakentamaan hyviä käyttäjäkokemuksia.