Comment les partenaires peuvent mettre en place l’authentification unique avec ArcGIS : partie 1
Vous voulez rendre vos applications ArcGIS plus faciles d’accès pour vos clients? Dans ce premier billet de blogue d’une série de deux, les membres d’Esri Canada Brianna Kelly, spécialiste en solutions technologiques, et John Osborne, concepteur de solutions, vous présentent un processus étape par étape pour configurer l’authentification unique afin de simplifier la gestion et la sécurité des utilisateurs.
L’accès aux ressources au sein d’une application ArcGIS sécurisée s’articule autour de la notion d’identité. Cette identité, ou identité ArcGIS, est un justificatif d’utilisateur nommé qui définit les privilèges accordés à un utilisateur précis de votre application. S’il est possible d’effectuer toute la gestion des identités au sein d’ArcGIS, de nombreux partenaires commerciaux ont déjà adopté un système tiers de gestion des identités et de l’accès (IAM) pour contrôler l’accès à leur solution complète. Étant donné que les identités ArcGIS utilisent OAuth 2.0, un protocole d’autorisation standard de l’industrie, vous pouvez intégrer ces deux environnements et créer une expérience de connexion unique pour vos utilisateurs.
En utilisant une autorisation de vente approuvée, qui accorde aux partenaires qualifiés le droit d’inclure la technologie Esri dans le cadre de leur offre commerciale, les partenaires peuvent profiter des types d’utilisateurs partenaires, c’est-à-dire les identités ArcGIS exclusives aux partenaires commerciaux d’Esri qui peuvent être utilisées dans vos applications ArcGIS.
Ce tutoriel montre comment configurer des connexions SAML dans ArcGIS Enterprise avec Auth0, un système IAM populaire parmi les développeurs. La plupart des concepts abordés dans ces tutoriels s’appliquent également aux autres IAM pris en charge par ArcGIS Enterprise.
Les étapes de cette série de billets de blogue sont disponibles sur GitHub. Le référentiel GitHub comprend également les étapes facultatives mentionnées dans ce billet de blogue. Dans la deuxième partie de cette série de billets de blogue, nous montrons comment créer une application web d’authentification unique.
Bien que ces deux billets de blogue soient destinés à notre communauté de partenaires commerciaux et se concentrent sur les types d’utilisateurs partenaires dans ArcGIS Enterprise, les étapes décrites dans cette série peuvent servir à l’ensemble de la communauté d’utilisateurs d’Esri. Elles s’appliquent à tous les types d’utilisateurs ArcGIS, que ce soit sur ArcGIS Enterprise ou ArcGIS Online.
Vous voulez en savoir plus sur la façon de devenir membre du réseau des partenaires d’Esri? Obtenez plus d’information maintenant.
Pour suivre ce tutoriel, vous aurez besoin de ce qui suit, au minimum :
- ArcGIS Enterprise 11 (version minimale 10.9.1) – compte d’administrateur avec privilèges;
- abonnement annuel au type d’utilisateur Lite Partner (offert uniquement aux partenaires) ou abonnement annuel au type d’utilisateur Viewer;
- compte Auth0 – plan gratuit Auth0.
Aux fins de ce billet, votre environnement ArcGIS Enterprise sera configuré en vue d’utiliser Auth0 pour l’authentification de vos utilisateurs.
Maintenant que nous avons présenté ce qui sera couvert dans ce tutoriel et les exigences techniques, plongeons dans le vif du sujet!
Partie 1 : Configurer les paramètres par défaut des nouveaux membres dans ArcGIS Enterprise
Lorsque vous utilisez un IAM tel qu’Auth0 pour authentifier un utilisateur ArcGIS Enterprise, il est recommandé de configurer le type d’utilisateur et le rôle par défaut dont héritera un utilisateur Auth0 lors de sa connexion initiale.
- Connectez-vous à votre ArcGIS Enterprise en tant qu’administrateur.
- Sous l’onglet Organization (organisation), allez dans Settings (paramètres), puis dans New member defaults (paramètres par défaut des nouveaux membres).
- Cliquez sur l’icône en forme de crayon sous User type (type d’utilisateur).
- Sélectionnez Lite (léger) comme type d’utilisateur par défaut et sélectionnez Viewer (visionneur) comme rôle par défaut.
- Cliquez sur Save (enregistrer).
Pour plus de renseignements sur ce sujet, consultez la rubrique d’aide d’ArcGIS Online Configurer les paramètres par défaut des nouveaux membres.
Partie 2 : Configurer Auth0 comme fournisseur d’identité SAML pour ArcGIS Enterprise
- Connectez-vous à votre compte Auth0. Dans votre tableau de bord Auth0, cliquez sur Create Application (créer une application). Sélectionnez Single Page Web Application (application web monopage) et donnez un nom à votre nouvelle application, puis cliquez sur Create (créer).
- Sélectionnez JavaScript comme technologie que vous utilisez pour votre application web.
- Sous les paramètres (Settings) de l’application nouvellement créée, développez les paramètres avancés (Advanced Settings).
- Sélectionnez Endpoints (points de terminaison) et copiez l’URL des métadonnées SAML.
- Connectez-vous à votre ArcGIS Enterprise en tant qu’administrateur.
- Sous l’onglet Organization (organisation), allez dans Settings (paramètres) et sélectionnez Security (sécurité).
- Sous Logins (connexions), sélectionnez New SAML login (nouvelle connexion SAML). C’est ici qu’Auth0 sera configuré comme fournisseur d’identité de connexion SAML.
- Sélectionnez One identity provider (un fournisseur d’identité) et cliquez sur Next (suivant).
- Donnez un nom à l’organisation.
- Sous Your users will be able to join (vos utilisateurs pourront se joindre), sélectionnez Automatically (automatiquement).
- Sous Metadata source for Enterprise Identity Provider (source de métadonnées du fournisseur d’identité de l’entreprise), assurez-vous que l’option URL est sélectionnée, puis collez dans le champ l’URL de métadonnées SAML copiée à l’étape 4.
- Cliquez sur Save (enregistrer).
Ces étapes définissent les paramètres de configuration minimaux requis pour inviter les utilisateurs Auth0 à se joindre à votre portail ArcGIS Enterprise. Les utilisateurs Auth0 se joindront automatiquement lorsqu’ils se connecteront au portail ArcGIS Enterprise pour la première fois. Si vous préférez inviter les utilisateurs Auth0, consultez la rubrique d’aide de Portal for ArcGIS Ajouter des membres à votre portail. Les autres étapes de configuration se poursuivent dans la partie 3.
Partie 3 : Configurer ArcGIS Enterprise comme fournisseur de services pour Auth0
- Connectez-vous à votre ArcGIS Enterprise en tant qu’administrateur.
- Sous l’onglet Organization (organisation), allez dans Settings (paramètres), puis dans Security (sécurité).
- Sous Logins (connexions), à côté de Auth0 login > SAML login, sélectionnez Configure login (configurer la connexion).
- Dans la boîte de dialogue Edit SAML login (modifier la connexion SAML), sélectionnez Download service provider metadata (télécharger les métadonnées du fournisseur de services) pour extraire les métadonnées d’ArcGIS Enterprise dont vous aurez besoin pour configurer Auth0.
- Enregistrez et ouvrez le fichier XML téléchargé.
- Localisez la balise « AssertionConsumerService ». Copiez l’URL indiquée sous l’attribut Location (emplacement). L’URL doit suivre ce modèle :
https://hostname.fqdn/webadaptor/sharing/rest/oauth2/saml/signin
- Dans votre tableau de bord Auth0, sélectionnez Applications, puis accédez à votre application ArcGIS.
- Sélectionnez l’onglet Addons (extensions).
- Activez l’extension SAML2 WEB APP. La boîte de dialogue de configuration s’ouvre.
- Sélectionnez l’onglet Settings (paramètres) et collez l’URL copiée à l’étape 6 dans le champ de saisie Application Callback URL (URL de rappel de l’application).
- Faites défiler jusqu’au bas de la boîte de dialogue de configuration et sélectionnez Enable (activer) et Save (enregistrer).
Vous avez maintenant configuré Auth0 comme fournisseur d’identité qui envoie des réponses SAML à ArcGIS Enterprise.
Partie 4 : Personnaliser l’assertion SAML Auth0
- Dans votre tableau de bord Auth0, cliquez sur Applications, puis sélectionnez votre application ArcGIS.
- Accédez à l’onglet Addons (extensions).
- Sélectionnez SAML2 WEB APP pour ouvrir la boîte de dialogue de configuration.
- Accédez à l’onglet Settings (paramètres), puis remplacez le texte JSON dans le champ Settings (paramètres) par le texte suivant :
```
{
"mappings": {
"nickname": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
"email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
"name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
"given_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
"family_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname",
"upn": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
"groups": "http://schemas.xmlsoap.org/claims/Group"
}
}
```
- Cliquez sur Save (enregistrer).
Le nom d’utilisateur et le profil d’identité Auth0 sont désormais correctement codés dans l’assertion SAML renvoyée à ArcGIS Enterprise. Pour plus de renseignements sur ce sujet, consultez la rubrique d’aide d’Auth0 Personnaliser les assertions SAML.
Partie 5 : Configurer les paramètres SAML avancés dans ArcGIS Enterprise
- Connectez-vous à ArcGIS Enterprise en tant qu’administrateur.
- Sous l’onglet Organization (organisation), allez dans Settings (paramètres), puis dans Security (sécurité).
- Sous Logins (connexions), à côté de Auth0 login > SAML login, sélectionnez Configure login (configurer la connexion).
- Dans la boîte de dialogue Edit SAML login (modifier la connexion SAML), sélectionnez Show advanced settings (afficher les paramètres avancés).
- Activez les paramètres suivants :
- Enable signed request (activer la demande signée).
- Sign using SHA256 (signature SHA256).
- Propagate logout to Identity Provider (propager la déconnexion au fournisseur d’identité).
Bien que le chiffrement de l’assertion SAML ne soit pas nécessaire pour réaliser ce tutoriel, il s’agit d’une meilleure pratique recommandée pour sécuriser les environnements de production. Pour chiffrer l’assertion, une règle Auth Pipeline doit être configurée dans le tableau de bord d’Auth0. Pour en savoir plus sur les règles Auth Pipeline, consultez la rubrique d’aide d’Auth0 Signer et chiffrer les requêtes SAML. Les étapes supplémentaires nécessaires au chiffrement de l’assertion sont incluses dans le référentiel GitHub associé à ce billet de blogue.
- Cliquez sur Save (enregistrer).
- Ouvrez le fichier texte de configuration d’ArcGIS. Localisez la balise « SingleLogoutService ». Copiez l’URL indiquée sous l’attribut Location (emplacement). L’URL doit suivre ce modèle :
https://hostname.fqdn/webadaptor/sharing/rest/oauth2/saml/signout
- Dans votre tableau de bord Auth0, sélectionnez Applications, puis accédez à votre application ArcGIS.
- Sélectionnez l’onglet Addons (extensions).
- Sélectionnez SAML2 WEB APP pour ouvrir la boîte de dialogue de configuration.
- Accédez à l’onglet Settings (paramètres), puis remplacez le texte JSON dans le champ Settings (paramètres) par le texte suivant :
```
{
"logout": {
"callback": "REPLACE_WITH_SIGNOUT_URL_FROM_ARCGIS_METADATA",
"slo_enabled": true
},
"mappings": {
"nickname": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
"email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
"name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
"given_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
"family_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname",
"upn": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
"groups": "http://schemas.xmlsoap.org/claims/Group"
}
}
```
Remarque : Veillez à utiliser l’URL copiée à l’étape 7 ci-dessus comme paramètre de rappel.
- Cliquez sur Save (enregistrer). Fermez la boîte de dialogue.
- Allez à Settings (paramètres) dans votre application monopage Auth0.
- Ajoutez le paramètre d’appel copié à l’étape 7 aux URL de rappel autorisées (Allowed Callback URLs).
- Cliquez sur Save Changes (enregistrer les modifications).
La signature de la requête SAML envoyée par ArcGIS Enterprise à Auth0 permet de sécuriser les transactions entre chaque environnement. Vous pouvez sécuriser davantage cette communication en chiffrant l’assertion créée par Auth0. Enfin, ArcGIS Enterprise est maintenant configuré pour notifier Auth0 lorsqu’un utilisateur se déconnecte d’ArcGIS Enterprise.
Et ensuite?
Ceci conclut le premier billet de blogue de notre série de deux. Pour en savoir plus sur la création d’une application web d’authentification unique, consultez la deuxième partie.
Si vous souhaitez ajouter la technologie ArcGIS à une application commerciale ou si vous avez des questions sur le processus d’autorisation de vente, veuillez nous contacter à l’adresse bpp@esri.ca.