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.
OAuth Single Sign-On (SSO) est une fonctionnalité que de nombreuses organisations configurent lors de la mise en œuvre de SaltStack Config dans le but de :
- Réduire le 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.
- Simplifier 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.
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. |
Open ID Connect (OIDC) |
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. |
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.
Fonctionnement d'OAuth et d'OIDC avec SaltStack Config
Lorsque vous tentez de vous connecter à SaltStack Config à l'aide d'une identité OAuth :
- SaltStack Config demande l'autorisation d'accéder à des ressources de service à partir de l'utilisateur.
- Si l'utilisateur autorise la demande, SaltStack Config reçoit une autorisation.
- SaltStack Config demande un jeton d'accès au serveur d'autorisation (API) en présentant l'authentification de sa propre identité.
- 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.
- SaltStack Config demande la ressource au serveur de ressources (API) et présente le jeton d'accès pour l'authentification.
- 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.
Conditions préalables
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.
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 :
- Dans le menu latéral, cliquez sur Administration > Authentification.
- Cliquez sur Créer.
- Dans le menu Type de configuration, sélectionnez OIDC.
- Dans le champ Nom, attribuez un nom descriptif à cette configuration.
- Dans le menu Fournisseur d'OIDC, sélectionnez OKTA ou Google.
- Renseignez les champs requis suivants avec les informations sur votre installation SaltStack Config :
Champ Description 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. - Cliquez sur Enregistrer.
La configuration d'OIDC pour SaltStack Config est terminée.