paint-brush
Navigation dans les intégrations Microsoft Entra ID pour Slack, MongoAtlas, Salesforce et plus encorepar@socialdiscoverygroup
962 lectures
962 lectures

Navigation dans les intégrations Microsoft Entra ID pour Slack, MongoAtlas, Salesforce et plus encore

par Social Discovery Group9m2023/12/27
Read on Terminal Reader

Trop long; Pour lire

Microsoft Entra ID est une solution conviviale pour la gestion des identités et des accès. Cependant, malgré les instructions méticuleusement présentées par les fournisseurs, les spécialistes rencontrent souvent des problèmes lors de la configuration des intégrations avec des plateformes telles que Slack, Salesforce ou Datadog. L’équipe SDG a également été confrontée à ces défis et, dans cet article, nous proposerons des informations sur la manière de les surmonter et de les résoudre.
featured image - Navigation dans les intégrations Microsoft Entra ID pour Slack, MongoAtlas, Salesforce et plus encore
Social Discovery Group HackerNoon profile picture
0-item


À l'ère de l'évolution rapide de la technologie cloud, où l'infrastructure en tant que service (IaaS) et la plateforme en tant que service (PaaS) font partie intégrante de nombreux projets, la demande d'une intégration transparente de divers services cloud est indéniable. Microsoft, un acteur majeur dans ce paysage, a investi un temps considérable dans la création du service Microsoft Entra ID convivial. Cependant, malgré les instructions méticuleusement présentées par les fournisseurs, les spécialistes rencontrent souvent des problèmes lors de la configuration des intégrations avec des plateformes telles que Slack, Salesforce ou Datadog. La documentation ne parvient pas à fournir des réponses à des questions spécifiques.


L'équipe de Social Discovery Group a également été confrontée à ces défis, et dans cet article, nous vous proposerons des informations sur la façon de les surmonter et de les résoudre.

Dans son portefeuille de plus de 50 plateformes de rencontres, le Social Discovery Group utilise diverses technologies et services cloud pour garantir leur sécurité et leur fiabilité. Nous possédons une vaste expérience dans l’intégration et la configuration de différents systèmes, y compris les connexions peer-to-peer entre différents cloud.


Microsoft Entra ID est une solution cloud pour la gestion des identités et des accès, servant de service d'annuaire et d'authentification fonctionnant dans le cloud. Microsoft Entra ID propose des services d'authentification et d'autorisation pour divers services Microsoft et non Microsoft. Dans cet article, nous explorerons l'intégration des systèmes cloud suivants : Slack, MongoAtlas, ElasticCloud, Salesforce et Datadog.


Mou

Faute de guide précis, nous avons décidé de créer le nôtre, détaillant tous les maux de tête survenus en cours de route. Passons donc à la section « Application d’entreprise » dans Azure.

Application d'entreprise, Azure


Il est nécessaire de créer une nouvelle application entreprise (cela peut se faire en quelques clics). Ensuite, accédez à l'application que nous venons de créer et configurez Single Sign-On – SAML. Apportez des modifications de haut en bas :


  1. Identifiant : https://slack.com
  2. URL de réponse : https://<DOMAIN NAME>.slack.com/sso/saml (au cas où vous auriez entré Grid – https://<DOMAIN NAME>.enterprise.slack.com/sso/saml )
  3. URL de connexion : https://<NOM DE DOMAINE>.slack.com/sso/saml/start
  4. URL de déconnexion : https:// <NOM DE DOMAINE>.slack.com/sso/saml/logout

Créez un rôle « Membre » (ou choisissez un autre nom). Ensuite, créez un utilisateur test dans Microsoft Entra ID et ajoutez-le à notre application. Ensuite, accédez au Centre d’administration dans Slack. Suivez les étapes : Slack Admin - Authentification - Configuration SAML - Configurer


Centre d’administration dans Slack


L'étape suivante consiste à configurer SAML. Nous vous recommandons de prêter attention au paramètre « Nom d'affichage ». De plus, dans les paramètres, décochez « Mettre à jour le profil lors de la connexion », interdisez la modification de l'adresse e-mail et du nom d'affichage.

Configuration SAML


Il existe également une option pour personnaliser le texte sur le bouton de connexion et interdire aux utilisateurs de se connecter en utilisant toute autre méthode que SSO. Après cela, vous devriez pouvoir vous connecter à Slack en utilisant votre compte Microsoft. Si des champs ou des paramètres supplémentaires sont nécessaires, cela peut être effectué via Azure AD Provision.


Mise à disposition d'Azure AD


Mise à disposition d'Azure AD


Pour ajouter un nouvel attribut, accédez à Attributs utilisateur et sélectionnez Ajouter un nouveau mappage. Choisissez l'attribut source souhaité que vous souhaitez afficher dans Slack et associez-le à l'attribut Slack correspondant.


Attributs utilisateur

Attributs utilisateur


Après avoir ajouté les attributs nécessaires et enregistré les paramètres, passez à Provision on Demand pour tester la fonctionnalité. En cas de résultat positif, vous recevrez ce qui suit :


Provision on Demand, résultat réussi


Ensuite, vous devez accéder à Slack et spécifier quels attributs afficher dans le profil utilisateur complet et où les récupérer. Accédez à Profils et choisissez les informations à afficher et d'où elles seront extraites. Dans ce cas, SCIM correspond à Azure AD.


Profils Slack


Profils Slack


Ensuite, nous vous recommandons d'ajouter les utilisateurs nécessaires d'Active Directory à Slack pour bénéficier d'une intégration transparente. Nous souhaitons également attirer l'attention sur un problème rencontré lors de la suppression d'utilisateurs : si un utilisateur est supprimé manuellement de Slack (via le centre d'administration de Slack), une erreur persistera, indiquant que l'utilisateur ne peut pas être transféré vers Slack en raison d'autorisations insuffisantes. Cela se produit car Entra ID conserve des informations sur les utilisateurs dans le périmètre et leur attribue un ID unique. La suppression et le rajout d'un utilisateur dans Slack sont perçus comme un nouvel utilisateur par Entra ID, ce qui entraîne des problèmes d'autorisation lors des mises à jour.


Consultez la documentation ici .


MongoAtlas

Pour MongoAtlas, le processus suit un chemin similaire. Vous devrez également créer une nouvelle application d'entreprise ; pour plus de facilité, saisissez « MongoDB Atlas — SSO » dans le champ de recherche. Des instructions plus détaillées peuvent être trouvées ici.


Ensuite, passez aux paramètres d'authentification unique, où vous devrez saisir les éléments suivants :

  1. Dans le champ de texte « Identifiant », saisissez l'URL à l'aide du modèle suivant : https://www.okta.com/saml2/service-provider/<Customer_Unique>

  2. Dans le champ de texte « URL de réponse », saisissez l'URL à l'aide du modèle :

    https://auth.mongodb.com/sso/saml2/<Customer_Unique>

  3. Dans le champ de texte « URL de connexion », saisissez l'URL à l'aide du modèle : https://cloud.mongodb.com/sso/<Customer_Unique>

Nous vous recommandons de prêter attention à la section Attributs et de la configurer comme indiqué dans la capture d'écran ci-dessous (il était indispensable d'ajouter "memberOf").


Section Attributs


Ensuite, sur la page « Configuration de l'authentification unique avec SAML », accédez à la section « Certificat de signature SAML » et recherchez les métadonnées XML pour la fédération. Sélectionnez « Télécharger » pour télécharger le certificat et l'enregistrer localement (Federation Metadata XML). Nous en aurons besoin plus tard dans MongoDB Atlas.


Certificats SAML


Configuration de MongoDB Atlas - SSO


Dans la section « Configuration de MongoDB Atlas — SSO », copiez les URL respectives. Ensuite, accédez à MongoDB Atlas -> Organization -> Settings -> Federated Authentication Settings .


Paramètres d'authentification fédérée


Commencez par ajouter le fournisseur d’informations d’identification Microsoft Entra ID dans Atlas. Saisissez les URL respectives mentionnées à l'étape précédente à partir du portail Microsoft (URI de l'émetteur, URL de connexion, URL d'authentification unique) , téléchargez le certificat de signature du fournisseur d'identité et configurez les paramètres restants comme indiqué dans la capture d'écran ci-dessous .


Certificat de signature du fournisseur d'identité


Cliquez sur « Suivant » et enregistrez le fichier de métadonnées localement, car vous devrez le télécharger ultérieurement dans Azure sur la page de configuration de l'authentification unique.


Validation du domaine


Ensuite, ajoutez, mappez et validez le domaine, par exemple, à l'aide des enregistrements TXT correspondants générés dans MongoDB Atlas. Après cela, associez votre domaine au fournisseur d'informations d'identification et passez à la partie la plus intéressante : la configuration des rôles.


Fournisseurs d'identité


Nous avons créé les rôles suivants à titre d'exemple, chacun avec des autorisations spécifiques accordées aux projets. Ensuite, vous devez mapper ces rôles aux rôles Azure. Accédez aux « Rôles d'application » pour votre application, créez et ajoutez des rôles avec des valeurs correspondant exactement aux noms que vous venez d'attribuer à ces rôles dans MongoAtlas.


Mappages de rôles


Rôles d'application


Ensuite, ajoutez des utilisateurs à l'application dans l'application Microsoft Entra ID Enterprise et attribuez-leur les rôles appropriés. Activez « Connexion avec Azure SSO » dans la section Gestion de la fédération de MongoDB Atlas et vérifiez le bon fonctionnement des paramètres configurés.

Reportez-vous à la documentation ici pour des instructions plus détaillées.

Nuage élastique

Passons à l'intégration avec Elastic Cloud. Les étapes fondamentales pour créer une application dans Enterprise Application Entra ID sont similaires aux précédentes. Vous y trouverez des informations sur l'endroit où obtenir l'identifiant ou l'URL de déconnexion. Cependant, nous avons rencontré un problème avec les attributs, nous allons donc fournir une capture d'écran de notre configuration de travail.


Elastic Cloud, attributs


Les attributs


Nous avons créé deux rôles : un lecteur et un superutilisateur.


Les rôles


Ici, vous pouvez créer autant de rôles que nécessaire. Les paramètres de rôle dans Elasticsearch sont configurés dans les mappages de rôles et se présentent comme suit :


Mappages de rôles


Vient maintenant la partie intéressante. Deux choses doivent être faites : ajouter la configuration Azure SSO pour Kibana et Elasticsearch. Pour y parvenir, suivez ces étapes :

  1. Accédez à la section d'édition de votre déploiement Elasticsearch Cloud pour mettre à jour la configuration elasticsearch.yml. Ajoutez les lignes suivantes :


“ xpack:

security:

authc:

realms:

saml:

saml-azure-ad:

order: 2

attributes.principal: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"

attributes.groups: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role"

attributes.name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"

attributes.mail: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"

idp.metadata.path: "APP Federation metadata URL"

idp.entity_id: "Azure Entra ID Identifier"

sp.entity_id: "Kibana endpoint"

sp.acs: "Kibana endpoint/api/security/v1/saml"

sp.logout: "Kibana endpoint/logout" “

Après avoir ajouté et modifié les valeurs surlignées en rouge pour correspondre à votre configuration, cliquez sur « Enregistrer ». Elastic Cloud validera toutes les modifications et lancera la mise à jour du cluster. Ce processus peut durer quelques minutes.

  1. Une fois l'étape précédente terminée, vous devez modifier la configuration de kibana.yml pour autoriser les connexions à partir de Microsoft Entra ID en plus de la connexion par défaut. Pour ce faire, ajoutez les lignes suivantes aux paramètres :

“ xpack.security.authc.providers:

saml.saml1:

order: 0

realm: saml-azure-ad

description: "Log in with Azure Entra ID"

basic.basic1:

order: 1 ”

Après avoir terminé les deux étapes précédentes, une autre option de connexion devrait être disponible sur votre page de connexion Kibana. Ensuite, procédez à l'ajout d'utilisateurs à l'application dans l'application Microsoft Entra ID Enterprise et à leur attribuer les rôles nécessaires.


Reportez-vous à la documentation ici pour plus d'informations.



Force de vente

L'intégration avec Salesforce était un peu plus complexe que les précédentes. Les étapes initiales sont similaires, mais il convient d'accorder une attention particulière à la section Approvisionnement. Il existe des nuances concernant la spécification des informations d'identification de l'administrateur sous lesquelles la synchronisation des comptes aura lieu, et l'activation du mappage d'attributs est nécessaire.


Mappage d'attributs


Voici un exemple de nos paramètres de configuration dans la capture d'écran. Nous n'avons rencontré aucun problème significatif avec les attributs, mais nous fournirons également une capture d'écran de ceux que nous avons utilisés.


Attributs et revendications


Dans Salesforce lui-même, il n'y avait pas de nuances particulières et nous avons procédé aux étapes suivantes telles que décrites dans ce guide .


Chien de données

Lors de l'intégration avec Datadog, nous avons également rencontré quelques problèmes. La documentation principale qui nous a guidé peut être trouvée ici . Pour les nuances de dépannage, nous nous sommes référés à ce guide.


Tout a commencé sans problème et, au départ, il semblait qu’il n’y aurait aucun problème. Comme d'habitude, nous avons créé une nouvelle application d'entreprise dans Microsoft Entra ID.


Application d'entreprise dans Microsoft Entra ID


Dans la section « Configurer l'authentification unique avec SAML », faites attention à l'emplacement que vous avez sélectionné pour votre compte Datadog. Dans notre cas, il s’agissait de la région Europe.


Configurer l'authentification unique avec SAML


Comme mentionné précédemment, pour MongoAtlasDB, nous ajoutons l'attribut supplémentaire « memberOf » pour le mappage des rôles.


Attribut supplémentaire "memberOf"


Enregistrez tous les paramètres et téléchargez le XML des métadonnées de fédération. Téléchargez ce fichier dans les paramètres SAML de Datadog. Voici un lien pratique pour référence. Paramètres SAML de Datadog (remplacez « EU » par la zone de domaine appropriée si votre emplacement diffère). Cela devrait ressembler à la capture d'écran ci-dessous.


Paramètres SAML de Datadog


Dans les paramètres Méthodes de connexion de l'organisation, conservez uniquement ce qui est nécessaire (dans mon cas, j'ai désactivé la connexion par mot de passe et Google Authenticate). Ajoutez des rôles dans Azure dans l’enregistrement de l’application pour Microsoft Entra ID.


Rôles dans l'enregistrement de la candidature


Voici la partie la plus intéressante. Accédez à Mappages de groupes SAML -> Mappages de rôles dans Datadog et ajoutez la clé, la valeur et le rôle. Cela semble simple. Voir la capture d'écran ci-dessous.


Mappages de rôles dans Datadog


Mais cela ne fonctionne pas et continue de donner l'erreur "Il n'y a pas d'AuthNMappings pour cet utilisateur".


Erreur Datadog


Pendant un certain temps, nous avons essayé de comprendre ce que nous faisions de mal, en examinant toute la documentation, les journaux et les pages de dépannage. Malheureusement, cela n’a été mentionné nulle part. Au final, la solution est simple : suivez la configuration présentée dans la capture d'écran ci-dessous.


Clé d'attribut Datadog


Dans le champ CLÉ, saisissez la chaîne : http://schemas.microsoft.com/ws/2008/06/identity/claims/role

Après cela, tout a commencé à fonctionner avec succès.


« Il ne s'agit que d'une petite partie des systèmes que nous avons intégrés à Microsoft Entra ID. Nous espérons que les informations partagées ici constitueront une ressource utile, rationalisant vos processus d'intégration et vous faisant gagner un temps précieux. En conclusion, les avantages suivants de l'utilisation de Microsoft Entra ID peut être mis en avant : l'authentification unique, qui ne nécessite pas la saisie du mot de passe plusieurs fois ; aucun composant supplémentaire requis ; la facilité de configuration et d'administration ; les politiques de groupe et les groupes ; l'enregistrement de l'appareil ; et une sécurité de haut niveau.