Introduction
Ce document décrit comment configurer l'authentification unique (SSO) dans AppDynamics et résoudre les problèmes.
Conditions préalables
Exigences
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Pour configurer l'authentification unique, l'utilisateur doit disposer du rôle Propriétaire de compte (par défaut) ou d'un rôle personnalisé avec l'autorisation Administration, Agents, Assistant Mise en route.
- Accès administrateur à votre compte IdP.
- Métadonnées ou détails de configuration d'AppDynamics (par exemple, ID d'entité, URL ACS).
Composants utilisés
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
L'authentification unique (SSO) est un mécanisme d'authentification qui permet aux utilisateurs de se connecter une seule fois et d'accéder à plusieurs applications, systèmes ou services sans devoir s'authentifier à nouveau pour chacun d'eux.
Le langage SAML (Security Assertion Markup Language) est l'une des technologies utilisées pour implémenter SSO. Il fournit le cadre et les protocoles qui permettent l'authentification unique en échangeant en toute sécurité des données d'authentification et d'autorisation entre un fournisseur d'identité (IdP) et un fournisseur de services (SP).
Assertion SAML
- Les messages XML échangés entre le fournisseur d'identité et le fournisseur de services.
- Il fournit trois types d'assertions :
- Assertions d'authentification : Confirme que l'utilisateur a été authentifié.
- Assertions d'attribut : Partage les attributs utilisateur, tels que le nom d'utilisateur ou les rôles.
- Affirmations de décision d'autorisation : Indique ce que l'utilisateur est autorisé à faire.
Rôles clés dans SAML
- Fournisseur d'identité (IdP)
- Vérifie l'identité de l'utilisateur.
- Générez l'assertion SAML qui contient les informations d'identification de l'utilisateur.
- Fournisseur de services (SP)
- Application ou système auquel l'utilisateur souhaite accéder.
- Se fie au fournisseur d'identité pour authentifier l'utilisateur.
- Accepte l'assertion SAML pour accorder à l'utilisateur l'accès à ses ressources ou à son application.
- Utilisateur (Principal)
- Utilisateur ayant initié la demande ou essayant d'accéder à une ressource à partir du fournisseur de services.
- Interagit à la fois avec le fournisseur d'identité (authentification) et le fournisseur de services.
Remarque : AppDynamics prend en charge les SSO initiés par IdP et SP.
Flux initié par SP :
- L'utilisateur accède au fournisseur de services en tapant l'URL de l'application (par exemple, AppDynamics) ou en cliquant sur un lien.
- Le SP recherche une session existante. S'il n'existe aucune session, le SP reconnaît que l'utilisateur n'est pas authentifié et lance le processus SSO.
- Le SP génère une demande d'authentification SAML et redirige l'utilisateur vers le fournisseur d'identité pour authentification.
- Cette demande inclut :
- ID d'entité : Identificateur unique du fournisseur de services.
- URL ACS (Assertion Consumer Service) : où le fournisseur d'identité envoie l'assertion SAML après authentification.
- Métadonnées relatives au SP et aux détails de sécurité (par exemple, demande signée, exigences de cryptage).
- L'utilisateur est redirigé vers la page de connexion du fournisseur d'identité.
- Le fournisseur d'identité authentifie l'utilisateur (par exemple, via un nom d'utilisateur/mot de passe ou une authentification multifacteur).
- Après une authentification réussie, le fournisseur d'identité génère une assertion SAML (jeton de sécurité).
- L'assertion SAML est renvoyée au SP via le navigateur de l'utilisateur à l'aide de la liaison HTTP POST (dans la plupart des cas) ou de la liaison HTTP Redirect.
- Le SP valide l'assertion SAML pour s'assurer :
- Il a été émis par le fournisseur d'identité approuvé.
- Il est adressé au SP (via l'ID d'entité SP).
- Il n'a pas expiré ou n'a pas été falsifié (validé à l'aide de la clé publique IdP).
- Si l'assertion SAML est valide, le SP crée une session pour l'utilisateur.
- L'utilisateur a accès à l'application ou aux ressources.
Flux initié par IdP :
- L'utilisateur accède au portail de connexion IdP et entre ses informations d'identification.
- Le fournisseur d'identité authentifie l'utilisateur (par exemple, avec une combinaison nom d'utilisateur/mot de passe, authentification multifacteur).
- Après l'authentification, le fournisseur d'identité présente à l'utilisateur une liste des applications ou des services (SP) auxquels il peut accéder.
- L'utilisateur sélectionne le SP souhaité (par exemple, AppDynamics).
- Le fournisseur d'identité génère une assertion SAML pour le fournisseur de services sélectionné.
- L'IdP redirige l'utilisateur vers l'URL du service client d'assertion SP (ACS) et envoie l'assertion SAML avec elle (à l'aide de la liaison HTTP POST ou de la liaison de redirection HTTP).
- Le SP reçoit l'assertion SAML et la valide :
- Garantit que l'assertion est émise par un fournisseur d'identité approuvé.
- Vérifie l'intégrité et l'expiration des assertions.
- Confirme l'identité de l'utilisateur et d'autres attributs.
- Si l'assertion SAML est valide, le SP crée une session pour l'utilisateur.
- L'utilisateur a accès à l'application ou aux ressources.
Configurer
Le contrôleur AppDynamics peut utiliser l'identité du client Cisco ou un fournisseur d'identité SAML externe (IdP) pour authentifier et autoriser les utilisateurs.
Fournisseurs d'identités pris en charge
AppDynamics certifie la prise en charge de ces fournisseurs d'identité (IdP) :
- Okta
- Onelogin
- Identité Ping
- Azure AD
- Identité cloud IBM
- Service de fédération Active Directory (AD FS)
D'autres IdP prenant en charge la liaison HTTP POST sont également compatibles avec l'authentification SAML AppDynamics.
Étapes de configuration de SAML dans AppDynamics
Étape 1. Collecter les détails du contrôleur AppDynamics
- Entity ID (SP Entity ID) : identifiant unique pour AppDynamics (par exemple, https://<controller-host>:<port>/controller).
- Syntaxe: https://<domaine_contrôleur>/contrôleur
- exemple : https://<votre_domaine_contrôleur>/contrôleur
- URL de réponse (Assertion Consumer Service, ACS URL) : point de terminaison sur le fournisseur de services (par exemple, AppDynamics) où le fournisseur d'identité envoie la réponse SAML après l'authentification.
- URL de déconnexion unique (Facultatif) : point de terminaison sur le SP pour gérer les demandes de déconnexion SAML (par exemple, https://<controller_domain>/controller).
Étape 2. Créer une nouvelle application dans IdP et télécharger les métadonnées
- Localisez la zone de création d'applications : elle se trouve généralement dans la console d'administration ou le tableau de bord du fournisseur d'identités, souvent appelée Applications, Applications Web et mobiles, Applications d'entreprise ou Parties utilisatrices.
- Add a custom or generic SAML application : sélectionnez une option qui vous permet de configurer une application SAML personnalisée ou une intégration de fournisseur de services SAML générique.
- Fournir les détails de l'application : donnez un nom à l'application et téléchargez éventuellement une icône pour identification (facultatif).
- Ajoutez des mappages d'attributs (Username, displayName, email ou roles) pour transmettre les informations utilisateur à AppDynamics.
- Téléchargez le fichier de métadonnées IdP ou notez les détails suivants :
- URL de connexion IdP
- URL de déconnexion
- Noms des attributs
- Certificat
Étape 3. Configuration de l'authentification SAML dans AppDynamics Controller
- Connectez-vous à l'interface utilisateur du contrôleur en tant que propriétaire de compte ou rôle avec l'autorisation Administration, Agents, Assistant Mise en route.
- Cliquez sur votre nom d'utilisateur(coin supérieur droit)> Administration > Authentication Provider > Select SAML.
- Dans la section Configuration SAML, ajoutez ces détails :
-
URL de connexion : URL de connexion IdP où AppDynamics Controller route les demandes de connexion initiées par le fournisseur de services.
-
URL de déconnexion (facultatif) : URL vers laquelle AppDynamics Controller redirige les utilisateurs après leur déconnexion. Si vous ne spécifiez pas d'URL de déconnexion, les utilisateurs obtiennent l'écran de connexion AppDynamics lorsqu'ils se déconnectent.
-
Certificat: Certificat X.509 du fournisseur d'identité. Collez le certificat entre les délimiteurs BEGIN CERTIFICATE et END CERTIFICATE. Évitez de dupliquer les délimiteurs BEGIN CERTIFICATE et END CERTIFICATE à partir du certificat source.
- Chiffrement SAML (Facultatif) : vous pouvez améliorer la sécurité de l'authentification SAML en chiffrant la réponse SAML du fournisseur d'identités vers le fournisseur de services. Pour chiffrer les réponses SAML dans AppDynamics, vous devez configurer votre fournisseur d'identités (IdP) pour chiffrer l'assertion SAML, puis configurer le contrôleur AppDynamics pour utiliser un certificat et une clé privée spécifiques pour le déchiffrement.
- Dans la section Mappages d'attributs SAML, mappez les attributs SAML (exemple : Nom d'utilisateur, DisplayName, Email) à leurs champs correspondants dans AppDynamics.
Remarque : AppDynamics affiche le nom d'utilisateur, le courrier électronique et le nom d'affichage d'un utilisateur SAML. Par défaut, il utilise l'attribut NameID de la réponse SAML pour créer un nom d'utilisateur, qui est également utilisé comme displayName. Ce comportement peut être personnalisé en incluant les attributs username, email et displayname dans la réponse SAML. Lors de la configuration des paramètres IdP dans AppDynamics, l'utilisateur peut spécifier ces noms d'attribut. Lors de la connexion, AppDynamics vérifie si le mappage d'attribut est configuré. Si des mappages sont configurés et que des attributs correspondants sont présents dans la réponse SAML, AppDynamics utilise ces valeurs d'attribut pour définir le nom d'utilisateur, l'e-mail et le nom d'affichage.
- Dans la section Mappages de groupes SAML, ajoutez ces détails.
- Nom d'attribut de groupe SAML : saisissez le nom de l'attribut SAML qui contient les informations de groupe. Il s'agit généralement de Groupes, ou de groupes ou de rôles, ou de Rôles ou d'appartenance à un groupe.
- Valeur d'attribut de groupe : sélectionnez le format de valeur approprié pour l'attribut de groupe. Les options courantes sont Valeurs de groupe imbriquées multiples ou Valeur unique, selon la façon dont votre fournisseur d'identité structure les informations de groupe.
Remarque : Sélectionnez Valeur au format LDAP si les informations de groupe sont fournies au format LDAP (Lightweight Directory Access Protocol).
- Mapping of Group to Roles : cliquez sur le bouton + pour ajouter un nouveau mapping.
- Groupe SAML : saisissez le nom du groupe SAML (tel que défini dans votre fournisseur d'identité) que vous souhaitez mapper à un rôle AppDynamics.
- Rôle(s) : sélectionnez le ou les rôles AppDynamics correspondants dans la liste disponible que vous souhaitez attribuer aux utilisateurs appartenant au groupe SAML.
- Autorisations par défaut : si le mappage de groupe SAML n'est pas configuré ou si une assertion SAML d'utilisateur n'inclut pas d'informations de groupe, AppDynamics revient à utiliser les autorisations par défaut.
Remarque : Il est recommandé d'attribuer un rôle avec des autorisations minimales aux autorisations par défaut.

- Dans la section Attribut d'accès SAML, ajoutez les détails suivants (facultatif) :
- Attribut d'accès SAML : Saisissez le nom des attributs de la réponse SAML. Il sera utilisé pour la validation de l'accès.
- Valeur de comparaison d'accès : deux options sont disponibles :
- Égal : L'accès est accordé uniquement si la valeur d'attribut de la réponse SAML correspond exactement à la valeur spécifiée dans la configuration.
- Contient : L'accès est accordé si la valeur d'attribut de la réponse SAML contient la valeur spécifiée dans la configuration.
- Fonctionnement si cette option est activée :
- AppDynamics récupère l'attribut spécifié dans le champ Attribut d'accès SAML à partir de la réponse SAML.
- Il compare la valeur de l'attribut à la valeur de comparaison d'accès définie par l'utilisateur en fonction de la méthode sélectionnée (Égal à ou Contient).
- Si la comparaison réussit, l'utilisateur est autorisé à y accéder.
- Si la comparaison échoue, la tentative de connexion est refusée.
- Cliquez sur Save (Save (Bas à droite) pour enregistrer la configuration.
Vérifier
- Ouvrez un navigateur et accédez à AppDynamics Controller. La boîte de dialogue Connexion de votre service fournisseur d'identité tiers s'affiche.
- Cliquez sur Connexion avec authentification unique. Le système vous redirige vers votre fournisseur d'identité.
- Saisissez et envoyez vos informations d'identification.
- Une fois l'authentification réussie, le fournisseur d'identité vous redirige vers votre AppDynamics Controller.
Problèmes courants et solution
400 Requête incorrecte
-
Autorisations utilisateur manquantes
- Problème : vous vous êtes correctement connecté au contrôleur. Cependant, vous n'avez pas reçu les rôles et autorisations prévus.
- Exemple de configuration et de réponse SAML :
- Problèmes courants et solution
- Aucun attribut de groupe trouvé dans la réponse SAML.
- Les attributs de groupe requis sont manquants dans la réponse SAML du fournisseur d'identité ou le nom d'attribut des groupes dans la réponse SAML est défini comme Rôles alors que dans AppDynamics, il est configuré comme Groupes.
- Lorsqu'aucun attribut de groupe n'est fourni, les rôles associés aux autorisations par défaut dans AppDynamics sont automatiquement affectés à l'utilisateur.
- Pour résoudre ce problème, assurez-vous que le fournisseur d'identité est configuré pour inclure les attributs de groupe corrects dans la réponse SAML et que le nom d'attribut des groupes correspond à la configuration dans AppDynamics.
- Aucun mappage de groupe SAML correspondant n'est configuré dans AppDynamics pour les groupes d'utilisateurs fournis dans la réponse SAML.
- Dans la réponse SAML, l'attribut Groups contient les valeurs AppD_Admin et AppD_Power_User. Toutefois, dans AppDynamics, les mappages de groupe existent uniquement pour le groupe AppD_Account_Owner.
- Comme il n'existe aucun mappage correspondant pour AppD_Admin ou AppD_Power_User, aucun rôle ni aucune autorisation n'est attribué à l'utilisateur.
- Pour résoudre ce problème, ajoutez les mappages de groupe manquants (par exemple, AppD_Admin et AppD_Power_User) dans AppDynamics pour garantir l'attribution correcte des rôles et des autorisations.
Remarque : Les autorisations par défaut ne sont appliquées aux utilisateurs SAML que lorsque le nom d'attribut de groupe SAML configuré dans AppDynamics est différent des attributs Groupes de la réponse SAML.
-
E-mail et/ou nom manquants ou incorrects pour les utilisateurs SAML
- Cause première : cette erreur se produit généralement lorsque l'URL du contrôleur configurée dans la base de données du contrôleur ne correspond pas à l'URL du contrôleur utilisée pour la connexion ou à l'URL configurée sur le fournisseur d'identité
- Solution :
- Pour Les Contrôleurs Sur Site :
- Exécutez cette commande pour mettre à jour l'URL du contrôleur (recommandé).
curl -k --basic --user root@system --header "Content-Type: application/json" --data '{ "controllerURL": "https:///controller" }' http:///controller/rest/accounts//update-controller-url
- Vous pouvez également exécuter ces commandes dans la base de données du contrôleur pour mettre à jour l'URL du contrôleur.
UPDATE controller.account SET controller_url ='' WHERE id=;
UPDATE mds_auth.account SET controller_url='' WHERE name='';
- Pour les contrôleurs SaaS : Déposez une demande d'assistance pour que l'équipe d'assistance puisse résoudre ce problème.
Besoin d'une assistance supplémentaire
Si vous avez une question ou rencontrez des problèmes, créez un ticket d'assistance avec les informations suivantes :
- Error Details or Screenshot : fournissez un message d'erreur spécifique ou une capture d'écran du problème.
- Réponse SAML : collecte des fichiers SAML-Trace et HAR
- Controller Server.log (On-Prem uniquement) : le cas échéant, fournissez les journaux du serveur contrôleur à partir de <controller-install-dir>/logs/server.log
Informations connexes
Documentation AppDynamics
SAML pour les déploiements SaaS
Chiffrer les réponses SAML pour les déploiements SaaS