Single Sign-On (SSO) in Azure

Syntho beta feature

Introductie

Single Sign-On (SSO) instellen, moeten er aanpassingen worden gemaakt in de applicatie genaamd backend. De exacte plaats waar je wijzigingen moet aanbrengen, hangt af van je implementatiemethode (Kubernetes of Docker Compose).

Kubernetes (Helm grafiek)

De genoemde omgevingsvariabelen kunnen worden toegevoegd aan de Helm-kaart onder het YAML-pad van backend.env. Een voorbeeld hiervan is:

backend:
  omgeving:
    SSO_PROVIDER: Azure
    SSO_CLIENT_ID: <your-client-id>
    SSO_CLIËNT_GEHEIM: <your-client-secret>
    SSO_HOUDER: <Azure Tenant ID>
    E-MAIL_INLOG_GESCHIKT: Echt

Docker Compose

In het geval van Docker Compose, moet het Docker Compose-bestand worden aangepast. De backend applicatie kan hier opnieuw worden aangepast, in dit geval, moeten extra omgevingsvariabelen direct aan de bestaande lijst worden toegevoegd. Een voorbeeld hiervan:

versie: '3'

diensten:
  backend:
    afbeelding: ${BACKEND_IMAGE}
    herstart: bij falen
    omgeving:
      ...
      SSO_PROVIDER: Azure
      SSO_CLIENT_ID: <your-client-id>
      SSO_CLIËNT_GEHEIM: <your-client-secret>
      SSO_HOUDER: <Azure Tenant ID>

Gebruikersnaam en wachtwoord inloggen

Standaard, Syntho gebruikers kunnen inloggen met hun gebruikersnaam en wachtwoord. Om inloggen met gebruikersnaam en wachtwoord uit te schakelen, stel de omgevingsvariabele in USERNAME_PASSWORD_LOGIN_ENABLED naar False.

Eenmalige aanmelding

Syntho ondersteunt aanmelden met behulp van externe identiteitsproviders. Gebruik de provider-specifieke documentatie voor het instellen van SSO voor je identity provider of gebruik de OpenID Connect provider in het geval je provider niet in de lijst hieronder staat.

OpenID Connect

Raadpleeg de documentatie van uw identity provider om toegang door externe applicaties te configureren.

Bij het configureren van toegang voor Syntho, configureer het volgende, de callback URL is https://<my-syntho-domain>/api/v1/oidc/callback/. De callback URL is ook bekend als de issuer URL of redirect URL.

Zorg voor de volgende omgevingsvariabelen bij het implementeren van Syntho:

  • SSO_PROVIDER=generic

  • SSO_CLIENT_ID=<your-client-id>

  • SSO_CLIENT_SECRET=<your-client-secret>

  • SSO_AUTHORIZATION_ENDPOINT=<your-authorization-endpoint>

  • SSO_TOKEN_ENDPOINT=<your-authorization-endpoint>

  • SSO_USER_ENDPOINT=<your-user-endpoint>

  • SSO_JWKS_ENDPOINT=<your-jwks-endpoint>

Azuur

Eerste, Registreer Syntho als een toepassing in de Azure Active Directory Portal:

  1. Selecteer Azure Active Directory, ga dan naar App-registraties en selecteer Nieuwe registratie

  1. Voer een naam in, bijvoorbeeld Syntho. Voor Redirect URI, selecteer Web en voer de url in die verwijst naar de /api/v1/oidc/callback/ eindpunt op uw Syntho implementatie.

  1. Kopieer de "Application (client) ID" en "Directory (tenant) ID"., Deze waarden worden later gebruikt.

  1. Klik op "Certificaten & geheimen, en selecteer "Nieuw cliëntgeheim". Voer een naam in, bijvoorbeeld Syntho, selecteer een vervaldatum en klik op "Toevoegen

  1. Kopieer de geheime waarde van de client. Deze waarde is maar één keer zichtbaar. Als je de waarde kwijt bent, verwijder het geheim en maak een nieuw geheim.

  1. In het linkermenu, selecteer "API-rechten"., klik dan op "Een toestemming toevoegen".

  1. Selecteer "Microsoft Graph".

  1. Selecteer "Gedelegeerde machtigingen".

  1. Voeg de volgende rechten toe, selecteer dan "Machtigingen toevoegen".

  • OpenId rechten

    • e-mail

    • offline_toegang

    • openid

    • profiel

  • Groepslid

    • Groepslid.Lezen.Alle

  • Gebruiker

    • Gebruiker.lezen

  1. Selecteer "Toestemming verlenen voor 'uw directory'".

  1. Na administratieve toestemming, Alle rechten moeten een groen vinkje hebben.

Na het registreren van Syntho in Azure, stel de volgende omgevingsvariabelen in:

  • SSO_PROVIDER=Azure

  • SSO_CLIENT_ID=<Azure Client ID>

  • SSO_CLIENT_SECRET=<Azure Client Secret>

  • SSO_TENANT_ID=<Azure Tenant ID>

Groepen

Upcoming feature

Wanneer uw identiteitsprovider groepen ondersteunt, Deze groepen worden automatisch aangemaakt in Syntho wanneer een gebruiker zich aanmeldt met de identity provider. Deze groepen kunnen gebruikt worden voor het toewijzen van werkruimte rechten.

Groepen afkomstig van de identity provider kunnen worden gefilterd met de SSO_GROUP_FILTER_REGEX omgevingsvariabele. Wanneer deze omgevingsvariabele is ingesteld, Alleen groepen die overeenkomen met de opgegeven reguliere expressie worden aangemaakt in Syntho.

Beheerderstoegang

Als Single Sign-On is ingeschakeld, Gebruikers kunnen beheerders worden door de omgevingsvariabele SSO_ADMINS. Deze omgevingsvariabele verwacht een door komma's gescheiden lijst van e-mailadressen. Wanneer een gebruiker voor de eerste keer inlogt bij Syntho met zijn Single Sign-On provider, als hun e-mailadres overeenkomt met een van de e-mailadressen in de omgevingsvariabele, wordt de aangemaakte gebruiker beheerder.

Merk op dat beheerder worden via deze omgevingsvariabele alleen gebeurt bij de eerste login en niet bij opeenvolgende logins. Dit is om te voorkomen dat Syntho opnieuw moet worden geïnstalleerd om te voorkomen dat gebruikers opnieuw beheerder worden bij opeenvolgende logins.

Beperkingen

  • Limited Provider Support: Single Sign-On (SSO) wordt momenteel alleen ondersteund voor Azure Active Directory.

  • Scope of SSO: SSO kan worden gebruikt om in te loggen op het Syntho platform, maar niet voor databaseverbindingen. Voor databasetoegang, moet je nog steeds een traditionele gebruikersnaam en wachtwoord gebruiken.

Als je je bewust bent van deze beperkingen, begrijp je beter de reikwijdte en beperkingen van het gebruik van Single Sign-On met Syntho.

Last updated