ssm.ro Docs
Securitate, Infrastructură & OperațiuniControl Acces & Identitate

Autentificare și SSO

Autentificare locală, 2FA și SSO — OIDC per organizație (Partajat) și SAML pe domeniu (Enterprise): configurare, flux și reguli de cont

Diferă în funcție de model

Model Partajat (SaaS): SSO prin OIDC, configurat per organizație (tenant) pe subdomeniul propriu. Fiecare organizație poate permite email/parolă + SSO sau SSO exclusiv. 2FA TOTP opțional. Model Enterprise (Dedicat): SSO prin SAML, o singură configurare pentru domeniul principal al clientului. Autentificarea email/parolă rămâne disponibilă pentru conturile externe; accesul la organizații este gestionat intern prin roluri.

Prezentare Generală

SSM.ro suportă autentificare prin Single Sign-On (SSO) federat, cu protocol diferit în funcție de modelul de deployment:

  • Model Partajat (SaaS)OIDC (OpenID Connect), configurat la nivel de organizație (tenant). Fiecare organizație are propriul subdomeniu *.appssm.ro și propria configurare OIDC. SSO-ul este opțional: o organizație poate permite atât autentificarea locală (email/parolă), cât și SSO, sau poate impune SSO exclusiv.
  • Model Enterprise (Dedicat)SAML, o singură configurare pentru domeniul principal al clientului (clientdomain.ext). Autentificarea locală (email/parolă) rămâne disponibilă pentru conturile externe care nu fac parte din furnizorul de identitate. Instalarea dedicată poate găzdui una sau mai multe organizații (pe subdomenii), iar accesul la fiecare organizație este controlat intern prin roluri.

În ambele modele, furnizorul de identitate (IdP) este extern și administrat de organizația clientă.


Furnizori de Identitate Suportați

OIDC (Model Partajat)

SSM.ro este compatibil cu orice IdP conform OIDC standard, inclusiv:

  • Microsoft Entra ID (Azure AD)
  • Okta
  • Google Workspace
  • Keycloak
  • Orice alt furnizor OIDC conform cu specificația OpenID Connect Core

SAML (Model Enterprise)

SSM.ro este compatibil cu orice IdP conform SAML 2.0, inclusiv:

  • Microsoft Entra ID (Azure AD) — SAML
  • Okta — SAML
  • Active Directory Federation Services (AD FS)
  • Keycloak — SAML
  • Orice alt furnizor conform cu specificația SAML 2.0

Parametri de Configurare

OIDC — per organizație (Model Partajat)

ParametruDescriere
NumeEtichetă afișată utilizatorilor pe butonul de autentificare
Client IDIdentificatorul aplicației înregistrate la IdP
Client SecretSecretul aplicației generat de IdP
Issuer URLURL-ul de discovery OIDC al IdP (ex. https://login.microsoftonline.com/{tenant-id}/v2.0)
Domenii permiseLista domeniilor de email autorizate (ex. companie.ro) — conturile cu alte domenii sunt respinse

SAML — pe domeniul principal (Model Enterprise)

ParametruFurnizat deDescriere
SP Entity IDSSM.roIdentificatorul Service Provider-ului (aplicația SSM.ro)
ACS URLSSM.roAssertion Consumer Service — endpoint-ul unde IdP trimite răspunsul SAML
IdP SSO URLClientEndpoint-ul de SignOn al furnizorului de identitate
IdP Entity ID (Issuer)ClientIdentificatorul furnizorului de identitate
Certificat de semnare X.509ClientCertificatul public cu care se validează semnătura aserțiunilor SAML
Mapare NameID / emailClientAtributul care identifică utilizatorul (ex. adresa de email)

URI de Redirect / ACS

OIDC Callback (Model Partajat)

La înregistrarea aplicației SSM.ro în IdP, trebuie configurat URI-ul de redirect:

https://{subdomain}.appssm.ro/accounts/auth/oidc/callback?pid={sso_provider_id}
  • {subdomain} — subdomeniul organizației SSM.ro
  • {sso_provider_id} — identificatorul intern al furnizorului SSO, furnizat de SSM.ro la configurare

SAML ACS URL (Model Enterprise)

La înregistrarea aplicației SSM.ro în IdP-ul SAML se configurează ACS URL pe domeniul clientului (cale ilustrativă):

https://clientdomain.ext/accounts/auth/saml/callback

Moduri de Autentificare

ModModelDescriere
email/parolă + SSOPartajat (per organizație)Utilizatorii pot alege între SSO (OIDC) și autentificarea locală (email + parolă)
SSO exclusivPartajat (per organizație)Singurul mod permis pentru acea organizație; autentificarea locală este dezactivată
SAML + email/parolă (conturi externe)EnterpriseSAML pe domeniul principal pentru utilizatorii organizației; email/parolă rămâne disponibil pentru conturile externe

Fluxul de Autentificare OIDC (Model Partajat)

1. Utilizatorul accesează SSM.ro și selectează „Autentificare cu SSO"


2. SSM.ro redirecționează utilizatorul la IdP-ul configurat
   (authorization endpoint + scope: openid, profile, email)


3. Utilizatorul se autentifică la IdP (credențiale organizație, 2FA dacă este configurat)


4. IdP redirecționează înapoi la SSM.ro cu codul de autorizare
   (callback URI: https://{subdomain}.appssm.ro/accounts/auth/oidc/callback?pid=...)


5. SSM.ro schimbă codul de autorizare pe token-uri (ID token + access token)
   via back-channel HTTPS (client_id + client_secret)


6. SSM.ro validează ID token-ul (semnătură, issuer, audience, expiry)
   și verifică domeniul email față de lista domeniilor permise


7. Sesiune SSM.ro creată — utilizatorul este autentificat

Fluxul de Autentificare SAML (Model Enterprise)

1. Utilizatorul accesează SSM.ro pe domeniul clientului și selectează „Autentificare cu SSO"


2. SSM.ro (Service Provider) generează o cerere SAML (AuthnRequest)
   și redirecționează utilizatorul la IdP SSO URL


3. Utilizatorul se autentifică la IdP (credențiale organizație, 2FA dacă este configurat)


4. IdP trimite înapoi un SAMLResponse (aserțiune semnată) către ACS URL
   (https://clientdomain.ext/accounts/auth/saml/callback)


5. SSM.ro validează semnătura aserțiunii cu certificatul X.509 al IdP
   (issuer, audience, condiții de validitate, NameID)


6. Sesiune SSM.ro creată — accesul la organizații se acordă conform rolurilor utilizatorului

Reguli de Cont

RegulăComportament
Restricție domeniu (OIDC)Conturile cu domeniu de email neautorizat sunt respinse — accesul nu este acordat
Provizionare automatăUn cont SSM.ro este creat automat la prima autentificare SSO reușită, dacă nu există deja
SSO lockÎn modul SSO exclusiv (Partajat), utilizatorii unei organizații nu pot reseta parola locală și accesează platforma doar prin IdP
Conturi externe (Enterprise)Conturile externe care nu fac parte din IdP-ul SAML pot folosi în continuare email/parolă
Conturi existenteConturile locale existente cu același email sunt asociate cu identitatea SSO la prima autentificare SSO
Furnizori multipli (OIDC)O organizație din modelul Partajat poate configura mai mulți furnizori OIDC simultan (ex. un IdP pentru angajați, altul pentru parteneri)
Acces la organizații (Enterprise)Accesul la fiecare organizație din instalarea dedicată este controlat intern prin roluri (RBAC)

Responsabilități

ResponsabilitateSSM.roClient
Configurare furnizor SSO (OIDC sau SAML) în platformăDa
Înregistrarea aplicației SSM.ro în IdPDa
Gestionarea utilizatorilor și a politicilor de acces în IdPDa
Disponibilitatea IdPDa (SLA al organizației)
Auditarea sesiunilor SSM.roDa

Note de Securitate

  • Secretele furnizorului SSO (Client Secret la OIDC; certificatul de semnare la SAML) sunt stocate criptat — nu sunt expuse în interfață după configurare
  • SSM.ro nu stochează parola utilizatorului în cazul autentificării SSO
  • Sesiunile SSM.ro au timeout de 30 de minute de inactivitate, indiferent de sesiunea activă la IdP
  • La deconectarea din SSM.ro, sesiunea locală este terminată; deconectarea din IdP este responsabilitatea clientului