Inici de sessió únic
Single Sign-On és el model d'identitat corporativa on iniciar sessió una vegada al proveïdor d'identitat de l'empresa us permet accedir a Salesforce, Slack, Jira, Notion i a quaranta aplicacions més sense haver d'escriure una altra contrasenya. Darrere de l'experiència perfecta hi ha dos protocols competidors (SAML i OIDC), molt XML i una seguretat espectacularment millor que l'alternativa de "contrasenya diferent per a cada aplicació".
El cos complet de l'article es proporciona en anglès a continuació.
Single Sign-On (SSO) és un esquema d'autenticació on un proveïdor d'identitat (IdP) autentica l'usuari una vegada i després emet afirmacions a diversos proveïdors de serveis (SP), les aplicacions reals. L'usuari escriu credencials en un sol lloc i accedeix a totes les aplicacions connectades. L'SSO és la base de la gestió d'identitats empresarials i la raó per la qual la TI corporativa es veu com ho fa.
Per què existeix SSO
L'alternativa, cada aplicació té la seva pròpia base de dades d'usuaris, requisits de contrasenya i flux d'inici de sessió, té problemes evidents:
- els usuaris tenen una contrasenya diferent per a cada aplicació. contrasenyes
- La incorporació requereix l'aprovisionament de comptes en més de 30 sistemes
- El desaprovisionament requereix l'eliminació de l'aprovisionament de tots, sovint s'ha perdut
- L'auditoria de qui té accés al que és un malson
- MFA es multiplica a totes les configuracions system
SSO consolida la identitat. Un compte, una configuració de MFA, un lloc per fer complir la política. Afegiu o suprimiu un empleat a l'IdP i l'accés es propaga a tot arreu.
els dos protocols
- SAML 2.0 (Security Assertion Markup Language, 2005): basat en XML, madur, dominant a l'empresa. El protocol que hi ha darrere de la majoria de SSO corporatiu heretat. Verbosa, complexa i plena d'errors de seguretat, però àmpliament compatible.
- OpenID Connect (OIDC) — Basat en JSON, més senzill, basat en OAuth 2.0. Dominant en l'empresa de consum i moderna. Utilitzat per tots els botons "Inicia sessió amb...".
SAML i OIDC aconsegueixen coses semblants; SAML va passar primer i es va atrinxerar. OIDC és l'opció predeterminada moderna per a nous desplegaments.
El flux SAML
Simplificat:
- L'usuari visita una aplicació (el SP). L'SP no veu una sessió vàlida.
- SP redirigeix el navegador de l'usuari a l'IdP amb un SAML AuthnRequest.
- IdP autentica l'usuari (si encara no està autenticat). i una finestra de validesa.
- IdP redirigeix el navegador de l'usuari al SP amb l'afirmació.
- SP verifica la signatura de l'IdP, extreu la informació de l'usuari i crea una sessió. L'arrencada de noves relacions SP-IdP és la tasca operativa principal a SAML.
El flux OIDC
OIDC és OAuth 2.0 + reivindicacions d'identitat:
- L'usuari visita l'SP (anomenat "Relying Party Redirecting").XPLZ62CPLZ6 l'usuari a IdP ("Proveïdor d'OpenID") amb una sol·licitud d'autorització OAuth que inclou
scope=openid. - IdP autentica l'usuari, emet un codi d'autorització.
- RP intercanvia el codi per un testimoni d'identificació (un JWT signat que conté un token d'accés a la identitat) i una identitat opcional. token.
- RP verifica la signatura JWT amb el JWKS (conjunt de claus web JSON) publicat per l'IdP, extreu reclamacions, crea una sessió.
El testimoni d'identificació és l'equivalent a l'afirmació de SAML: el mateix rol, JSON en comptes d'XML, sovint la identitat XMLZ76X5XX, sovint més curta. assertion
Tant SAML com OIDC porten:
- Subject: qui és l'usuari (el seu identificador únic a l'IdP)
- Atributs/reclamacions, rol, correu electrònic, pertinença al grup MPLZ87X, departaments utilitzats, etc.
- Validity — segells d'hora d'emissió i caducitat
- Signature — demostra que l'IdP va emetre aquest
PLZ97X
PLZ97X
PLZ97X
PLZ97X
PLZ93PLZ93XXPLZ90 característiques més útils de propagació de rols: les pertinences a grups de l'IdP flueixen al SP. El grup "Enginyeria" de l'IdP es pot assignar al rol "administrador" a Jira, "desenvolupador" a GitHub, "editor" a Notion. El canvi de grups a l'IdP es propaga a la següent sessió de l'usuari. Aquesta és la màgia de l'aprovisionament central.
SCIM: l'aprovisionament, no només l'inici de sessió
SSO gestiona l'inici de sessió. SCIM (Sistema per a la gestió d'identitats entre dominis) gestiona la creació, actualització i supressió de comptes d'usuari abans de l'inici de sessió. Quan contracteu algú, l'IdP envia el seu compte a totes les aplicacions connectades mitjançant SCIM; quan surten, els comptes es desactiven o es suprimeixen a tot arreu. SCIM + SSO + SAML/OIDC és la pila estàndard d'identitat empresarial.
Proveïdors d'identitat principals
- Okta — enfocat a l'empresa, suport SCIM fort, ampli ecosistema SP
- Microsoft Entra ID (abans Azure AD) — inclòs amb Microsoft 365, dominant a l'empresa1
- PLZ7X Workspace
- L'usuari visita l'SP (anomenat "Relying Party Redirecting").XPLZ62CPLZ6 l'usuari a IdP ("Proveïdor d'OpenID") amb una sol·licitud d'autorització OAuth que inclou
- OneLogin, Ping Identity, JumpCloud — altres proveïdors comercials importants
- Keycloak, Authentik, Authentik, opensource, AutheliaXPLZ20 selfhosted — opcions
- L'IdP es converteix en un únic punt d'error. Si l'IdP cau, tot cau. Si l'IdP està compromès, tot està compromès. L'IdP necessita l'autenticació més sòlida (MFA amb clau de maquinari obligatòria per als administradors).
- SAML bypass de signatura. Diversos anys de CVE han demostrat que la verificació de signatura XML és difícil d'implementar correctament. Aneu a les biblioteques SAML ben mantingudes.
- Obre la redirecció mitjançant RelayState. SP ha de validar el paràmetre RelayState per evitar atacs de redirecció oberta a l'estil OAuth.
- La vida útil de la sessió és vàlida. SP crea una sessió de 30 dies. L'usuari deixa la companyia; La sessió SP continua. Força la re-autenticació periòdicament.
SSO consideracions de seguretat
Preguntes freqüents
- És més segur SSO que contrasenyes separades?
- Generalment sí. Un compte fort amb MFA de maquinari a l'IdP, que es propaga a moltes aplicacions, supera moltes contrasenyes febles. El compromís: l'IdP és un objectiu sucós. Compromís de l'IdP = compromís de tot. Endurir l'IdP amb MFA fort, accés condicional i registre d'auditoria és essencial.
- Què passa si el meu proveïdor d'SSO falla?
- No podeu iniciar sessió a cap aplicació connectada fins que no es recuperi. Algunes aplicacions SaaS crítiques ofereixen comptes locals de vidre trencat; molts no. Les empreses amb requisits d'alta disponibilitat mantenen la redundància d'IdP (desplegament geogràfic actiu-actiu) o accepten la dependència.
- Puc utilitzar el mateix SSO a casa?
- Sí: els botons "Inicieu la sessió amb Google/Apple/Microsoft" són SSO per a consumidors. Alguns usuaris van més enllà i s'allotgen un IdP (Keycloak, Authentik) per posar els seus serveis domèstics darrere d'un únic inici de sessió. Raonable per a laboratoris domèstics avançats; excessiu per a un ús domèstic típic.
- Per què algunes aplicacions em tanquen la sessió quan tanco la sessió d'SSO?
- Tancament de sessió únic (SLO): quan es configura, la sortida de l'IdP es propaga a totes les aplicacions connectades. Menys comú que l'inici de sessió únic perquè operacionalment és desordenat; moltes aplicacions caduquen les seves pròpies sessions de manera independent.
- S'està substituint SAML per OIDC?
- En nous desplegaments, la majoria sí. Els desplegaments SAML existents són persistents perquè la migració és cara. La majoria de les aplicacions SaaS modernes admeten ambdues. Els entorns empresarials solen tenir una llarga cua d'aplicacions només SAML que sobreviuran a la tendència tecnològica.