Einleitung
In diesem Dokument wird beschrieben, wie Sie SSO (Single Sign On) in AppDynamics konfigurieren und Probleme beheben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Um die einmalige Anmeldung konfigurieren zu können, muss der Benutzer über die Rolle des Kontoinhabers (Standard) oder eine benutzerdefinierte Rolle mit der Berechtigung Administration, Agents, Getting Started Wizard (Assistenten für den Einstieg)verfügen.
- Administratorzugriff auf IhrIdPaccount.
- Die Metadaten oder Konfigurationsdetails aus AppDynamics (z. B. Entitäts-ID, ACS-URL).
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Single Sign-On (SSO) ist ein Authentifizierungsmechanismus, mit dem sich Benutzer einmalig anmelden und auf mehrere Anwendungen, Systeme oder Services zugreifen können, ohne sich für jede Anwendung erneut authentifizieren zu müssen.
Die Security Assertion Markup Language (SAML) ist eine der Technologien zur Implementierung von SSO. Sie stellt das Framework und die Protokolle bereit, die SSO ermöglichen, indem Authentifizierungs- und Autorisierungsdaten sicher zwischen einem Identity Provider (IdP) und einem Service Provider (SP) ausgetauscht werden.
SAML-Assertion
- Der XML-basierte Nachrichtenaustausch zwischen IdP und SP.
- Es gibt drei Arten von Assertionen:
- Authentifizierungsbestätigungen: Bestätigt die Authentifizierung des Benutzers.
- Attribut-Assertionen: Gibt Benutzerattribute wie den Benutzernamen oder die Rollen frei.
- Bestätigung der Autorisierungsentscheidung: Gibt an, wozu der Benutzer autorisiert ist.
Schlüsselrollen in SAML
- Identitätsanbieter (IdP)
- Überprüft die Identität des Benutzers.
- Generieren Sie die SAML Assertion, die Identifikationsinformationen des Benutzers enthält.
- Service Provider
- Die Anwendung oder das System, auf die bzw. das der Benutzer zugreifen möchte.
- Der Benutzer wird durch den IdP authentifiziert.
- Akzeptiert die SAML-Assertion, um dem Benutzer Zugriff auf seine Ressourcen oder Anwendungen zu gewähren.
- Benutzer (Principal)
- Der Benutzer, der die Anforderung initiiert oder versucht, vom Dienstanbieter auf eine Ressource zuzugreifen.
- Interaktion mit dem IdP (Authentifizierung) und dem SP.
Anmerkung: AppDynamics unterstützt sowohl vom IdP initiierte als auch vom SP initiierte SSO.
Vom SP initiierter Fluss:
- Der Benutzer navigiert zum Dienstanbieter, indem er die URL der Anwendung (z. B. AppDynamics) eingibt oder auf einen Link klickt.
- Der SP sucht nach einer vorhandenen Sitzung. Wenn keine Sitzung besteht, erkennt der SP, dass der Benutzer nicht authentifiziert ist, und initiiert den SSO-Prozess.
- Der SP generiert eine SAML-Authentifizierungsanforderung und leitet den Benutzer zur Authentifizierung an den IdP weiter.
- Diese Anfrage umfasst:
- Entitäts-ID: Eindeutige Kennung des Dienstanbieters.
- Assertion Consumer Service (ACS)-URL: wobei IdP die SAML Assertion nach der Authentifizierung sendet.
- Metadaten über den SP und Sicherheitsdetails (z. B. signierte Anforderung, Verschlüsselungsanforderungen).
- Der Benutzer wird zur IdP-Anmeldeseite weitergeleitet.
- Der IdP authentifiziert den Benutzer (z. B. über Benutzername/Kennwort oder Multi-Faktor-Authentifizierung).
- Nach erfolgreicher Authentifizierung generiert das IdP eine SAML Assertion (Sicherheitstoken).
- Die SAML Assertion wird über den Benutzerbrowser mit HTTP POST Binding (in den meisten Fällen) oder HTTP Redirect Binding zurück an den SP gesendet.
- Der SP validiert die SAML Assertion, um Folgendes sicherzustellen:
- Sie wurde von der vertrauenswürdigen IDp ausgegeben.
- Sie wird an den SP adressiert (über die SP Entity ID).
- Sie ist nicht abgelaufen oder wurde manipuliert (mithilfe des öffentlichen IdP-Schlüssels validiert).
- Wenn die SAML Assertion gültig ist, erstellt der SP eine Sitzung für den Benutzer.
- Dem Benutzer wird der Zugriff auf die Anwendung oder Ressourcen gewährt.
Von IdP initiierter Fluss:
- Der Benutzer navigiert zum IdP-Anmeldeportal und gibt seine Anmeldeinformationen ein.
- Der IdP authentifiziert den Benutzer (z. B. mit einer Kombination aus Benutzername und Kennwort, mehrstufige Authentifizierung).
- Nach der Authentifizierung erhält der Benutzer durch die IdP eine Liste der verfügbaren Anwendungen oder Dienste (SPs), auf die er zugreifen kann.
- Der Benutzer wählt den gewünschten SP aus (z. B. AppDynamics).
- Der IdP generiert eine SAML Assertion für den ausgewählten SP.
- Der IdP leitet den Benutzer an die ACS-URL (SP Assertion Consumer Service) weiter und sendet die SAML Assertion mit (unter Verwendung von HTTP POST Binding oder HTTP Redirect Binding).
- Der SP erhält die SAML Assertion und validiert sie:
- Stellt sicher, dass die Assertion von einer vertrauenswürdigen IDp ausgegeben wird.
- Überprüft die Assertionsintegrität und den Ablauf.
- Bestätigt die Benutzeridentität und andere Attribute.
- Wenn die SAML Assertion gültig ist, erstellt der SP eine Sitzung für den Benutzer.
- Dem Benutzer wird der Zugriff auf die Anwendung oder Ressourcen gewährt.
Konfigurieren
Der AppDynamics Controller kann die Cisco-Kundenidentität oder einen externen SAML-Identitätsanbieter (IdP) verwenden, um Benutzer zu authentifizieren und zu autorisieren.
Unterstützte Identitätsanbieter
AppDynamiczertifiziert die Unterstützung dieser Identitätsanbieter (IdPs):
- Okta
- Onelogin
- Ping-Identität
- Azure AD
- IBM Cloud-Identität
- Active Directory-Verbunddienst (AD FS)
Andere IdPs, die HTTP POST-Bindungen unterstützen, sind ebenfalls mit der AppDynamics SAML-Authentifizierung kompatibel.
Schritte zum Konfigurieren von SAML in AppDynamics
Schritt 1. Erfassen der AppDynamics-Controller-Details
- Element-ID (SP-Element-ID): Eine eindeutige Kennung für AppDynamics (z. B. https://<Controller-Host>:<Port>/Controller).
- Syntax: https://<Controller_Domain>/Controller
- beispiel: https://<Ihr_Controller_Domäne>/Controller
- Antwort-URL (Assertion Consumer Service, ACS-URL): Der Endpunkt auf dem Dienstanbieter (z. B. AppDynamics), an den die IdP die SAML-Antwort nach der Authentifizierung sendet.
- Single Logout URL (Optional): Der Endpunkt auf dem SP, der SAML-Abmeldeanforderungen verarbeitet (z. B. https://<controller_domain>/controller).
Schritt 2: Erstellen einer neuen Anwendung in IdP und Herunterladen der Metadaten
- Suchen Sie den Bereich für die Anwendungserstellung: Dieser Bereich befindet sich normalerweise in der IdP-Verwaltungskonsole oder im Dashboard und wird oft als Anwendungen, Web- und mobile Apps, Unternehmensanwendungen oder vertrauende Parteien bezeichnet.
- Hinzufügen einer benutzerdefinierten oder generischen SAML-Anwendung: Wählen Sie eine Option aus, mit der Sie eine benutzerdefinierte SAML-Anwendung oder eine generische SAML-Dienstanbieter-Integration konfigurieren können.
- Geben Sie Anwendungsdetails an: Geben Sie einen Namen für die Anwendung ein, und laden Sie möglicherweise ein Symbol zur Identifizierung hoch (optional).
- Fügen Sie Attributzuordnungen (Benutzername, displayName, E-Mail oder Rollen) hinzu, um Benutzerinformationen an AppDynamics zu übergeben.
- Laden Sie die IdP-Metadatendatei herunter, oder notieren Sie sich diese Details:
- IDp-Anmelde-URL
- Abmelde-URL
- Attributnamen
- Zertifikat
Schritt 3: Konfigurieren der SAML-Authentifizierung im AppDynamics-Controller
- Melden Sie sich bei der Benutzeroberfläche des Controllers als Kontoinhaberrolle oder als Rolle mit der Berechtigung Administration, Agents, Getting Started Wizard (Assistenten für den Einstieg)an.
- Klicken Sie auf Ihren Benutzernamen (obere rechte Ecke)> Administration > Authentication Provider > Select SAML.
- Fügen Sie im Abschnitt "SAML Configuration" folgende Details hinzu:
-
Anmelde-URL: Die IDp-Anmelde-URL, über die der AppDynamics-Controller vom Dienstanbieter (SP) initiierte Anmeldeanforderungen weiterleitet.
-
Abmelde-URL (optional): Die URL, an die der AppDynamics Controller Benutzer umleitet, nachdem sie sich abgemeldet haben. Wenn Sie keine Abmelde-URL angeben, erhalten Benutzer den AppDynamics-Anmeldebildschirm, wenn sie sich abmelden.
-
Zertifikat: Das X.509-Zertifikat von IdP. Fügen Sie das Zertifikat zwischen die Trennzeichen BEGIN CERTIFICATE und END CERTIFICATE ein. Vermeiden Sie das Duplizieren der Trennzeichen BEGIN CERTIFICATE und END CERTIFICATE aus dem Quellzertifikat.
- SAML-Verschlüsselung (optional): Sie können die Sicherheit der SAML-Authentifizierung verbessern, indem Sie die SAML-Antwort von IdP an den Dienstanbieter verschlüsseln. Um SAML-Antworten in AppDynamics zu verschlüsseln, müssen Sie Ihren Identity Provider (IdP) so konfigurieren, dass er die SAML-Assertion verschlüsselt, und anschließend den AppDynamics Controller so konfigurieren, dass er ein bestimmtes Zertifikat und einen privaten Schlüssel für die Entschlüsselung verwendet.
- Ordnen Sie im Abschnitt "SAML Attribute Mappings" die SAML-Attribute zu (Beispiel: Benutzername, DisplayName, E-Mail) an die entsprechenden Felder in AppDynamics senden.
Anmerkung: AppDynamics zeigt den Benutzernamen, die E-Mail und den Anzeigenamen eines SAML-Benutzers an. Standardmäßig wird das NameID-Attribut aus der SAML-Antwort verwendet, um einen Benutzernamen zu erstellen, der auch als displayName verwendet wird. Dieses Verhalten kann angepasst werden, indem die Attribute "Benutzername", "E-Mail" und "Anzeigename" in die SAML-Antwort aufgenommen werden. Beim Konfigurieren der IdP-Einstellungen in AppDynamics kann der Benutzer diese Attributnamen angeben. Während der Anmeldung überprüft AppDynamics, ob die Attributzuordnung konfiguriert ist. Wenn Zuordnungen konfiguriert sind und übereinstimmende Attribute in der SAML-Antwort vorhanden sind, verwendet AppDynamics diese Attributwerte, um den Benutzernamen, die E-Mail-Adresse und den Anzeigenamen festzulegen.
- Fügen Sie im Abschnitt "SAML Group Mappings" (SAML-Gruppenzuordnungen) diese Details hinzu.
- SAML-Gruppenattribut-Name: Geben Sie den Namen des SAML-Attributs ein, das die Gruppeninformationen enthält. Dies sind in der Regel Gruppen oder Gruppen oder Rollen oder Rollen oder Rollen oder Gruppenmitgliedschaften.
- Gruppenattributwert: Wählen Sie das entsprechende Wertformat für das Gruppenattribut aus. Zu den allgemeinen Optionen gehören Multiple Nested Group Values (Mehrere verschachtelte Gruppenwerte) oder Single Value (Einzelwert), je nachdem, wie Ihre IdP die Gruppeninformationen strukturiert.
Anmerkung: Wählen Sie Value is in LDAP Format aus, wenn die Gruppeninformationen im LDAP-Format (Lightweight Directory Access Protocol) vorliegen.
- Zuordnung von Gruppen zu Rollen: Klicken Sie auf die +-Schaltfläche, um eine neue Zuordnung hinzuzufügen.
- SAML Group (SAML-Gruppe): Geben Sie den Namen der SAML-Gruppe (wie in Ihrer IdP definiert) ein, die Sie einer AppDynamics-Rolle zuordnen möchten.
- Rolle(n): Wählen Sie die entsprechende(n) AppDynamics-Rolle(n) aus der verfügbaren Liste aus, die Sie Benutzern zuweisen möchten, die zur SAML-Gruppe gehören.
- Standardberechtigungen: Wenn die SAML-Gruppenzuordnung nicht konfiguriert ist oder eine SAML-Assertion des Benutzers keine Gruppeninformationen enthält, greift AppDynamics auf die Verwendung von Standardberechtigungen zurück.
Anmerkung: Es wird empfohlen, Standardberechtigungen eine Rolle mit Mindestberechtigungen zuzuweisen.

- Fügen Sie im Abschnitt SAML Access Attribute folgende Details hinzu (optional):
- SAML-Zugriffsattribut: Geben Sie den Namen der Attribute aus der SAML-Antwort ein. Dies wird für die Zugriffsvalidierung verwendet.
- Wert des Zugriffsvergleichs: Es stehen zwei Optionen zur Verfügung:
- Gleich: Der Zugriff wird nur gewährt, wenn der Attributwert in der SAML-Antwort genau mit dem in der Konfiguration angegebenen Wert übereinstimmt.
- Enthält: Der Zugriff wird gewährt, wenn der Attributwert in der SAML-Antwort den in der Konfiguration angegebenen Wert enthält.
- Funktionsweise bei Aktivierung:
- AppDynamics ruft das im Feld SAML-Zugriffsattribut angegebene Attribut aus der SAML-Antwort ab.
- Es vergleicht den Wert des Attributs mit dem benutzerdefinierten Zugriffsvergleichswert, der auf der ausgewählten Methode (Equal oder Contains) basiert.
- Wenn der Vergleich erfolgreich ist, erhält der Benutzer Zugriff.
- Wenn der Vergleich fehlschlägt, wird die Anmeldung abgelehnt.
- Klicken Sie auf Speichern (untere rechte Ecke), um die Konfiguration zu speichern.
Überprüfung
- Öffnen Sie einen Browser, und navigieren Sie zu AppDynamics Controller. Der Anmeldedialog für Ihren IdP-Dienst eines Drittanbieters wird angezeigt.
- Klicken Sie auf Bei einmaliger Anmeldung anmelden. Das System leitet Sie zu Ihrem IdP um.
- Geben Sie Ihre Anmeldeinformationen ein, und übermitteln Sie sie.
- Nach erfolgreicher Authentifizierung werden Sie von IdP an Ihren AppDynamics-Controller umgeleitet.
Häufige Probleme und Lösung
400 Ungültige Anforderung
-
Fehlende Benutzerberechtigungen
- Problem: Sie haben sich erfolgreich beim Controller angemeldet. Sie haben jedoch nicht die beabsichtigten Rollen und Berechtigungen erhalten.
- Beispielkonfiguration und SAML-Antwort:
- Häufige Probleme und Lösungen
- In der SAML-Antwort wurden keine Gruppenattribute gefunden.
- In der SAML-Antwort von IdP fehlen die erforderlichen Gruppenattribute, oder der Attributname für Gruppen in der SAML-Antwort wird als Roles festgelegt, während er in AppDynamics als Groups konfiguriert ist.
- Wenn keine Gruppenattribute angegeben werden, werden dem Benutzer automatisch die Rollen zugewiesen, die den Standardberechtigungen in AppDynamics zugeordnet sind.
- Um dies zu beheben, stellen Sie sicher, dass IdP so konfiguriert ist, dass es die richtigen Gruppenattribute in die SAML-Antwort einbezieht, und dass der Attributname für Gruppen mit der Konfiguration in AppDynamics übereinstimmt.
- In AppDynamics ist keine entsprechende SAML-Gruppenzuordnung für die in der SAML-Antwort angegebenen Benutzergruppen konfiguriert.
- In der SAML-Antwort enthält das Groups-Attribut die Werte AppD_Admin und AppD_Power_User. In AppDynamics sind Gruppenzuordnungen jedoch nur für die Gruppe AppD_Account_Owner vorhanden.
- Da es keine entsprechende Zuordnung für AppD_Admin oder AppD_Power_User gibt, werden dem Benutzer keine Rollen oder Berechtigungen zugewiesen.
- Fügen Sie zum Beheben dieses Problems die fehlenden Gruppenzuordnungen (z. B. AppD_Admin und AppD_Power_User) in AppDynamics hinzu, um die korrekte Rollen- und Berechtigungszuweisung sicherzustellen.
Anmerkung: Standardberechtigungen werden nur auf die SAML-Benutzer angewendet, wenn der in AppDynamics konfigurierte SAML-Gruppenattributname nicht mit den Gruppenattributen in der SAML-Antwort übereinstimmt.
-
Fehlende oder falsche E-Mail und/oder Name für SAML-Benutzer
- Root Cause (Ursache): Dieser Fehler tritt in der Regel dann auf, wenn die in der Controller-Datenbank konfigurierte Controller-URL nicht mit der Controller-URL übereinstimmt, die für die Anmeldung verwendet wird, oder mit der URL, die für die IdP konfiguriert wurde.
- Lösung:
- Für Controller am Standort:
- Führen Sie diesen Befehl aus, um die Controller-URL zu aktualisieren. (Empfohlen)
curl -k --basic --user root@system --header "Content-Type: application/json" --data '{ "controllerURL": "https:///controller" }' http:///controller/rest/accounts//update-controller-url
- Alternativ können Sie diese Befehle auch in der Controller-Datenbank ausführen, um die Controller-URL zu aktualisieren.
UPDATE controller.account SET controller_url ='' WHERE id=;
UPDATE mds_auth.account SET controller_url='' WHERE name='';
- Für SaaS-Controller: Senden Sie ein Support-Ticket, um dieses Problem vom Support-Team beheben zu lassen.
Weitere Unterstützung erforderlich
Wenn Sie Fragen haben oder Probleme auftreten, erstellen Sie ein Support-Ticket mit folgenden Informationen:
- Fehlerdetails oder Screenshot: Stellen Sie eine spezifische Fehlermeldung oder einen Screenshot des Problems bereit.
- SAML-Antwort: SAML-Trace- und HAR-Datei erfassen
- Controller Server.log (nur am Standort): Falls zutreffend, stellen Sie die Controller-Server-Protokolle unter <controller-install-dir>/logs/server.log bereit.
Zugehörige Informationen
AppDynamics-Dokumentation
SAML für SaaS-Bereitstellungen
Verschlüsseln von SAML-Antworten für SaaS-Bereitstellungen