Vous pouvez utiliser l'espace de travail Authentification pour configurer SSO dans SaltStack Config afin qu'il fonctionne avec un système d'authentification compatible avec les protocoles OAuth et OIDC.

Note : Vous pouvez utiliser plusieurs systèmes à la fois pour authentifier des utilisateurs dans SaltStack Config si nécessaire. Par exemple, vous pouvez utiliser un fournisseur d'identité basé sur SAML ou un fournisseur d'identité basé sur LDAP tout en stockant simultanément des informations d'identification d'utilisateur nativement sur le serveur RaaS. Cependant, SaltStack Config n'autorise pas la configuration de plus de deux fournisseurs SAML ou deux fournisseurs LDAP en même temps.

À propos de SSO OAuth et OIDC

OAuth Single Sign-On (SSO) est une fonctionnalité que de nombreuses organisations configurent lors de la mise en œuvre de SaltStack Config. SSO offre de nombreux avantages, notamment :

  • Réduction du temps passé par les utilisateurs à se connecter à des services pour la même identité. Lorsque les utilisateurs se connectent à l'un des services d'une institution, ils sont ensuite automatiquement authentifiés dans tout autre service qui utilise l'authentification SSO.
  • Simplification de la gestion des mots de passe. L'utilisateur n'a qu'à mémoriser un ensemble d'informations d'identification et non plusieurs.

De nombreux services fournissent des implémentations du protocole OAuth avec prise en charge d'OIDC, notamment OKTA, Google, Microsoft, GitLab, Zendesk, Apple, Keycloak, Salesforce, etc.

Note : SaltStack Config prend actuellement uniquement en charge l'authentification OAuth et OIDC via OKTA et Google.

Fonctionnement d'OAuth et d'OIDC avec SaltStack Config

Lorsqu'un utilisateur tente de se connecter à SaltStack Config à l'aide d'une identité OAuth :

  1. SaltStack Config demande l'autorisation d'accéder à des ressources de service à partir de l'utilisateur.
  2. Si l'utilisateur autorise la demande, SaltStack Config reçoit une autorisation.
  3. SaltStack Config demande un jeton d'accès au serveur d'autorisation (API) en présentant l'authentification de sa propre identité.
  4. Si l'identité de l'application est authentifiée et que l'octroi d'autorisation est valide, le serveur d'autorisation (API) émet un jeton d'accès à SaltStack Config.
  5. SaltStack Config demande la ressource au serveur de ressources (API) et présente le jeton d'accès pour l'authentification.
  6. Si le jeton d'accès est valide, le serveur de ressources (API) sert la ressource à l'application et l'utilisateur est autorisé à se connecter à SaltStack Config.

Terminologie de l'authentification OAuth et OIDC

Terme Définition
OAuth

OAuth 2.0 est un protocole ouvert (également appelé standard) pour la délégation d'accès dans laquelle l'utilisateur peut effectuer des actions sur un site Web après que l'identité de l'utilisateur a été authentifiée avec un jeton de sécurité. Il est généralement utilisé par les utilisateurs comme moyen d'accorder aux applications l'accès à leurs informations sur d'autres applications tierces sans leur donner leurs identifiants d'accès (mots de passe).

OAuth est un autorisation Single Sign-On (SSO) basée sur navigateur. OAuth permet l'émission de jetons d'accès à des clients tiers par un serveur d'autorisation, avec l'approbation du propriétaire de la ressource. Le tiers utilise ensuite le jeton d’accès pour accéder aux ressources protégées hébergées par le serveur de ressources.

OIDC

Open ID Connect

Open ID Connect (OIDC) est une couche d'identité simple au-dessus du protocole OAuth 2.0. OIDC permet aux clients de vérifier les identités de l'utilisateur en fonction de l'authentification effectuée par un serveur d'autorisation. Il peut également obtenir des informations de profil de base sur l’utilisateur entre les applications.

Propriétaire de la ressource Le propriétaire de la ressource est l’utilisateur qui autorise une application à accéder à son compte. L'accès de l'application au compte de l'utilisateur est limité à l'étendue de l'autorisation octroyée, telle que l'accès en lecture ou en écriture.
Client Le client est l'application tierce qui doit accéder au compte de l'utilisateur, laquelle, dans ce cas, est SaltStack Config.
Serveur d'autorisation Le serveur d’autorisation héberge les comptes d’utilisateurs protégés et leurs informations d’identification. Il vérifie l’identité de l’utilisateur, puis émettre des jetons d’accès au client. Il est fréquemment accessible via l'API du service.
Serveur de ressources

Le serveur de ressources est le serveur API utilisé pour accéder aux informations de l'utilisateur. Il gère les demandes authentifiées une fois que le client a obtenu un jeton d’accès. Les déploiements plus petits n'ont généralement qu'un seul serveur de ressources et sont souvent créés dans le cadre de la même base de code ou du même déploiement que le serveur d'autorisation.

Les déploiements à grande échelle peuvent avoir plusieurs serveurs de ressources. Chaque serveur de ressources est séparé, mais ils partagent tous le même serveur d’autorisation.

Étapes préalables à la configuration

Avant de configurer OAuth et OIDC dans SaltStack Config, assurez-vous que vous avez l'accès nécessaire à votre service OAuth 2.0 pour votre organisation (OKTA ou Google) et que vous êtes relativement familiarisé avec leur processus d'enregistrement d'applications.

Note : SaltStack Config prend actuellement uniquement en charge l'authentification OAuth et OIDC via OKTA et Google.

Enregistrer SaltStack Config en tant qu'application dans OKTA ou Google

Sur le site Web de votre service OAuth, entrez des informations de base sur SaltStack Config telles que le nom, le site Web, etc. Après l'enregistrement de l'application, vous disposez d'un secret client que vous devez fournir pour SaltStack Config.

L'une des opérations les plus importantes lors de la création de l'application consiste à enregistrer une ou plusieurs URL de redirection que l'application utilisera. Une URL de redirection est l'emplacement vers lequel le service OAuth 2.0 redirige l'utilisateur après avoir autorisé l'application.

Configurer un fournisseur d’identité

Pour configurer SSO à l'aide du service OAuth et OIDC préféré de votre organisation :

  1. Dans le menu latéral, cliquez sur Administration > Authentification.
  2. Cliquez sur Créer.
  3. Dans le menu Type de configuration, sélectionnez OIDC.
  4. Dans le champ Nom, attribuez un nom descriptif à cette configuration.
  5. Dans le menu Fournisseur d'OIDC, sélectionnez OKTA ou Google.
  6. Renseignez les champs suivants avec les informations sur votre installation SaltStack Config :
    • URI de base
    • URL de l'API (pour les configurations OKTA uniquement)
    • Key
    • Secret
    Note : Pour obtenir une description de ces champs, reportez-vous à la section Champs d'informations OIDC.
  7. Cliquez sur Enregistrer.

La configuration d'OIDC pour SaltStack Config est terminée.

Configurer RBAC pour OIDC

Pour OIDC, l'utilisateur doit d'abord se connecter à SaltStack Config afin d'être ajouté en tant qu'utilisateur dans la base de données d'utilisateurs locale. Une fois que les utilisateurs se sont initialement connectés, les rôles et les autorisations de l'utilisateur sont gérés de la même manière que pour les utilisateurs dont les informations d'identification sont stockées localement dans SaltStack Config sur le serveur RaaS.

Une fois que l'utilisateur s'est initialement inscrit, vous pouvez utiliser l'espace de travail Rôles pour attribuer des rôles et des autorisations appropriés à cet utilisateur. Pour plus d'informations sur l'espace de travail Rôles, reportez-vous à la section Rôles et autorisations.

Champs d'informations OIDC

Tous les champs d'informations d'authentification OIDC sont requis. Entrez les informations de la configuration d'authentification OIDC comme suit.

Note : Si vous avez besoin d'aide pour la configuration de votre connexion, contactez votre administrateur.
Champ Description
Nom Nom de la connexion d'authentification utilisée par SSE. Ce nom s'affiche dans la barre latérale lorsque vous êtes connecté à l'espace de travail Authentification et doit être unique si vous mettez en place plusieurs configurations.
Fournisseur OIDC Sélectionnez le fournisseur d'identité OIDC dans ce menu pour afficher les paramètres spécifiques du fournisseur.
URI de base URL de base utilisée par votre organisation dans SaltStack Config, également appelée adresse du serveur hôte. Cette URL est formatée comme un nom de domaine ou une adresse IP, telle que https://example.com.
URL de l'API URL de l'API fournie par le fournisseur d'identité. Ce champ ne s'affiche que si le fournisseur d'identité est OKTA.
Key Clé fournie par votre fournisseur d’identité. Dans OKTA, la clé est appelée ID client.
Secret Secret fourni par votre fournisseur d’identité. Dans OKTA, la clé est appelée Secret du client.