Hvordan velge den rette Identity and Access Management (IAM) løsningen for din bedrift

I en verden som blir stadig mer digital, er sikkerhet og identitetsstyring blitt en kritisk del av bedriftens IT-strategi. Identity and Access Management (IAM) løsninger gir bedrifter muligheten til å kontrollere hvem som har tilgang til hvilke ressurser, og sikrer at riktig person har tilgang til riktig informasjon på riktig tidspunkt. Men med et hav av IAM-løsninger tilgjengelig på markedet, kan det være utfordrende å vite hvilken løsning som er best for din bedrift.

Denne artikkelen vil gi deg en grundig forståelse av hva du bør se etter når du velger en IAM-løsning, og vil sammenligne noen av de mest populære løsningene på markedet, inkludert Open Source-alternativer som Keycloak, skybaserte løsninger som Okta og hybridalternativer. Vi vil også diskutere viktige faktorer som sikkerhet, brukervennlighet, integrasjonsmuligheter og kostnader.

Ved å forstå dine unike behov og krav, kan du ta en informert beslutning om hvilken IAM-løsning som er best for din bedrift.

Illustratsjon

Hva må jeg kunne?

For å gjøre gode valg når det kommer til Identity and Access Management, er det viktig å forstå en del sentrale begreper.

Autentisering

Autentisering er prosessen der et system bekrefter identiteten til en bruker som prøver å få tilgang til det. Dette gjøres vanligvis ved å be om legitimasjon, som et brukernavn og passord. Hvis den innsendte informasjonen matcher den lagrede informasjonen, blir brukeren autentisert og gitt tilgang.

Autorisasjon

Autorisasjon er prosessen der et system bestemmer hva en autentisert bruker har tillatelse til å gjøre eller hvilke ressurser de har tilgang til. For eksempel, i en fil-delingstjeneste, kan en bruker ha tillatelse til å lese en fil, men ikke endre den. Autorisasjon er viktig for å sikre at brukere bare har tilgang til de ressursene de trenger, og for å beskytte sensitive data fra uautorisert tilgang.

Single Sign-On (SSO)

Single Sign-On (SSO) er en autentiseringsprosess som lar en bruker logge på flere relaterte, men uavhengige, programvaresystemer med ett sett med legitimasjoner (for eksempel et brukernavn og passord). Dette betyr at etter at brukeren har logget på første gang, vil de ikke bli bedt om å logge på igjen for å få tilgang til andre tjenester innenfor samme SSO-system. SSO er viktig for å forbedre brukeropplevelsen ved å redusere antall ganger en bruker må huske og skrive inn legitimasjoner.

Protokoll

En protokoll er en standardisert metode for å utveksle data mellom systemer. Protokoller definerer reglene for hvordan data skal sendes, mottas og tolkes. I IAM-verdenen er det flere protokoller som ofte brukes, inkludert OAuth, OpenID Connect og SAML. Disse protokollene hjelper med å håndtere autentisering og autorisasjon på en sikker måte over nettverk. De tillater systemer å bekrefte brukeridentiteter og å bestemme hvilke ressurser en bruker har tilgang til, selv over forskjellige domener og plattformer.

OAuth

OAuth 2.0 er en autorisasjonsprotokoll som lar en applikasjon få begrenset tilgang til brukerdata på en annen tjeneste. For eksempel, en musikkapp kan bruke OAuth 2.0 for å få tilgang til din Spotify-konto for å lage en spilleliste på dine vegne, uten at du trenger å dele Spotify-passordet ditt med musikkappen.

OpenId Connect

OpenID Connect er en identitetsprotokoll som er bygget på toppen av OAuth 2.0. Den legger til et identitetslag på toppen av OAuth 2.0 for å gi autentisering i tillegg til autorisasjon. Dette betyr at den ikke bare gir applikasjoner tilgang til brukerdata, men også bekrefter brukerens identitet. For eksempel, når du logger inn på en app med Google-kontoen din, bruker appen OpenID Connect for å bekrefte at du er den du sier at du er.

SAML

SAML (Security Assertion Markup Language) er også en standard for å håndtere autentisering og autorisasjon, men er designet for litt forskjellige formål og bruksscenarier. SAML er en standard som er mye brukt for enkel pålogging (Single Sign-On, SSO) i bedriftsmiljøer. SAML tillater brukere å logge inn en gang og få tilgang til flere applikasjoner, med autentisering utført av en identitetsleverandør. SAML bruker XML for datautveksling og er mer egnet for bedrifts- og intranettapplikasjoner.

Token

Et token er en digital representasjon av en påstand eller et krav. I sammenheng med IAM, er et token ofte brukt til å bevise at en bruker er hvem de sier de er (autentisering), eller at de har tillatelse til å gjøre noe (autorisasjon). For eksempel, når du logger inn på en nettside, kan nettsiden gi deg et token. Dette tokenet kan du så bruke for å bevise at du er logget inn når du besøker andre sider på nettstedet. Tokenet kan også inneholde informasjon om hva du har tillatelse til å gjøre på nettsiden, som å lese, skrive, eller slette data (claims). Tokenet er ofte kryptert for å forhindre at uvedkommende kan lese eller endre informasjonen i det. Tokenet kan også ha en utløpsdato, slik at det ikke kan brukes etter en viss tid. OpenID Connect baserer seg på tokens.

Claim

Et token kan inneholde flere claims. Et claim er en påstand eller uttalelse om en bruker som en identitetsleverandør gir. For eksempel kan et claim være brukerens navn, e-postadresse, rolle, eller andre opplysninger om brukeren. Claims brukes ofte i autentisering og autorisasjon for å hjelpe systemer med å bestemme hva de har tilgang til. Man kan sjekke at et token er gyldig. Hvis tokenet er gyldig, vet man også at påstandene (claims) som det inneholder også er gyldige.

Hva må jeg tenke på?

Når du skal velge en Identity and Access Management (IAM) løsning for din bedrift, er det flere viktige faktorer du bør vurdere:

Sikkerhet: Dette er den viktigste faktoren. Løsningen skal ha robuste sikkerhetsfunksjoner, inkludert sterke autentiseringsmetoder og kryptering. De mest kjente IAM-løsningene er som regel godkjent på flere standarder (f.eks. ISO 27001 og 27018, SOC 2 Type II, EU-US Privacy Shield), så det anbefales å sjekke at IAM-løsningens godkjenninger samsvarer med de kravene som stilles til din bedrift.

Drift: Skal løsningen driftes av andre i skyen (cloud) eller lokalt (on-premises)? Ved skybasert drift tar leverandøren større ansvar for sikkerhet og oppdateringer, mens en lokalt driftet løsning gir som regel større fleksibilitet og kontroll på data.

Standarder og protokoller: Løsningen skal støtte standardprotokoller som SAML, OAuth, OpenID Connect etc.

Personvern og Compliance: Løsningen skal overholde gjeldende personvernlover og forskrifter, som GDPR.

Integrasjon: Løsningen skal enkelt kunne integreres med eksisterende systemer og applikasjoner i din bedrift.

Pris: Kostnaden for løsningen, inkludert lisenskostnader, implementeringskostnader, og vedlikeholdskostnader, skal være innenfor ditt budsjett.

Skalerbarhet: Løsningen skal kunne håndtere vekst i antall brukere og applikasjoner over tid.

Brukervennlighet: Både for end-brukere og administratorer. For end-brukere betyr det enkel pålogging og intuitivt brukergrensesnitt. For administratorer betyr det enkel administrasjon av brukere, grupper, rettigheter, og policyer.

Support og vedlikehold: Leverandøren skal tilby pålitelig teknisk støtte og regelmessige oppdateringer for å håndtere nye trusler og utfordringer.

Ved å vurdere disse faktorene, kan du velge en IAM-løsning som best oppfyller behovene til din bedrift.

Hva kan jeg velge mellom?

Under følger et sammendrag fra gjennomgang av fem løsninger for autentisering, som vi mener er aktuelle å vurdere. Hvis du trenger mer informasjon om en av løsningene er det bare å kontakte oss, så skal vi sette deg i kontakt med vår spesialist på løsningen.

Entra Id

Entra Id, tidligere kjent som Azure Active Directory, er en skybasert løsning for identitets- og tilgangsstyring utviklet av Microsoft. Den kobler ansatte, kunder og partnere til sine apper, enheter og data.

Historisk sett ble Azure Active Directory introdusert av Microsoft som en del av deres skytjenester. I mai 2022 ble Azure Active Directory omdøpt til Microsoft Entra ID. Denne endringen var en del av en større strategi for å forene og styrke Microsofts identitets- og tilgangsstyringsløsninger.

Drift: Entra ID tilbys kun som en skybasert løsning.

Protokoller: Alle de vanligste protokollene er støttet, som OpenID Connect, SAML, og OAuth 2.0.

Pris: For interne brukere så koster Entra ID mellom $6 (P1) og $9 (P2) per bruker. Men for eksterne brukere får man 50 000 brukere inkludert (MAU, monthly active users).

Novanets vurdering: Entra ID er et godt valg for bedrifter som allerede bruker Azure og Entra ID for interne brukere, da prisingen for eksterne brukere (dvs. 50 000 MAU inkludert) er veldig god. Entra ID er ikke like brukervennlig som noen av de andre løsningene, og teknisk så er Entra ID vanskeligere å tilpasse.

Okta

Okta, Inc. ble grunnlagt i 2009 av Todd McKinnon og Frederic Kerrest. Okta er en amerikansk identitets- og tilgangsstyringsbedrift basert i San Francisco. Den tilbyr skybasert programvare som hjelper selskaper med å administrere og sikre brukerautentisering i applikasjoner, og for utviklere å bygge identitetskontroller i applikasjoner, nettjenester og enheter.

Drift: Okta er en skybasert løsning.

Protokoller: Okta støtter flere autentiseringsprotokoller, inkludert OpenID Connect (OIDC), OAuth og SAML.

Prising: Prisen på Okta avhenger av planen som er valgt. De tilbyr en rekke produkter og prispoeng over deres Workforce og Customer Identity Clouds. For eksempel, Single Sign-On starter på $2 per bruker per måned, og Multi-factor Authentication starter på $3 per bruker per måned. For mer detaljert informasjon om prising, anbefales det å kontakte Okta direkte eller besøke deres offisielle nettside.

Novanets vurdering: Okta er et godt valg for store bedrifter (Enterprise-miljøer) og dekker de aller fleste behov som kreves av et IAM. Okta har god brukervennelighet om noe komplekst. Teknisk tilbyr Okta ok tilpasningsmuligheter og er svært gode på integrasjoner.

Auth0

Auth0, Inc. ble grunnlagt i 2013 av Matias Woloski og Eugenio Pace. Selskapet er basert i Bellevue, Washington, USA. Auth0 ble kjøpt opp av Okta, men tilbys fremdeles som et separat produkt. Auth0 tilbyr en skybasert identitetsplattform som hjelper utviklere med å implementere autentisering og autorisasjon i applikasjoner, nettjenester og enheter.

Drift: Auth0 er en skybasert løsning.

Protokoller: Auth0 støtter flere autentiseringsprotokoller, inkludert OpenID Connect (OIDC), Security Authentication Markup Language (SAML), OAuth 2.0, og WS-Federation.

Pris: Prisen på Auth0 avhenger av planen som er valgt. De tilbyr en rekke produkter og prispoeng. For eksempel, starter prisen på $23 per måned for 1,000 aktive brukere per måned, og skalerer opp til $800 per måned for profesjonelle planer. For mer detaljert informasjon om prising, anbefales det å besøke Auth0’s offisielle nettside.

Novanets vurdering: Auth0 fungerer både for store og små bedrifter, og dekker de aller fleste behov som kreves av et IAM. Auth0 har svært god brukervennlighet og dokumentasjon. Teknisk tilbyr Auth0 gode tilpasningsmuligheter og er svært gode på integrasjoner.

IdentityServer

IdentityServer er en autentiseringsserver som er laget av Duende Software. Den ble opprinnelig utviklet som et åpent kildekode-prosjekt kalt IdentityServer4, men ble senere kommersialisert og omdøpt til Duende IdentityServer.

Drift: IdentityServer kan du drifte selv, som en .NET-applikasjon enten on-prem eller i skyen, og kan kjøres container-basert.

Protokoller: IdentityServer støtter OpenID Connect (OIDC) og OAuth 2.0 standarder.

Prising: Prisene starter fra $1,500 USD per år for 5 klientapplikasjoner. For ubegrenset antall brukere og klientapplikasjoner ligger prisen på $12,000 USD per år.

Novanets vurdering: IdentityServer dekker de aller fleste behov som kreves av et IAM, men krever god kunnskap og egne utviklere som kan sette det opp. IdentityServer har i utgangspunktet ikke et brukergrensesnitt (dette kan man betale for). IdentityServer er svært gode på tilpasning og integrasjon, da man har full tilgang til kildekode og data, og kan tilpasse dette etter eget ønske. Det kreves riktig kompetanse hos utvikling og drift for å sette opp IdentityServer riktig, slik at man ikke gjør feil som påvirker sikkerheten.

Keycloak

Keycloak er et åpent kildekode-prosjekt som ble startet av Red Hat i 2014. Det ble opprinnelig utviklet for å gi autentisering, autorisasjon og brukeradministrasjon for moderne applikasjoner og tjenester.

Drift: Keycloak drifter du selv, enten on-prem eller i skyen, og kan kjøres container-basert.

Protokoller: Keycloak støtter flere autentiseringsprotokoller, inkludert OpenID Connect (OIDC), Security Authentication Markup Language (SAML), og OAuth 2.0.

Pris: Keycloak er et åpen kildekode-prosjekt, og er derfor gratis å bruke. Det er ingen lisenskostnader forbundet med å bruke Keycloak. Men det kan være kostnader forbundet med hosting, vedlikehold, og støtte, avhengig av hvordan du velger å drifte løsningen.

Novanets vurdering: Keycloak dekker de aller fleste behov som kreves av et IAM. Keycloak er en god løsning for de som har behov en løsning hvor man har kontroll på drift og data (gjerne on-prem). I og med at Keycloak er Open Source, kan kostnad også være en viktig faktor for å velge Keycloak. Keycloak har god brukervennlighet og dokumentasjon. Teknisk så kreves det noe kompetanse for å sette opp og oppdatere Keycloak, og det er ok tilpasningsmuligheter og gode integrasjonsmuligheter.

Omfattende arbeid

Ofte ser vi at innføring av et nytt IAM-system krever mye arbeid og kan bli til store prosjekter.

For å sikre en vellykket implementering av en IAM-løsning, er det viktig å utføre et grundig forarbeid. Dette innebærer å definere krav til IAM-løsningen og kartlegge eksisterende systemer som skal kobles på. Noen av disse har man full kontroll på og det er enkelt å konfigurere de mot det nye IAM-systemet. Andre systemer, som f.eks. eksterne skyløsninger (SaaS) eller kompliserte kjernesystemer, kan være vanskeligere å konfigurere, enten fordi de driftes og administreres av andre eller fordi de ikke har støtte for moderne sikkerhetsprotokoller. Ofte ser vi systemer som har «innebygget» brukeradministrasjon, autentisering og autorisasjon, og ikke uten videre lar seg koble på et annet IAM-system. Å kartlegge alle systemer og applikasjoner som skal kobles på den nye IAM-systemet, er en viktig del av innføringen av ny IAM-løsning.

Vi ser også at en del kunder ønsker å utvikle egne administrasjonsgrensesnitt i stedet for å bruke de innebygde grensesnittene til IAM-løsningen. Dette gjelder både for administratorer, men også for sluttbrukere som ønsker typisk «Min side»-funksjonalitet, som å endre på profil eller samtykker. Grunner til å utvikle egne administrasjonsgrensesnitt kan være at IAM-løsningens grensesnitt oppleves som for komplisert eller at man ønsker å koble på egne data eller funksjonalitet. Kanskje man ønsker å koble på data om brukerens preferanser, samtykker eller lojalitetsprogram. Hvis man ønsker å gå denne veien, så må man regne med å kjøre et utviklingsprosjekt i parallell med innføring av nytt IAM-system (og konfigurasjon av alle systemer som skal kobles på dette).

Samtidig må man sørge for at sikkerhet og personvern er ivaretatt. Et IAM-system vil f.eks. ikke uten videre sørge for at brukeren har godtatt nødvendige samtykker eller at man etterlever sikkerhetspolicies eller standarder som bedriften kan bli kontrollert på. En viktig del av dette er dokumentasjon. Det tas mange beslutninger underveis i arbeidet med å innføre et nytt IAM-system. Det er viktig at disse beslutningene dokumenteres, både for intern bruk, men også for å ha noe å vise til ved en evt. sikkerhetshendelse eller en kontroll fra noen utenifra (f.eks. Datatilsynet). Utover å dokumentere de tekniske beslutningene som tas ifbm. IAM, må man også dokumentere rutiner for hvordan man arbeides med informasjonssikkerhet f.eks. hvordan man håndtere avvik/hendelser, hvem som har ansvar, hvordan man gjør opplæring osv. Et godt sted å starte er Datatilsynets veileder for å etablere internkontroll.



Lars Alexander har jobbet med både EntraID, Okta, Identity Server og Keycloak. Han er en av flere konsulenter som kan rådgi og implementere 'Identity and Access Management'.

Ta gjerne kontakt for en IAM-prat!
Lars Alexander Jakobsen
cto@novanet.no