Authentification Unique (SSO) avec Azure

Basée sur la procédure Authentification Unique (SSO) expliquée précédemment, cette fonctionnalité ajoute plus de sécurité et de commodité lors de la connexion à Nectari en utilisant Azure Active Directory (Azure AD).

Cette page vous aide à paramétrer Azure pour fonctionner parfaitement avec Nectari.

Tout d'abord, configurez le Domaine Azure, car c'est à partir de cette plateforme que nous récupérerons les données nécessaires pour correctement paramétrer Nectari.

Configuration du Domaine Azure

  1. Dans votre navigateur Web, allez sur https://portal.azure.com/ et entrez vos identifiants, si vous devez vous connecter.
  2. Dans le menu de gauche, cliquez sur Applications d'Entreprise.
  3. Dans la barre supérieure, cliquez sur + Nouvelle application.
  4. Sous la section Ajouter votre propre application, sélectionnez Application ne figurant pas dans la galerie.
  5. Dans le champ Nom, entrez un nom pour votre application et cliquez sur Ajouter.
  6. Sous la section Getting Started, sélectionnez 2. Configurer l'authentification unique.
  7. Sélectionnez SAML pour la méthode d'authentification unique.

Bien qu'il y ait 5 sections pour la méthode d'Authentification unique avec SAML, vous devez seulement paramétrer ce qui suit :

Note

Téléchargez le certificat du Domaine Azure à partir de la section Certificat de signature SAML et utilisez la section Configurer BI Web Server comme référence pour la correspondance avec les termes du Paquet d'Installation de Nectari. Ce point sera expliqué plus en détail dans Installation et Configuration du Serveur Nectari.

 

Configuration SAML de base
  1. Dans le coin supérieur droit, cliquez sur l'icône en forme de crayon pour modifier la section Configuration SAML de base.
  2. Dans le champ Identificateur (ID d'entité), entrez votre URL Nectari + :port suivi de l'Identificateur Unique pour votre Domaine Azure.
    Important

    Uniquement pour les utilisateurs qui n'ont jamais fait de liaison https pour les connexions externes : Prenez note de l'adresse URL utilisée pour le Client Web sur votre certificat afin de communiquer avec le Domaine Azure. Ce point sera expliqué plus en détail dans Installation et Configuration du Serveur Nectari.

    Exemple

    Ici, nous utilisons biwebserver.mycompany.com comme adresse URL, sur le port 444.

  3. Dans le champ URL de réponse (URL Assertion Consumer Service), entrez votre URL Nectari + :port suivi de /AuthServices/Acs.
Exemple

Ici, nous entrons biwebclient pour définir l'Identificateur Unique pour le Domaine Azure.

  1. Cliquez sur Enregistrer pour appliquer les changements.
  2. Dans le menu de gauche, sous la section Gérer, cliquez sur Utilisateurs et groupes.
  3. Dans la barre supérieure, cliquez sur + Ajouter un utilisateur pour ajouter les Utilisateurs et Groupes que vous autorisez à utiliser l'Authentification Unique (SSO).
  4. Ceci complète la section Configuration SAML de base.
Attributs et Revendications de l’Utilisateur

Le paquet d'installation pour la configuration de l'application Nectari renseigne automatiquement le champ SAML2 answer's Attribute for user name avec l'attribut mailnickname par défaut.

Note

Pour les utilisateurs installant l'Application Web Nectari pour la première fois : Veuillez noter que l'écran ci-dessus sera traité plus en détail dans Installation et Configuration du Serveur Nectari.

Pour le Domaine Azure, vous pouvez remplacer la valeur par l'un des attributs listés dans la section Attributs et Revendications de l’Utilisateur.

Si vous souhaitez utiliser l'attribut mailnickname (car vous souhaitez choisir que la partie de l'adresse courriel qui se situe avant le signe @), vous devrez le créer, puisque cet attribut n'existe pas par défaut dans le Domaine Azure.

Pour ce faire :

  1. Dans le menu de gauche, sous la section Gérer, cliquez sur Authentification Unique.
  2. Dans le coin supérieur droit, cliquez sur l'icône en forme de crayon pour modifier la section Attributs et Revendications de l’Utilisateur.
  3. Cliquez sur + Ajouter une nouvelle revendication.
  4. Dans le champ Nom, entrez mailnickname.
  5. Pour la Source, sélectionnez Attribut.
  6. Dans le champ Attribut de la Source, entrez user.mailnickname et cliquez sur Enregistrer pour terminer.

 

Installation et Configuration du Serveur Nectari

Avant de commencer l'installation ou la configuration du serveur Nectari, récupérez le certificat du Domaine Azure.

Pour ce faire :

  • Faites défiler jusqu'à la section Certificat de signature SAML et cliquez sur Télécharger à côté du champ Certificat (en base 64).
Important

Si Nectari est déjà installé, passez directement à Lier le Client Web. Sinon, suivez la procédure ci-dessous.

Pour une Première Installation de Nectari
Note

Cette correspondance avec les termes dans le Paquet d'Installation de Nectari est basée sur les sections Configuration SAML de base et Configurer BI Web Server dans le Domaine Azure.

Termes dans le Paquet d'Installation de Nectari

= Termes dans le Domaine Azure Valeur utilisée comme exemple dans ce document
SEI Issuer URI = Identificateur (ID d'entité) https://biwebserver.mycompany.com:444/biwebclient
ID Provider Issuer Name = Identificateur Azure AD https://sts.windows.net/c2c50f21-66a7-xxxx-xxxx-xxxxxxxxxxxx/
ID Provider URL = URL de connexion https://login.microsoftonline.com/c2c50f21-66a7-xxxx-xxxx-xxxxxxxxxxxx/saml2
  • Pour le champ Full certificate name, entrez le nom du certificat que vous avez téléchargé à partir du Domaine Azure avec l'extension .cer (par exemple : AzureBIWebServer.cer).
  • Vous devriez obtenir un résultat similaire à celui-ci :
  • Cliquez sur Next et terminez l'installation.

 

Lier le Client Web

En ajoutant une liaison https à votre Client Web à travers cette procédure, les connexions externes seront également sécurisées.

Pour ce faire :

  1. Appuyez sur la touche Windows + R pour ouvrir la fenêtre Exécuter.
  2. Entrez inetmgr et appuyez sur la touche Entrée.
  3. Dans le volet de gauche, cliquez sur la petite flèche pour développer la connexion.
  4. Dans l'onglet Sites, cliquez-droit sur WebClient et sélectionnez Liaisons...
  5. Dans la fenêtre Liaisons de Sites, cliquez sur Ajouter...
  6. Dans la liste déroulante Type, sélectionnez https.
    Note

    Pour cette connexion https, nous avons utilisé le numéro de port 444 mais libre à vous de le personnaliser selon vos préférences.

  1. Cliquez sur OK pour terminer.

Vous devriez obtenir un résultat similaire à celui-ci :

 

Modifier le fichier web.config

Afin de pleinement bénéficier de la fonctionnalité SSO de Azure, vous devrez modifier le fichier web.config situé dans C:\inetpub\wwwroot\WebClient.

  • Assurez-vous que l'attribut entityID de la balise sustainsys.saml2 a la même valeur que celle que vous avez définie dans le champ Identifier (Entity ID) de la section Basic SAML Configuration. Dans ce document nous avions défini "https://biwebserver.mycompany.com:444/biwebclient" comme valeur.
  • Une fois ouvert, modifiez les autres valeur dans le fichier web.config tel que décrit dans le tableau ci-dessous :
Attributs à modifier dans le fichier Nectari web.config Valeur avant modification Valeur après modification Commentaires
returnUrl "http://biwebserver.mycompany.com:444/" "https://biwebserver.mycompany.com:444/" Nous avons ajouté un s à http puisque nous voulons que cette connexion soit sécurisée
entityID de la balise identityProviders "https://stubidp.sustainsys.com/Metadata" "https://sts.windows.net/c2c50f21-66a7-xxxx-xxxx-xxxxxxxxxxxx/" C'est la valeur que vous récupérez à partir du champ Identificateur Azure AD dans la section Configurer BI Web Server
signOnUrl de la balise identityProviders "https://stubidp.sustainsys.com/" "https://login.microsoftonline.com/c2c50f21-66a7-xxxx-xxxx-xxxxxxxxxxxx/saml2" C'est la valeur que vous récupérez à partir du champ URL de Connexion de la section Configurer BI Web Server

 

Important

Les Navigateurs Web ont mis à jour leur politique concernant les Cookies et ces changements doivent être appliqués à votre Client Web si vous souhaitez intégrer Nectari à votre site ERP, ou utiliser l'Authentification Unique (SSO).

 

Attributs à modifier dans le fichier Nectari web.config Valeur avant modification Valeur après modification
cookieSameSite
<sessionState cookieSameSite="Lax"/>
<sessionState cookieSameSite="None"/>
httpOnlyCookies / requireSSL / sameSite
<httpCookies httpOnlyCookies="true" requireSSL="false" sameSite="Lax"/>
<httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="None"/>

 

Vous devriez obtenir un résultat similaire à celui-ci :

Concernant le Client Web
<sustainsys.saml2 entityId="https://biwebserver.mycompany.com:444/biwebclient" returnUrl="https://biwebserver.mycompany.com:444/" modulePath="/AuthServices">
        <identityProviders>
            <add entityId="https://sts.windows.net/c2c50f21-66a7-xxxx-xxxx-xxxxxxxxxxxx/" signOnUrl="https://login.microsoftonline.com/c2c50f21-66a7-xxxx-xxxx-xxxxxxxxxxxx/saml2" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
                <signingCertificate fileName="~/App_Data/AzureBIWebServer.cer"/>
            </add>
        </identityProviders>
</sustainsys.saml2>
Concernant les Cookies
<system.web>
        <sessionState cookieSameSite="None"/>
        <compilation targetFramework="4.8">
            <assemblies>
                <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            </assemblies>
        </compilation>
        <!-- change value of MaxHttpCollectionKeys to max int(2147483644) to webserver support recsive big data-->
        <httpRuntime targetFramework="4.8" maxUrlLength="10999" maxRequestLength="2147483644" executionTimeout="1600" useFullyQualifiedRedirectUrl="false" requestLengthDiskThreshold="2147483647" maxQueryStringLength="2097151"/>
        <httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="None"/>
</system.web>

Étape après l'Installation/Configuration

Copier le certificat du Domaine Azure
  • Copiez le certificat que vous avez téléchargé à partir du Domaine Azure et collez-le dans C:\inetpub\wwwroot\WebClient\App_Data.

 

Créer les Utilisateurs / Groupes dans Nectari
  • Référez-vous à Utilisateurs pour créer votre utilisateur Client Web en entrant la même valeur pour Nom d'utilisateur et SAML2 answer's Attribute for user name que vous aviez défini durant l'installation du paquet.
Exemple

Comme nous avions choisi mailnickname comme attribut, nous créons notre utilisateur comme indiqué ci-dessous :

Accéder à Nectari avec Azure SSO activé

Il existe 2 adresses URL que vous pouvez utiliser pour accéder à l'Application Web Nectari.

Pour Tous les Utilisateurs Pour les Utilisateurs SSO (Connexion Automatique)

Pour ce type d'utilisateurs, l'adresse est votre URL Nectari + :port suivi de /Account/Login.

Exemple

Si vous utilisez la configuration que nous avons défini dans ce document, l'adresse serait : https://biwebserver.mycompany.com:444/Account/Login

Ils devront cliquer sur Comptes Externes pour se connecter.

Pour ce type d'utilisateurs, l'adresse est votre URL Nectari + :port suivi de /Account/SSO.

Exemple

Si vous utilisez la configuration que nous avons défini dans ce document, l'adresse serait : https://biwebserver.mycompany.com:444/Account/SSO

Ils seront automatiquement authentifiés et connectés.

 

Important

Si vous rencontrez un message d'erreur comme celui-ci: [Account/SSO] name was not found in the claims collection, faites comme ce qui suit:

  • Ouvrez le fichier web.config situé dans C:\inetpub\wwwroot\WebClient et activez les journaux de type Verbose en modifiant la valeur de la clé serilog:minimum-level sous la balise appSettings.
  • Le journal sera disponible par la suite dans C:\inetpub\wwwroot\WebClient\App_Data\WebClientLogYYYYMMDD.txt.
  • Il vous aidera à vérifier les valeurs venant des Revendications d'Azure (Attributs et Revendications de l’Utilisateur).
  • Ensuite, si vous devez modifier SAML2 answer's Attribute, modifiez le fichier web.config situé dans C:\inetpub\wwwroot\WebClient et changez la valeur de ssoNameAttribute.

Note

Si vous êtes déconnecté de votre session, cliquez sur Comptes Externes dans la page de connexion.