Configuration d’une application proxy

Configuration d’une application proxy

Bienvenue dans le guide complet sur la configuration de Maverics pour une utilisation avec des applications existantes ou non standard. En utilisant Maverics en tant que fournisseur d’authentification proxy, vous pouvez adapter votre application moderne à n’importe quel fournisseur d’identité.

Flux d’applications proxy

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 proxification d’applications existantes ou que vous cherchiez à améliorer votre configuration actuelle 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 qu’application proxy

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.

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.

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 proxy.

À 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 proxy

Sur la page Applications, créez une application proxy en sélectionnant Proxied App sous Application Types.

Configuration de l’application proxy

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.
  • Upstream URL : l’URL permettant de déterminer où envoyer le trafic après avoir accompli son travail, comme l’évaluation des politiques ou l’envoi des utilisateurs à un fournisseur pour l’authentification.
    • Route Patterns : la liste des motifs qui seront utilisés pour faire correspondre une demande à l’application appropriée. Vous pouvez utiliser un nom d’hôte, un chemin d’accès ou une combinaison des deux.
  • CA Path (facultatif) : le chemin d’accès à votre autorité de certification lorsque vous utilisez des certificats auto-signés.
  • Skip TLS Verification : cette configuration ne doit être utilisée qu’à des fins de test. Lorsque cette configuration est activée, le client HTTP ne valide pas la chaîne de certificats et le nom d’hôte du serveur. Cette option doit toujours être utilisée avec la plus grande prudence.
  • Unauthorized Page (facultatif) : l’URL vers laquelle vos utilisateurs sont redirigés lorsqu’une évaluation de la politique empêche l’accès à l’application (example.com/unauthorized, example.com/403).
  • Preserve Host : permet de déterminer si l’en-tête hôte doit être conservé dans les requêtes sortantes. Par défaut, l’orchestrateur définit l’en-tête pour qu’il corresponde à l’hôte en amont. Ce champ est souvent utilisé lorsque l’orchestrateur transfère le trafic vers un autre proxy inverse tel qu’Apache.
  • Logout

Cliquez sur Create pour enregistrer la configuration.

Après avoir établi la configuration de l’application, vous pouvez spécifier les ressources en sélectionnant l’application proxy dans la liste des applications. Les ressources correspondent à des emplacements de votre application que vous mapperez dans vos flux utilisateurs lors de la définition des politiques d’accès et des en-têtes. Les exemples incluent un chemin d’accès à une ressource comme / ou /example. Vous pouvez également spécifier des expressions rationelles.

Pour appliquer la correspondance d’expression rationnelle au chemin de la ressource, ajoutez « ~  » (notez l’espace) à l’avant de l’emplacement de la ressource.

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.

Plusieurs extensions de services sont disponibles pour une utilisation avec les flux d’applications proxy :

  • 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.
  • Upstream Login : upstreamLogin est une configuration facultative utilisée pour déterminer si une requête adressée à une application en amont est authentifiée et pour pouvoir se connecter à une application en amont. De telles situations sont courantes lorsqu’une application gère ses propres sessions ou s’authentifie directement auprès d’un magasin de données comme LDAP ou une base de données relationnelle.
  • Load Attributes : loadAttrsSE est une extension de services optionnelle utilisée pour personnaliser la manière dont le chargement des attributs est effectué. Cette extension est souvent utilisée pour charger des attributs à partir de sources de données propriétaires telles que les API d’entreprise.
  • Header Creation : createHeaderSE est une extension de services optionnelle utilisée pour créer un en-tête HTTP personnalisé. Cette extension est souvent utilisée lorsqu’un attribut doit être enrichi ou concaténé avec des données supplémentaires.
  • Authorization : isAuthorizedSE est une extension de services optionnelle qui peut être utilisée pour remplacer le comportement par défaut qui détermine si un utilisateur est autorisé.
  • Handle Unauthorized : handleUnauthorizedSE est une extension de services optionnelle qui peut être utilisée pour remplacer le comportement par défaut lorsqu’une évaluation de la politique refuse l’accès à l’application.
  • Modify Request : modifyRequestSE est une extension de services optionnelle qui peut être utilisée pour modifier chaque requête passant par l’application.
  • Modify Response : modifyResponseSE est une extension de services optionnelle qui peut être utilisée pour modifier chaque réponse passant par l’application.

Configuration de votre flux utilisateur

Vous allez ensuite créer un flux utilisateur en sélectionnant l’application proxy 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.

Configuration du flux utilisateur de l’application proxy

  1. Dans la section Attribute Providers, utilisez le menu Settings 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 attribut. Répétez ce processus pour ajouter plusieurs attributs.
  2. (Facultatif) Sous Service Extensions, sélectionnez une extension de services à utiliser avec le fournisseur d’attributs. Cliquez sur Add pour sélectionner plusieurs extensions de services.
  3. Sous Access Control Policies, vous pouvez sélectionner une ressource que vous avez définie dans la configuration de l’application pour appliquer des contrôles d’accès précis et transmettre des informations sur l’utilisateur par le biais d’en-têtes HTTP. Cliquez sur Add pour définir le contrôle d’accès.
    1. Sur la page Access Control, sélectionnez un fournisseur d’authentification et la politique d’accès que vous souhaitez utiliser.
      • Authentification : par défaut, les utilisateurs se voient refuser l’accès à la ressource à moins qu’ils ne soient authentifiés. Vous pouvez sélectionner Allow unauthenticated users sous Authentication si vous souhaitez autoriser l’accès aux utilisateurs non authentifiés.
      • Autorisation : par défaut, les utilisateurs se voient refuser l’accès à la ressource à moins qu’un accès ne leur soit accordé via une règle d’autorisation.
        • Vous pouvez sélectionner Allow all access si vous souhaitez autoriser l’accès de tous les utilisateurs sans règle d’autorisation.
        • Si vous souhaitez que cette option reste désactivée, vous pouvez appliquer un contrôle d’accès et une autorisation à granularité fine en sélectionnant Use rules to define access (Utiliser des règles pour définir l’accès) et en utilisant le générateur de règles booléennes qui s’affiche à l’écran.
          • Le générateur de règles vous permet d’ajouter des règles et des conditions par fournisseur. Par ailleurs, vous pouvez ajouter une règle ou une condition pour restreindre l’accès en fonction de la méthode de requête HTTP. Vous pouvez spécifier la méthode de requête HTTP et créer des règles d’accès différentes pour la lecture d’une ressource (en utilisant GET) et pour sa modification (en utilisant POST ou PUT).
        • Vous pouvez également sélectionner une extension de services si vous avez déjà configuré des extensions de services d’autorisation.
    2. Définissez les en-têtes dans la section Headers en entrant le nom de l’en-tête, en sélectionnant le fournisseur et en entrant l’attribut. Cliquez sur Add pour enregistrer l’en-tête et répétez l’opération pour ajouter plusieurs en-têtes.
    3. Si vous avez configuré une extension de services Header Creation, vous pouvez la sélectionner sous Service Extensions. Cliquez sur Add pour enregistrer l’extension de service et répétez l’opération pour ajouter plusieurs extensions de services.
  4. La section Headers vous permet de définir des politiques générales pour l’application. Définissez les en-têtes dans la section Headers en entrant le nom de l’en-tête, en sélectionnant le fournisseur et en entrant l’attribut. Cliquez sur Add pour enregistrer l’en-tête et répétez l’opération pour ajouter plusieurs en-têtes.
  5. Si vous avez configuré des extensions de services, vous pouvez les sélectionner sous Service Extensions. Cliquez sur Add pour enregistrer l’extension de service et répétez l’opération pour ajouter plusieurs extensions de services.
  6. Pour enregistrer le flux utilisateur complet, cliquez sur Deploy… en haut de la page.
  7. 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.
  8. 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).
  9. 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 proxy, 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 proxy, 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.