En udviklervejledning til SAML-godkendelse [3 Online Tools]

I dagens verden er det vigtigt at forenkle adgangskodeadministration. Efterhånden som virksomheder springer fremad inden for digitalisering, bruger medarbejderne samarbejde, meddelelser og lagringsværktøjer mere end nogensinde.

Dette udgør en udfordring for udviklere: Hvordan giver du medarbejdere sikker adgang til interne applikationer og data, der er lagret i skyen? For mange er svaret SAML-godkendelse!

Hvad er SAML?

Security Assertion Markup Language eller SAML er en åben standard, der forenkler godkendelsesprocesser. Det er baseret på XML (Extensible Markup Language), som standardiserer kommunikationen mellem de enheder, der skal godkendes, og webtjenesten eller applikationen. Med andre ord er SAML det, der gør det muligt at bruge et enkelt login til at logge ind på flere forskellige applikationer.

På den ene side har en tjenesteudbyder brug for identitetsudbyder (IdP) autentificering for at give autorisation til brugeren. For eksempel er Salesforce en tjenesteudbyder, der er afhængig af en identitetsudbyder til brugergodkendelse.

På den anden side autentificerer en identitetsudbyder, at slutbrugeren er den, de siger, de er, og sender disse data til tjenesteudbyderen sammen med brugerens adgangsrettigheder til tjenesten. Et eksempel er AuthO, en af ​​de førende inden for identitetsløsninger.

Hvad med SAML single sign-on?

En af SAMLs hovedroller er at aktivere SSO. Før SAML var SSO mulig, men afhængig af cookies og kun levedygtig på det samme domæne.

SAML muliggør enkelt login (SSO) ved at give brugere adgang til flere applikationer med et enkelt login og et sæt legitimationsoplysninger. Selvom SAML ikke er nyt, har det eksisteret siden 2002, og mange nye applikationer og SaaS-virksomheder bruger SAML til SSO. Dens seneste version, SAML 2.0, muliggør webbaseret SSO på tværs af domæner og er standarden for ressourceautorisation.

Hvad er fordelene ved SAML-godkendelse?

SAML giver mange fordele for sikkerhed, brugere og andre tjenesteudbydere (SP’er).

  Sådan sikkerhedskopieres og genoprettes din 'Animal Crossing: New Horizons'-ø

Enkelhed: Brugere logger kun ind på IdP én gang og nyder derefter problemfri og mere sikker adgang til alle applikationer.

Øget sikkerhed: Mange SP’er har ikke tid eller ressourcer til at implementere og håndhæve sikker brugergodkendelse ved login. Generelt er IdP’er bedre rustet til at autentificere brugeridentiteter. Ved at returnere godkendelse til IdP’en, muliggør SAML sikker godkendelse, der kan anvende flere sikkerhedslag, såsom MFA.

Forbedret brugeroplevelse: Med SAML kan dine brugere sige farvel til hovedpinen ved at prøve at huske flere brugernavne og adgangskoder

Reduceret administrationsomkostninger: Tjenesteudbydere kan forbedre deres platformsikkerhed uden at gemme adgangskoder. Der er ingen grund til at håndtere problemer med glemt adgangskode. Helpdesk reducerer omkostningerne og frigør tekniske teams til at håndtere andre presserende anmodninger.

Hvad er Auth0, og hvordan er det forbundet med SAML-godkendelse?

Auth0 er en platform, der leverer brugergodkendelse og godkendelsesservice. Det kan både være som IdP og SP. Auth0 tilbyder et universelt login, der kan integreres med SAML. Udviklere bruger ofte Auth0 med SAML til at diversificere risikoen ved at have flere IdP.

Auth0 kan bruges med næsten alle større sprog og API’er. Det kan også integreres med sociale udbydere, databaser og LDAP-mapper.

SAML SSO Flow

En af SAML’s hovedroller er at aktivere single sign-on (SSO). Før SAML var SSO mulig, men afhængig af cookies og kun levedygtig på det samme domæne.

SAML aktiverer SSO ved at give brugere adgang til flere applikationer med et enkelt login og legitimationsoplysninger. SAML er ikke nyt, det har eksisteret siden 2002, og mange nye applikationer og SaaS-virksomheder bruger SAML til SSO. Dens seneste version, SAML 2.0, muliggør webbaseret SSO på tværs af domæner og er standarden for ressourceautorisation.

Konkret indebærer dette kun at anmode om autentificering fra brugeren én gang, når denne bruger forskellige applikationer. For eksempel kan vi tænke på Google-godkendelse, delt mellem de forskellige tjenester Gmail, Youtube, Google Apps osv.

I denne funktionsmåde er Google identitetsudbyder (IdP) for sine tjenester. Disse tjenester kaldes “tjenesteudbydere” (SP).

  Sådan sletter du OnlyFans-konto

Godkendelse

Når der oprettes forbindelse til den eksterne applikation, sender den den ukendte bruger til virksomhedens IdP. Denne IdP er en webtjeneste, der er tilgængelig i HTTPS. Det kan hostes internt eller eksternt.

Intern godkendelse

Brugeren beviser derefter sin identitet over for IdP. Denne fase kan udføres ved eksplicit godkendelse (login/adgangskode) eller ved udbredelse af et allerede eksisterende token.

Generering af påstanden

IdP’en vil så generere et “token”, en slags brugeridentitetskort, der kun er gyldigt for den ønskede tjeneste og i et givet tidsrum. I dette token finder vi især:

  • Brugerens identitet: login, e-mail eller andre felter
  • Valgfri yderligere attributter: efternavn, fornavn, sprog osv.
  • En gyldighedsperiode for tokenet
  • En underskrift af tokenet af IdP

Transmission fra IdP til SP

I den mest praktiske tilstand sendes påstanden ikke direkte fra IdP til SP, men gennem brugeren selv. Gennem en HTTP-bounce-mekanisme vil IdP forsyne klientbrowseren med tokenet til at sende til tjenesteudbyderen. Det kan sammenlignes med det identitetskort, som præfekturet udleverer, som skal fremvises for enhver myndighed.

Forbrug af token af ​​SP

Tjenesteudbyderen modtager tokenet fra brugeren. SP har valgt at stole på denne IdP. Det validerer også signaturen og integriteten af ​​tokenet, såvel som gyldighedsperioden. Hvis testene er afgørende, åbner SP en session for brugeren.

Kilde: Wikipedia

SAML-godkendelse vs. Brugerautorisation

Ofte forveksles SAML-godkendelse med autorisation. For klarhedens skyld er det vigtigt at skelne mellem begreberne autentificering og autorisation.

Autentificering: det er valideringen af ​​brugerens identitet; dybest set er det verificeret, om de er, som de siger, de er. Et eksempel er at bruge e-mail og adgangskode til at få adgang til et system – en enkelt session eller login til andre platforme.

Autorisation: dette er de tilladelser, som brugeren giver til et tredjepartsværktøj for at få adgang til ressourcer på deres konto. Med brugerens godkendelse udveksler autorisationsprotokollen tokens uden at få adgang til deres legitimationsoplysninger. Du gør normalt dette, når du tillader en platform (som Facebook) at få adgang til visse oplysninger fra din Google-konto.

  Sådan får du en ServSafe Manager-certificering i 2022

Skal-kende terminologier for SAML

SAML påstand

SAML-påstande videregives typisk af identitetsudbydere til tjenesteudbydere. Påstande indeholder udtalelser, som tjenesteudbydere bruger til at træffe beslutninger om adgangskontrol. Tre typer erklæringer leveres af SAML:

  • Godkendelseserklæringer hævder, at tjenesteudbyderen faktisk blev autentificeret med identitetsudbyderen på et givet tidspunkt med en godkendelsesmetode.
  • En attributerklæring hævder, at et emne er forbundet med bestemte attributter. En attribut er simpelthen et navn-værdi-par. Fortroende parter bruger attributterne til at træffe beslutninger om adgangskontrol.
  • En autoriseret beslutningserklæring hævder, at en person har tilladelse til at handle på en ressource ved at fremlægge bevis for den. Udtrykket af autorisationsbeslutningsstaterne i SAML er bevidst begrænset.

Assertion Consumer Service

Assertion Consumer Service eller ACS er det punkt, hvor identitetsudbyderen omdirigerer efter brugergodkendelsessvaret. Det punkt, som identitetsudbyderen omdirigerer til, er et HTTPS-slutpunkt, der overfører personlige oplysninger.

Standard relætilstand

Det er standard-URL’en, som brugeren vil blive omdirigeret til, efter at SAML-meddelelsen er godkendt. Standard relætilstand bruges til at koordinere meddelelser mellem IdP’er og SP’er.

SAML er en meget brugt protokol, og ofte skal man afkode SAML-påstande. Følgende er nogle af de bedste SAML-værktøjer til kodning, afkodning og formatering af SAML-meddelelser og påstande:

#1. SAMLtool

SAMltool af OneDesign er en samling af online SAML-værktøjer og -værktøjssæt. Disse omfatter forskellige værktøjer til kodning og afkodning af SAML-meddelelser, kryptering og dekryptering af påstande og signering og validering af SAML-meddelelser og påstande. SAMLtool tilbyder også flere forskellige plugins til at integrere disse værktøjer med flere CMS.

#2. Samtool.io

Udbydes af Auth0, samltool.io er et onlineværktøj, som du også afkoder, inspicerer og verificerer SAML-meddelelser og påstande ved at indsætte rå XML eller URL’er, der indeholder anmodninger.

#3. SAM dekoder

SAM dekoder er et simpelt onlineværktøj til afkodning af SAML, der tilbydes af PingIdentity. SAM-dekoder kan bruges til at afkode, oppuste og formatere SAML-meddelelser, påstande og metadata.

Afsluttende ord

SAML-standarden er meget nyttig til at implementere en central godkendelsesinstans baseret på markup-sproget. En af dens væsentlige fordele er, at den tilbyder høj effektivitet og en høj sikkerhedsstandard.

Især er antallet af mulige sikkerhedslækager minimeret, da individuelle applikationer ikke skal lagre eller synkronisere brugerdata. På den måde opnås et af de primære mål, som er at forene en høj grad af sikkerhed med den bedst mulige brugervenlighed.

Du kan også se på nogle af de bedste brugergodkendelsesplatforme.