En utviklerveiledning for SAML-autentisering [3 Online Tools]

I dagens verden er det viktig å forenkle passordadministrasjonen. Ettersom bedrifter hopper fremover innen digitalisering, bruker ansatte samarbeids-, meldings- og lagringsverktøy mer enn noen gang.

Dette utgjør en utfordring for utviklere: hvordan gir du ansatte sikker tilgang til interne applikasjoner og data lagret i skyen? For mange er svaret SAML-autentisering!

Hva er SAML?

Security Assertion Markup Language eller SAML er en åpen standard som forenkler autentiseringsprosesser. Den er basert på XML (Extensible Markup Language), som standardiserer kommunikasjonen mellom enhetene som skal autentiseres og nettjenesten eller applikasjonen. Med andre ord er SAML det som gjør det mulig å bruke en enkelt pålogging for å logge på flere forskjellige applikasjoner.

På den ene siden trenger en tjenesteleverandør autentisering av identitetsleverandør (IdP) for å gi autorisasjon til brukeren. For eksempel er Salesforce en tjenesteleverandør som er avhengig av en identitetsleverandør for brukerautentisering.

På den annen side autentiserer en identitetsleverandør at sluttbrukeren er den de sier de er og sender disse dataene til tjenesteleverandøren sammen med brukerens tilgangsrettigheter til tjenesten. Et eksempel er AuthO, en av lederne i å tilby identitetsløsninger.

Hva med SAML single sign-on?

En av hovedrollene til SAML er å aktivere SSO. Før SAML var SSO mulig, men avhengig av informasjonskapsler og levedyktig bare på samme domene.

SAML muliggjør enkel pålogging (SSO) ved å la brukere få tilgang til flere applikasjoner med én enkelt pålogging og et sett med legitimasjon. Selv om SAML ikke er nytt, har det eksistert siden 2002, og mange nye applikasjoner og SaaS-selskaper bruker SAML for SSO. Den nyeste versjonen, SAML 2.0, muliggjør nettbasert SSO på tvers av domener og er standarden for ressursautorisasjon.

Hva er fordelene med SAML-autentisering?

SAML gir mange fordeler for sikkerhet, brukere og andre tjenesteleverandører (SP-er).

  Slik sletter du Activision-kontoen permanent

Enkelhet: Brukere logger bare inn på IdP én gang og nyter deretter sømløs og sikrere tilgang til alle applikasjoner.

Økt sikkerhet: Mange SP-er har ikke tid eller ressurser til å implementere og håndheve sikker brukerautentisering ved pålogging. Generelt er IdP-er bedre rustet til å autentisere brukeridentiteter. Ved å returnere autentisering til IdP, muliggjør SAML sikker autentisering som kan bruke flere sikkerhetslag, for eksempel MFA.

Forbedret brukeropplevelse: Med SAML kan brukerne dine si farvel til hodepinen ved å prøve å huske flere brukernavn og passord

Redusert administrasjonskostnader: Tjenesteleverandører kan forbedre plattformsikkerheten uten å lagre passord. Det er ikke nødvendig å håndtere problemer med glemt passord. Helpdesk reduserer kostnader og frigjør tekniske team til å håndtere andre presserende forespørsler.

Hva er Auth0, og hvordan er det koblet til SAML-autentisering?

Auth0 er en plattform som tilbyr brukerautentisering og autorisasjonstjeneste. Det kan være både som IdP og SP. Auth0 tilbyr en universell pålogging som kan integreres med SAML. Utviklere bruker ofte Auth0 med SAML for å diversifisere risikoen ved å ha flere IdP.

Auth0 kan brukes med nesten alle hovedspråk og APIer. Den kan også integreres med sosiale leverandører, databaser og LDAP-kataloger.

SAML SSO Flow

En av hovedrollene til SAML er å aktivere enkeltpålogging (SSO.) Før SAML var SSO mulig, men avhengig av informasjonskapsler og levedyktig bare på samme domene.

SAML aktiverer SSO ved å la brukere få tilgang til flere applikasjoner med én enkelt pålogging og legitimasjon. SAML er ikke nytt, det har eksistert siden 2002, og mange nye applikasjoner og SaaS-selskaper bruker SAML for SSO. Den nyeste versjonen, SAML 2.0, muliggjør nettbasert SSO på tvers av domener og er standarden for ressursautorisasjon.

Konkret innebærer dette å be om autentisering fra brukeren bare én gang når sistnevnte bruker forskjellige applikasjoner. For eksempel kan vi tenke på Google-autentisering, delt mellom de forskjellige tjenestene Gmail, Youtube, Google Apps, etc.

I denne driftsmodusen er Google identitetsleverandøren (IdP) for tjenestene sine. Disse tjenestene kalles «tjenesteleverandører» (SP).

  Hvordan fortelle om noen avslår anropene dine

Godkjenning

Når du kobler til den eksterne applikasjonen, sender den den ukjente brukeren til bedriftens IdP. Denne IdP er en nettjeneste tilgjengelig i HTTPS. Det kan hostes internt eller eksternt.

Intern autentisering

Brukeren beviser deretter sin identitet til IdP. Denne fasen kan gjøres ved eksplisitt autentisering (pålogging/passord) eller ved utbredelse av et allerede eksisterende token.

Generering av påstanden

IdP vil da generere et «token», et slags brukeridentitetskort, kun gyldig for den forespurte tjenesten og for en gitt tid. I dette tokenet finner vi spesielt:

  • Brukerens identitet: pålogging, e-post eller andre felt
  • Valgfrie tilleggsattributter: etternavn, fornavn, språk osv.
  • En gyldighetsperiode for tokenet
  • En signatur av tokenet av IdP

Overføring fra IdP til SP

I den mest praktiske modusen sendes ikke påstanden direkte fra IdP til SP, men gjennom brukeren selv. Gjennom en HTTP-sprettmekanisme vil IdP gi klienten nettleseren tokenet for å overføre til tjenesteleverandøren. Det kan sammenlignes med identitetskortet gitt av prefekturen som skal fremvises for enhver myndighet.

Forbruk av token av SP

Tjenesteleverandøren mottar tokenet fra brukeren. SP har valgt å stole på denne IdP. Den validerer også signaturen og integriteten til tokenet, samt gyldighetsperioden. Hvis testene er avgjørende, åpner SP en økt for brukeren.

Kilde: Wikipedia

SAML-autentisering vs. Brukerautorisasjon

Ofte forveksles SAML-autentisering med autorisasjon. For klarhetens skyld er det viktig å skille begrepene autentisering og autorisasjon.

Autentisering: det er valideringen av brukerens identitet; i utgangspunktet er det verifisert om de er den de sier de er. Et eksempel er å bruke e-post og passord for å få tilgang til et system – en enkelt økt eller pålogging for andre plattformer.

Autorisasjon: dette er tillatelsene brukeren gir til et tredjepartsverktøy for å få tilgang til ressurser på kontoen sin. Med brukerens godkjenning utveksler autorisasjonsprotokollen tokens uten å få tilgang til deres legitimasjon. Du gjør vanligvis dette når du gir en plattform (som Facebook) tilgang til viss informasjon fra Google-kontoen din.

Må vite terminologier for SAML

SAML-påstand

SAML-påstander overføres vanligvis av identitetsleverandører til tjenesteleverandører. Påstander inneholder uttalelser som tjenesteleverandører bruker for å ta beslutninger om tilgangskontroll. Tre typer erklæringer leveres av SAML:

  • Autentiseringserklæringer hevder at tjenesteleverandøren faktisk ble autentisert med identitetsleverandøren på et gitt tidspunkt med en autentiseringsmetode.
  • En attributterklæring hevder at et emne er assosiert med visse attributter. Et attributt er ganske enkelt et navn-verdi-par. Stolende parter bruker attributtene til å ta beslutninger om tilgangskontroll.
  • En autorisert beslutningserklæring hevder at en subjekt har lov til å handle på en ressurs ved å presentere bevis for den. Uttrykket av autorisasjonsbeslutningsstatene i SAML er bevisst begrenset.
  Slik aktiverer du rutenettvisningen for Google Meet

Påstand forbrukerservice

Assertion Consumer Service eller ACS er punktet der identitetsleverandøren omdirigerer etter brukerautentiseringssvaret. Punktet som identitetsleverandøren omdirigerer til er et HTTPS-endepunkt som overfører personlig informasjon.

Standard relétilstand

Det er standard URL som brukeren blir omdirigert til etter at SAML-meldingen er autentisert. Standard relétilstand brukes til å koordinere meldinger mellom IdP-er og SP-er.

SAML er en mye brukt protokoll, og ofte må man dekode SAML-påstander. Følgende er noen av de beste SAML-verktøyene for koding, dekoding og formatering av SAML-meldinger og påstander:

#1. SAMLtool

SAMLtool av OneDesign er en samling av online SAML-verktøy og verktøysett. Disse inkluderer ulike verktøy for koding og dekoding av SAML-meldinger, kryptering og dekryptering av påstander, og signering og validering av SAML-meldinger og påstander. SAMLtool tilbyr også flere forskjellige plugins for å integrere disse verktøyene med flere CMS.

#2. Samtool.io

Tilbys av Auth0, samltool.io er et nettbasert verktøy som du også dekoder, inspiserer og verifiserer SAML-meldinger og påstander ved å enkelt lime inn rå XML eller URL-er som inneholder forespørsler.

#3. SAM dekoder

SAM dekoder er et enkelt nettbasert verktøy for dekoding av SAML som tilbys av PingIdentity. SAM-dekoder kan brukes til å dekode, blåse opp og formatere SAML-meldinger, påstander og metadata.

Siste ord

SAML-standarden er svært nyttig for å implementere en sentral autentiseringsforekomst basert på markup-språket. En av dens betydelige fordeler er at den tilbyr høy effektivitet og en høy sikkerhetsstandard.

Spesielt er antallet mulige sikkerhetslekkasjer minimert siden individuelle applikasjoner ikke trenger å lagre eller synkronisere brukerdata. På denne måten oppnås et av hovedmålene, som er å forene høy grad av sikkerhet med best mulig brukervennlighet.

Du kan også se på noen av de beste brukerautentiseringsplattformene.