Intégrer l’authentification unique Microsoft Entra avec Maverics Identity Orchestrator SAML Connector

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation et organisez-vous en conséquence. Pour plus d’informations, consultez les conseils d’aide relatifs à la fin de vie de CentOS.

Maverics Identity Orchestrator de Strata offre un moyen simple d’intégrer des applications locales à Microsoft Entra ID pour l’authentification et le contrôle d’accès. Maverics Orchestrator est capable de moderniser l’authentification et l’autorisation pour les applications qui s’appuient actuellement sur des en-têtes, des cookies et d’autres méthodes d’authentification propriétaires. Les instances Maverics Orchestrator peuvent être déployées localement ou dans le cloud.

Ce tutoriel sur l’accès hybride montre comment migrer une application web locale qui est actuellement protégée par un produit de gestion de l’accès web hérité afin d’utiliser Microsoft Entra pour l’authentification et le contrôle d’accès. Les étapes de base sont les suivantes :

  1. Configurer Maverics Orchestrator
  2. Traiter une application par proxy
  3. Enregistrer une application d’entreprise dans Microsoft Entra ID
  4. S’authentifier par le biais d’Azure et autoriser l’accès à l’application
  5. Ajouter des en-têtes pour un accès fluide aux applications
  6. Travailler avec plusieurs applications

Prérequis

  • Un abonnement Microsoft Entra. Si vous ne disposez d’aucun abonnement, vous pouvez obtenir un compte gratuit.
  • Un abonnement Maverics Identity Orchestrator SAML Connector pour lequel l’authentification unique est activée. Pour obtenir le logiciel Maverics, contactez l’équipe commerciale Strata.
  • Au moins une application qui utilise l’authentification basée sur l’en-tête. Les exemples fonctionnent sur une application appelée Connectulum, qui est hébergée sur https://app.connectulum.com.
  • Une machine Linux pour héberger Maverics Orchestrator
    • Système d’exploitation : REHL 7.7 ou version ultérieure, CentOS 7+
    • Disque : >= 10 Go
    • Mémoire : >= 4 Go
    • Ports : 22 (SSH/SCP), 443, 7474
    • Accès racine pour les tâches d’installation/d’administration
    • Sortie réseau à partir du serveur hébergeant Maverics Identity Orchestrator vers votre application protégée

Étape 1 : Configurer Maverics Orchestrator

Installer Maverics

  1. Obtenez le dernier RPM Maverics. Copiez le package sur le système sur lequel vous souhaitez installer le logiciel Maverics.

  2. Installez le package Maverics, en substituant le nom de votre fichier à maverics.rpm.

    sudo rpm -Uvf maverics.rpm

    Une fois Maverics installé, il s’exécute en tant que service sous systemd. Pour vérifier que le service est en cours d’exécution, exécutez la commande suivante :

    sudo systemctl status maverics

  3. Pour redémarrer Orchestrator et suivre les journaux, vous pouvez exécuter la commande suivante :

    sudo service maverics restart; sudo journalctl --identifier=maverics -f

Après l’installation de Maverics, le fichier maverics.yaml par défaut est créé dans le répertoire /etc/maverics. Avant que vous ne modifiiez votre configuration pour inclure appgateways et connectors, votre fichier de configuration se présente comme suit :

# © Strata Identity Inc. 2020. All Rights Reserved. Patents Pending.

version: 0.1
listenAddress: ":7474"

Configurer DNS

DNS vous sera utile pour vous éviter d’avoir à mémoriser l’ IP du serveur Orchestrator.

Modifiez le fichier hosts de l’ordinateur du navigateur (celui de votre portable) en utilisant une IP Orchestrator hypothétique 12.34.56.78. Sur les systèmes d’exploitation Linux, ce fichier se trouve dans /etc/hosts. Sur Windows, il se trouve dans C:\windows\system32\drivers\etc.

12.34.56.78 sonar.maverics.com
12.34.56.78 connectulum.maverics.com

Pour confirmer que le DNS est configuré comme prévu, vous pouvez effectuer une demande au point de terminaison d’état d’Orchestrator. Dans votre navigateur, demandez http://sonar.maverics.com:7474/status.

Configurer TLS

La communication sur des canaux sécurisés pour communiquer avec votre instance Orchestrator est essentielle pour garantir la sécurité. Pour cela, vous pouvez ajouter une paire certificat/clé dans votre section tls.

Pour générer un certificat auto-signé et une clé pour le serveur Orchestrator, exécutez la commande suivante à partir du répertoire /etc/maverics :

openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out maverics.crt -keyout maverics.key

Notes

Pour les environnements de production, vous voudrez probablement utiliser un certificat signé par une autorité de certification connue afin d’éviter les avertissements dans le navigateur. Let’s Encrypt est une option gratuite appropriée si vous recherchez une autorité de certification approuvée.

À présent, utilisez le certificat et la clé que vous venez de générer pour Orchestrator. Votre fichier de configuration doit maintenant contenir le code suivant :

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

Pour vérifier que TLS est configuré comme prévu, redémarrez le service Maverics, puis effectuez une demande auprès du point de terminaison d’état.

Étape 2 : Traiter une application par proxy

Configurez ensuite le traitement proxy de base dans Orchestrator en utilisant appgateways. Cette étape vous permet de vérifier qu’Orchestrator dispose de la connectivité nécessaire à l’application protégée.

Votre fichier de configuration doit maintenant contenir le code suivant :

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

Pour vérifier que le traitement proxy fonctionne comme prévu, redémarrez le service Maverics, puis effectuez une demande auprès de l’application par le biais du proxy Maverics. Vous pouvez éventuellement effectuer une demande auprès de ressources d’application spécifiques.

Étape 3 : Enregistrer une application d’entreprise dans Microsoft Entra ID

À présent, créez une application d’entreprise dans Microsoft Entra ID. Elle sera utilisée pour authentifier les utilisateurs finaux.

Remarque

Quand vous utilisez des fonctionnalités Microsoft Entra comme l’accès conditionnel, il est important de créer une application d’entreprise par application locale. Cela permet un accès conditionnel par application, une évaluation des risques par application, des autorisations attribuées par application, etc. En général, une application d’entreprise dans Microsoft Entra ID mappe à un connecteur Azure dans Maverics.

Enregistrer une application d’entreprise dans Microsoft Entra ID :

  1. Dans votre locataire Microsoft Entra, sélectionnez Applications d’entreprise, puis Nouvelle application. Dans la galerie Microsoft Entra, recherchez Maverics Identity Orchestrator SAML Connector, puis sélectionnez-le.

  2. Dans le volet Propriétés de Maverics Identity Orchestrator SAML Connector, définissez Affectation de l’utilisateur obligatoire ? sur Non afin que l’application fonctionne pour tous les utilisateurs de votre répertoire.

  3. Dans le volet Vue d’ensemble d’Identity Orchestrator SAML Connector, sélectionnez Configurer l’authentification unique, puis SAML.

  4. Dans Maverics Identity Orchestrator SAML Connector, accédez au volet Authentification basée sur SAML et modifiez la Configuration SAML de base en sélectionnant le bouton Modifier (icône de crayon).

    Capture d’écran du bouton Modifier la configuration SAML de base.

  5. Entrez https://sonar.maverics.com comme ID d’entité. L’ID d’entité doit être unique dans les applications du locataire, et il peut s’agir d’une valeur arbitraire. Vous utiliserez cette valeur quand vous définirez le champ samlEntityID pour votre connecteur Azure dans la prochaine section.

  6. Entrez https://sonar.maverics.com/acs comme URL de réponse. Vous utiliserez cette valeur quand vous définirez le champ samlConsumerServiceURL pour votre connecteur Azure dans la prochaine section.

  7. Entrez https://sonar.maverics.com/ comme URL de connexion. Ce champ n’est pas utilisé par Maverics, mais il est nécessaire dans Microsoft Entra ID pour permettre aux utilisateurs d’accéder à l’application par le biais du portail Mes applications Microsoft Entra.

  8. Cliquez sur Enregistrer.

  9. Dans la section Certificat de signature SAML, sélectionnez le bouton Copier pour copier la valeur URL des métadonnées de fédération d’application, puis enregistrez-la sur votre ordinateur.

    Capture d’écran du bouton de copie Certificat de signature SAML.

Étape 4 : S’authentifier par le biais d’Azure et autoriser l’accès à l’application

Placez ensuite l’application d’entreprise que vous venez de créer pour l’utiliser en configurant le connecteur Azure dans Maverics. Cette configuration connectors associée au bloc idps permet à Orchestrator d’authentifier les utilisateurs.

Votre fichier de configuration doit maintenant contenir le code suivant. Veillez à remplacer METADATA_URL par la valeur URL des métadonnées de fédération d’application de l’étape précédente.

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

Pour vérifier que l’authentification fonctionne comme prévu, redémarrez le service Maverics, puis effectuez une demande auprès d’une ressource d’application par le biais du proxy Maverics. Vous êtes normalement redirigé vers Azure pour l’authentification avant d’accéder à la ressource.

Étapes 5 : Ajouter des en-têtes pour un accès fluide aux applications

Vous n’envoyez pas encore d’en-têtes à l’application en amont. Ajoutons headers à la demande quand elle transite par le proxy Maverics pour permettre à l’application en amont d’identifier l’utilisateur.

Votre fichier de configuration doit maintenant contenir le code suivant :

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

Pour vérifier que l’authentification fonctionne comme prévu, effectuez une demande auprès d’une ressource d’application par le biais du proxy Maverics. L’application protégée doit maintenant recevoir des en-têtes sur la demande.

N’hésitez pas à modifier les clés d’en-tête si votre application attend des en-têtes différents. Toutes les revendications revenant de Microsoft Entra dans le cadre du flux SAML peuvent être utilisées dans les en-têtes. Par exemple, vous pouvez inclure un autre en-tête secondary_email: azureSonarApp.email, où azureSonarApp est le nom du connecteur et email est une revendication retournée par Microsoft Entra ID.

Étape 6 : Travailler avec plusieurs applications

Voyons maintenant ce qui est nécessaire pour traiter par proxy plusieurs applications qui se trouvent sur des hôtes différents. Pour effectuer cette étape, configurez une autre passerelle d’application, une autre application d’entreprise dans Microsoft Entra ID et un autre connecteur.

Votre fichier de configuration doit maintenant contenir le code suivant :

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp
  - name: azureConnectulumApp

appgateways:
  - name: sonar
    host: sonar.maverics.com
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

  - name: connectulum
    host: connectulum.maverics.com
    location: /
    # Replace https://app.connectulum.com with the address of your protected application
    upstream: https://app.connectulum.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureConnectulumApp.authenticated}}", "true"]

    headers:
      email: azureConnectulumApp.name
      firstname: azureConnectulumApp.givenname
      lastname: azureConnectulumApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

  - name: azureConnectulumApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://connectulum.maverics.com/acs
    samlEntityID: https://connectulum.maverics.com

Vous avez peut-être remarqué que le code ajoute un champ host à vos définitions de passerelle d’application. Le champ host permet à Maverics Orchestrator de distinguer vers quel hôte en amont diriger le trafic proxy.

Pour vérifier que la passerelle d’application qui vient d’être ajoutée fonctionne comme prévu, effectuez une demande à https://connectulum.maverics.com.

Scénarios avancés

Migration d’identité

Vous ne supportez pas votre outil de gestion de l’accès web en fin de vie, mais vous n’avez aucun moyen de migrer vos utilisateurs sans réinitialisations de mot de passe de masse ? Maverics Orchestrator prend en charge la migration d’identité à l’aide de migrationgateways.

Passerelles de serveur web

Vous ne voulez pas remanier votre trafic réseau et proxy par le biais de Maverics Orchestrator ? Ce n’est pas un problème. Maverics Orchestrator peut être associé à des passerelles de serveur web (modules) pour offrir les mêmes solutions sans traitement proxy.

Synthèse

À ce stade, vous avez installé Maverics Orchestrator, créé et configuré une application d’entreprise dans Microsoft Entra ID, et configuré Orchestrator pour traiter par proxy une application protégée tout en exigeant une authentification et en appliquant une stratégie. Pour en savoir plus sur la façon dont Maverics Orchestrator peut être utilisé pour les cas d’usage de la gestion distribuée des identités, contactez Strata.

Étapes suivantes