Configuration d’une application OIDC

Configuration d’une application OIDC

Bienvenue dans le guide complet de configuration de Maverics pour une utilisation avec une application OIDC. En utilisant Maverics en tant que fournisseur d’authentification OIDC, vous pouvez adapter votre application moderne à n’importe quel fournisseur d’identité.

Flux d’application OIDC

Ce guide est structuré de manière à fournir à la fois une vue d’ensemble et des instructions détaillées, ce qui le rend particulièrement utile aux professionnels de l’informatique et aux administrateurs chargés de mettre en place et de gérer les identités numériques. Que vous soyez novice en matière d’applications OIDC ou que vous cherchiez à améliorer votre configuration existante avec Maverics, ce tutoriel vous ouvre la voie vers un processus d’intégration sans faille. Nous aborderons les étapes suivantes :

Déploiement d’un orchestrateur et configuration en tant que fournisseur d’authentification OIDC

Avant de télécharger et de déployer un orchestrateur, vous devez créer un environnement. Les environnements définissent des conteneurs de stockage dans le nuage où vous pouvez déployer la configuration du flux utilisateur et les orchestrateurs qui liront cette configuration pour vos applications.

Pour plus d’informations sur la configuration d’un environnement avec différents services de stockage en nuage, reportez-vous à la section Configuration des environnements.

Configuration de l’environnement OIDC

Veuillez noter que vous devez fournir une URL pour votre orchestrateur, que Maverics peut utiliser pour définir automatiquement plusieurs terminaux. Les terminaux sont indiqués dans l’exemple de configuration ci-dessous.

    issuer: https://maverics.sonarsystems.com
    endpoints:
      wellKnown: https://maverics.sonarsystems.com/.well-known/openid-config
      jwks: https://maverics.sonarsystems.com/.well-known/jwks.json
      auth: https://maverics.sonarsystems.com/oauth2/auth
      token: https://maverics.sonarsystems.com/oauth2/token
      userinfo: https://maverics.sonarsystems.com/userinfo
      introspect: https://maverics.sonarsystems.com/introspect
      revoke: https://maverics.sonarsystems.com/revoke
      endSession: https://maverics.sonarsystems.com/oidc/logout

De plus, vous devrez fournir votre certificat de fournisseur OIDC et votre clé privée lors de la création de votre environnement.

En option, vous pouvez activer l’enregistrement dynamique des clientset configurer le cache OIDC.

Après avoir créé votre environnement, vous pouvez télécharger et installer l’orchestrateur. Reportez-vous à la section Installer un orchestrateur.

Dans un souci de respect des bonnes pratiques, Strata vous recommande de créer également un deuxième environnement pour les configurations de vos applications.

ℹ️
Le cache OIDC n’est généralement pas disponible. Pour demander l’accès au cache OIDC de votre compte, contactez [email protected].

Configuration de l’enregistrement dynamique des clients

L’enregistrement dynamique des clients (DCR, Dynamic Client Registration) permet aux clients OIDC de s’approvisionner auprès d’un fournisseur OIDC en envoyant des métadonnées (nom du client, URL de redirection, etc.) au fournisseur et en recevant les informations nécessaires pour compléter une requête d’authentification pour ses utilisateurs (client_id, client_secret, etc.).

Prérequis

Vous devez suivre les étapes suivantes avant d’activer l’enregistrement dynamique des clients :

  • Configuration d’un fournisseur d’authentification OIDC
  • Publiez un flux utilisateur d’application OIDC dans un environnement qui définit le fournisseur d’identité pour l’authentification, le fournisseur d’attributs (facultatif, en fonction de l’origine des réclamations) et les réclamations nécessaires à l’application.

Configuration

Pour configurer l’enregistrement dynamique des clients lors de la création d’un environnement :

  1. Sur la page Environment configuration, faites défiler vers le bas jusqu’à OIDC Provider.
  2. Cliquez sur la touche à bascule pour activer l’enregistrement dynamique des clients.
  3. Cliquez sur OK dans le message de confirmation.
  4. Copiez le terminal d’enregistrement du client : https://maverics.strata.io/register

Essais

Pour tester l’enregistrement dynamique des clients, vous devez disposer d’un environnement et d’une application OIDC configurés et déployés avant de compléter les étapes suivantes. Vous devez également disposer d’une application web ou d’un gestionnaire API pour envoyer une requête POST.

  1. Accédez à l’environnement configuré avec un fournisseur OIDC et, sous OIDC options, cliquez sur New pour créer une clé API.

  2. Copiez l’ID de la clé API.

  3. Utilisez un gestionnaire API ou une application web pour envoyer une requête POST à https://maverics.strata.io/register contenant les informations suivantes :

    • un en-tête d’autorisation avec le bearer token défini sur l’identifiant de votre clé API
    • les métadonnées de l’application OIDC dans le corps de la requête conformément à la spécification OAuth 2.0. Le champ redirect_uris est obligatoire, mais tous les autres champs sont facultatifs
  4. Vérifiez le résultat pour vous assurer que l’autorisation a bien été transmise.

ℹ️
Remarque : le flux utilisateur OIDC sera automatiquement déployé une fois que Maverics aura reçu la requête POST. Nous vous recommandons de ne déployer qu’un seul flux utilisateur OIDC par environnement.

Configuration de votre tissu d’identité

Le tissu d’identité de Maverics comprend un fournisseur d’identité et des fournisseurs d’attributs facultatifs. Les fournisseurs d’identité de Maverics s’intègrent à plusieurs fournisseurs d’identité OIDC et SAML et les utilisent en tant que fournisseurs d’authentification ou d’attributs. Certains systèmes d’accès agissent à la fois en tant que fournisseurs d’authentification et d’attributs.

Accédez à Identity Fabric et faites votre sélection dans le panneau Identity Services situé à droite. Vous pouvez sélectionner n’importe quel service pour une utilisation avec une application OIDC.

À la page suivante, saisissez les informations relatives à votre service d’identité dans les champs correspondants. Les informations requises varient en fonction du service et du protocole sélectionnés. L’exemple ci-dessous correspond à un fournisseur d’identité SAML générique.

Configuration de fournisseur d’identité SAML générique

Pour plus d’informations sur la configuration d’un tissu d’identité, reportez-vous à la section Configurer le tissu d’identité.

Configuration de votre application OIDC

Sur la page Applications, créez une application OIDC en sélectionnant OIDC-based sous Application Types.

Configuration de l’application OIDC

Définissez les éléments suivants :

  • Name : le nom convivial de votre application.
  • App icon : permet de télécharger une image pour votre application à afficher dans Maverics. Maverics prend en charge les formats JPEG, PNG ou SVG, jusqu’à 2 Mo maximum.
  • Client ID : l’identifiant du client dont les clients OIDC auront besoin pour se connecter.
  • Client Secret : le secret du client dont les clients de OIDC auront besoin pour se connecter.
  • Redirect URL : la liste des URL à rediriger vers vos clients.
  • Access Token Settings : cette section permet de définir la configuration du jeton d’accès OAuth.
    • Type : le type peut être défini sur jwt (par défaut) ou opaque.
    • Length : si le type est défini comme étant opaque, la longueur peut être comprise entre 22 et 256 caractères. Si jwt est défini, la longueur par défaut est de 28 caractères.
    • Lifetime Seconds : par défaut, les jetons d’accès disposent d’une durée de vie d’une heure. Vous pouvez configurer la durée de vie du jeton d’accès de chaque client, en définissant la balise lifetimeSeconds sous la section accessToken, sur une valeur valide en secondes (nombre entier).
  • Réglages du jeton d’actualisation
    • Allow Offline Access : permet de définir si un client a la possibilité de demander des jetons d’actualisation.
    • Length : la longueur peut être fixée entre 22 et 256 caractères pour définir la longueur d’un jeton d’actualisation.

Cliquez sur Create pour enregistrer la configuration.

Création d’une extension de service (facultatif)

Les extensions de services sont de courts programmes Golang qui se fixent aux points d’extension au sein d’un orchestrateur afin de modifier ou d’étendre les fonctionnalités. Elles donnent aux administrateurs la possibilité de personnaliser le comportement de l’orchestrateur en fonction des besoins particuliers de leur intégration. Cette étape est facultative et vous pouvez consulter la documentation concernant les extensions de services ci-dessous. Après avoir créé une extension de services, vous pouvez la sélectionner pour l’utiliser lors de la création de votre flux utilisateur.

Trois extensions de services sont disponibles pour une utilisation avec les flux d’applications OIDC  :

  • Authentication : les extensions de services isAuthenticatedSE et authenticateSE sont disponibles et permettent de déterminer si un utilisateur est déjà authentifié et afin de contrôler le comportement d’authentification.
  • Access Token : accessToken définit la configuration du jeton d’accès OAuth.
  • ID Token : l’extension de services facultative buildIDTokenClaimsSE permet de personnaliser la manière dont les réclamations dans le jeton d’identification sont construites. buildAccessTokenClaimsSE permet de personnaliser la manière dont les réclamations dans le jeton d’accès sont construites.

Configuration de votre flux utilisateur

Vous allez ensuite créer un flux utilisateur en sélectionnant l’application OIDC que vous avez créée.

Dans le tableau de bord, cliquez sur Create user flow. Vous pouvez également cliquer sur User Flows dans la barre latérale, puis sur New. Saisissez un nom à donner au flux utilisateur et sélectionnez l’application à utiliser. Cliquez sur Create.

Pour modifier un flux utilisateur existant, cliquez sur User Flows dans la barre latérale et cliquez sur le nom du flux utilisateur que vous souhaitez modifier.

Le nom du flux utilisateur apparaît en haut de l’écran suivant et peut être modifié. L’application apparaît sous le nom. Vous pouvez cliquer sur l’application pour modifier sa configuration, mais vous ne pouvez pas modifier l’application liée au flux utilisateur. Cependant, il est possible d’ajouter d’autres applications OIDC configurées au flux utilisateur.

Configuration du flux utilisateur OIDC

  1. Sous Authentication Provider, sélectionnez un fournisseur d’identité que vous avez configuré.
  2. Dans la section Attribute Providers, sélectionnez un fournisseur d’attributs, un fournisseur de mappage de nom d’utilisateur et un attribut de mappage de nom d’utilisateur. Cliquez sur Add pour enregistrer votre attribut. Répétez ce processus pour ajouter plusieurs attributs.
  3. La section Claims vous permet d’ajouter des réclamations supplémentaires à cet utilisateur. Cela permet de faire correspondre les réclamations aux attributs de session fournis par le(s) fournisseur(s) d’identité et tout fournisseur d’attributs éventuellement défini.
    1. Utilisez la section OIDC Claims Mapping pour sélectionner un fournisseur d’attributs, un fournisseur de mappage de nom d’utilisateur et un attribut de mappage de nom d’utilisateur. Cliquez sur Add pour enregistrer votre réclamation. Répétez ce processus pour ajouter plusieurs réclamations.
    2. Si vous avez configuré une extension de services Access Token ou ID Token, vous pouvez la sélectionner sous Service Extensions. Cliquez sur Add pour enregistrer.
  4. Pour enregistrer le flux utilisateur complet, cliquez sur Deploy… en haut de la page.
  5. La fenêtre modale Choose revision and environment (Choisir la révision et l’environnement) apparaît. Le champ Revision indique le dernier numéro. Sélectionnez un environnement à déployer et cliquez sur Preview.
  6. Dans l’écran Deployment Preview, vous pouvez consulter l’historique des révisions et comparer le flux utilisateur actuel avec le nouveau flux utilisateur (si vous modifiez un flux utilisateur existant).
  7. Cliquez sur Deploy en haut de l’écran pour déployer la dernière révision de votre environnement sélectionné.

Après avoir suivi les étapes décrites dans ce guide, vous avez réussi à configurer Maverics pour une utilisation avec une application OIDC, posant ainsi les bases d’un système de gestion des identités robuste et sécurisé. N’oubliez pas que chaque composant joue un rôle crucial dans l’amélioration de la sécurité et de l’efficacité de l’intégration de votre application OIDC, en garantissant la résilience et l’adaptabilité du mécanisme de gestion des identités de votre organisation. Avec Maverics, vous êtes maintenant prêt à affronter les complexités de la gestion de l’identité numérique, en offrant à vos utilisateurs un environnement sûr et convivial.