Single Sign-On (SSO) in Azure

Syntho beta feature

Introduction

Pour configurer l'authentification unique (SSO), des ajustements devront être apportés à l'application appelée backend. L'endroit exact où vous devez apporter des modifications dépendra de votre méthode de déploiement (Kubernetes ou Docker Compose).&#x20 ;

Kubernetes (tableau Helm)

Les variables d'environnement mentionnées peuvent être ajoutées au tableau Helm sous le chemin YAML de backend.env. En voici un exemple:

backend:
  env:
    SSO_PROVIDER: Azure
    SSO_CLIENT_ID: <your-client-id>
    SSO_CLIENT_SECRET: <your-client-secret>
    SSO_TENANT: <Azure Tenant ID>
    EMAIL_LOGIN_ENABLED: Vrai

Docker Compose

Dans le cas de l'utilisation de Docker Compose, le fichier Docker Compose devra être ajusté. L'application backend peut à nouveau être ajustée ici, dans ce cas, des variables d'environnement supplémentaires devront être ajoutées directement à la liste existante. Un exemple de cette liste:

version: '3'

services:
  backend:
    image: ${BACKEND_IMAGE}
    redémarrage: sur-échec
    environnement:
      ...
      SSO_PROVIDER: Azure
      SSO_CLIENT_ID: <your-client-id>
      SSO_CLIENT_SECRET: <your-client-secret>
      SSO_TENANT: <Azure Tenant ID>

Nom d'utilisateur et mot de passe de connexion

Par défaut, Les utilisateurs de Syntho peuvent se connecter en utilisant leur nom d'utilisateur et leur mot de passe. Pour désactiver la connexion avec le nom d'utilisateur et le mot de passe, définir la variable d'environnement USERNAME_PASSWORD_LOGIN_ENABLED à False.

Single Sign-On

Syntho supporte l'authentification en utilisant des fournisseurs d'identité externes. Utiliser la documentation spécifique au fournisseur pour configurer le SSO pour votre fournisseur d'identité ou utiliser le fournisseur OpenID Connect si votre fournisseur n'est pas listé ci-dessous.

OpenID Connect

Consultez la documentation de votre fournisseur d'identité pour configurer l'accès par des applications externes.

Lors de la configuration de l'accès à Syntho, configurer les éléments suivants, l'URL de rappel est https://<my-syntho-domain>/api/v1/oidc/callback/. L'URL de rappel est également appelée URL de l'émetteur ou URL de redirection.

Fournir les variables d'environnement suivantes lors du déploiement de 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>

Azure

Première, enregistrer Syntho en tant qu'application dans le Azure Active Directory Portal:

  1. Sélectionnez Azure Active Directory, Allez ensuite dans Enregistrements d'applications et sélectionnez Nouvel enregistrement.

  1. Saisir un nom, par exemple Syntho. Pour l'URI de redirection, sélectionnez Web et entrez l'adresse URL qui pointe vers le site Web. /api/v1/oidc/callback/ sur votre déploiement Syntho.

  1. Copiez l'"ID de l'application (client)" et l'"ID du répertoire (locataire)", ces valeurs seront utilisées ultérieurement.

  1. Cliquez sur "Certificats et secrets", et sélectionnez "Nouveau secret client". Entrez un nom, par exemple Syntho, sélectionnez une expiration et cliquez sur "Ajouter"

  1. Copiez la valeur du secret du client. Cette valeur ne sera visible qu'une seule fois. Si vous avez perdu la valeur, supprimer le secret et en créer un nouveau.

  1. Dans le menu de gauche, sélectionnez "API permissions", puis cliquez sur "Ajouter une autorisation"

  1. Sélectionnez "Microsoft Graph"

  1. Sélectionnez "Permissions déléguées"

  1. Ajouter les autorisations suivantes, puis sélectionnez "Ajouter des autorisations"

  • Autorisations de l'OpenId

    • courriel

    • accès hors ligne

    • openid

    • profil

  • Membre du groupe

    • GroupMember.Read.All

  • Utilisateur

    • User.Read

  1. Sélectionnez "Accorder le consentement de l'administrateur pour 'votre répertoire'"

  1. Après avoir obtenu le consentement de l'administration, toutes les autorisations doivent être cochées en vert.

Après avoir enregistré Syntho dans Azure, définir les variables d'environnement suivantes:

  • SSO_PROVIDER=Azure

  • SSO_CLIENT_ID=<Azure Client ID>

  • SSO_CLIENT_SECRET=<Azure Client Secret>

  • SSO_TENANT_ID=<Azure Tenant ID>

Groupes

Upcoming feature

Lorsque votre fournisseur d'identité prend en charge les groupes, ces groupes seront automatiquement créés dans Syntho lorsqu'un utilisateur se connectera en utilisant le fournisseur d'identité. Ces groupes peuvent être utilisés pour attribuer des permissions aux espaces de travail.

Les groupes provenant du fournisseur d'identité peuvent être filtrés en utilisant l'option SSO_GROUP_FILTER_REGEX variable d'environnement. Lorsque cette variable d'environnement est définie, seuls les groupes correspondant à l'expression régulière fournie seront créés dans Syntho.

Accès administrateur

Si l'authentification unique est activée, peuvent devenir administrateurs en définissant la variable d'environnement SSO_ADMINS. Cette variable d'environnement attend une liste d'adresses e-mail séparées par des virgules. Lorsqu'un utilisateur se connecte à Syntho pour la première fois avec son fournisseur d'authentification unique, si leur adresse électronique correspond à l'une des adresses électroniques figurant dans la variable d'environnement, l'utilisateur créé deviendra administrateur.

Notez que le fait de devenir administrateur via cette variable d'environnement ne se produit que lors de la première connexion et non lors de connexions consécutives. Cela permet d'éviter de devoir redéployer Syntho pour empêcher les utilisateurs de devenir à nouveau administrateur lors de connexions consécutives.

Limitations

  • Limited Provider Support: L'authentification unique (SSO) n'est actuellement prise en charge que pour Azure Active Directory.

  • Scope of SSO: Le SSO peut être utilisé pour se connecter à la plateforme Syntho mais pas pour les connexions aux bases de données. Pour l'accès à la base de données, vous devrez toujours utiliser un nom d'utilisateur et un mot de passe traditionnels.

La connaissance de ces limitations vous aidera à mieux comprendre la portée et les restrictions de l'utilisation de l'authentification unique avec Syntho.

Last updated