Zum Inhalt springen

Active Directory-Sicherheitsanbieter im Jitterbit App Builder

Der Active Directory (AD) Sicherheitsanbieter ist ein formularbasiertes Authentifizierungsschema. Bei der Verwendung des AD-Sicherheitsanbieters geben die Benutzer ihren AD-Benutzernamen und ihr Passwort in den App Builder ein. Der App Builder verwendet LDAP, um die vom Benutzer bereitgestellten Anmeldeinformationen gegen einen AD-Speicher zu validieren.

Moderne Implementierungen sollten SAML Single Sign-On (SSO) und WS-Federation gegenüber der AD-Authentifizierung bevorzugen. SAML SSO und WS-Federation bieten eine höhere Sicherheit, da Benutzer ihre Anmeldeinformationen nicht an eine Drittanwendung weitergeben müssen. Da AD einen bestehenden Authentifizierungskontext nicht berücksichtigt, ist die AD-Authentifizierung kein richtiges SSO-Schema. Aus diesem Grund bieten SAML SSO und WS-Federation im Allgemeinen eine bessere Benutzerfreundlichkeit, da sie nicht erfordern, dass ein Benutzer seine Anmeldeinformationen erneut eingibt. Schließlich benötigen SAML SSO und WS-Federation-Sicherheitstoken, die über HTTP vom Browser vermittelt werden, keinen direkten Zugriff einer Drittanwendung auf AD-Domänencontroller. Dies macht SAML SSO und WS-Federation geeigneter für Cloud-Implementierungen.

Konfiguration

Der AD-Sicherheitsanbieter unterstützt sowohl die Bereitstellung von Benutzern als auch von Gruppen. Benutzer und Gruppen werden mit ihrem SAM-Kontonamen registriert.

Parameter

Parameter Standardwert Beispiel Erforderlich Beschreibung
Container DC=example,DC=com Nein AD LDAP-Container-Spezifikation.
Kontext Domäne AD-Kontexttyp. Gültige Werte sind Domäne, Maschine und Anwendungsdirectory.
Domäne example.com
example.com:389
Ja Active Directory (AD) Domänenname. Kann eine optionale Portnummer enthalten.
Passwort Nein AD-Kontopasswort. Siehe unten für weitere Informationen.
Benutzername Nein AD-Konto-Benutzername. Siehe unten für weitere Informationen.

Standardmäßig verbindet sich der App Builder mit AD-Domänencontrollern als Benutzer des IIS-Anwendungspools. Dies funktioniert möglicherweise nicht in allen Situationen, insbesondere wenn der Webserver nicht in der AD-Domäne gehostet wird. In diesem Fall müssen Sie den Benutzernamen und das Passwort eines Kontos in der Domäne angeben. Bei der Erstellung des Kontos sollten Sie Folgendes beachten:

  • Das Konto benötigt Lesezugriff auf den AD-Baum: Die Mitgliedschaft in der Sicherheitsgruppe "Domänenbenutzer" ist ausreichend.
  • Das Konto kann zur organisatorischen Einheit gehören, die durch die Container-Spezifikation identifiziert wird, muss dies jedoch nicht.

Ansprüche

Der Active Directory-Anbieter ordnet die folgenden UserPrincipal-Eigenschaften den Anspruchstypen zu:

  • SamAccountName
  • Name
  • DisplayName
  • EmailAddress
  • VoiceTelephoneNumber

Zusätzliche Informationen

Um Anmeldeinformationen gegen einen Active Directory (AD)-Speicher zu validieren, muss der App Builder in der Lage sein, sich über LDAP mit den AD-Domänencontrollern zu verbinden. Traditionell erfolgt dies über Port 389.

Es kann zu einer Verzögerung von 20 Sekunden oder mehr kommen, wenn Domänengrenzen überschritten werden. Das Anhängen der Portnummer an die Domäne (z. B. example.com:389) kann die Leistung verbessern.

Fehlerbehebung

Wenn Sie Probleme mit dem Active Directory-Sicherheitsanbieter haben, werden die folgenden Schritte zur Fehlerbehebung empfohlen:

  1. Aktivieren Sie Datenprotokollierung, um Protokolldateien und Daten zu generieren, die Sie herunterladen und überprüfen können.

  2. Konsultieren Sie die CData ADO.NET Provider für Microsoft Active Directory-Dokumentation für detaillierte Informationen.

  3. Einige spezifische Fehler sind unten aufgeführt, zusammen mit vorgeschlagenen Schritten zur Fehlerbehebung:

    • Fehler: "Es gibt kein solches Objekt auf dem Server."

      Dieser Fehler kann darauf hindeuten, dass die Container-Spezifikation falsch ist. Sie könnte sich auf eine nicht vorhandene organisatorische Einheit beziehen. Wenn Sie mit verschachtelten organisatorischen Einheiten arbeiten, könnte dies bedeuten, dass die Reihenfolge falsch ist. Organisatorische Einheiten müssen in umgekehrter Reihenfolge angegeben werden. Zum Beispiel, gegebenenfalls den folgenden Pfad:

      \Vertrieb\Nordamerika
      

      Die korrekte Container-Spezifikation wäre:

      OU=Nordamerika,OU=Vertrieb,DC=example,DC=com
      

      Beachten Sie, dass die Namen der organisatorischen Einheiten nicht groß- oder kleinschreibungsempfindlich sind.

    • Fehler: "Der Server konnte nicht kontaktiert werden." "Der LDAP-Server ist nicht verfügbar."

      Dieser Fehler zeigt an, dass der App Builder keine Verbindung zum Active Directory-Domänencontroller herstellen konnte. Überprüfen Sie die Domäneneigenschaft.

      Clients kommunizieren über LDAP mit Active Directory. Wie im folgenden Microsoft Knowledgebase-Artikel erwähnt, kommuniziert der LDAP-Server über Port 389 sowohl mit den UDP- als auch mit den TCP-Protokollen.

      https://support.microsoft.com/en-us/help/832017/service-overview-and-network-port-requirements-for-windows

      Das Portqry-Tool kann verwendet werden, um die Konnektivität zu Active Directory zu testen:

      https://support.microsoft.com/en-us/help/816103/how-to-use-portqry-to-troubleshoot-active-directory-connectivity-issue

      Das Tool kann von der Microsoft-Website heruntergeladen werden:

      https://www.microsoft.com/en-us/download/confirmation.aspx?id=17148

      Beachten Sie, dass das Portqry-Tool vom Webserver des App Builders ausgeführt werden muss.

      Um die Konnektivität zu Port 389 über UDP zu testen, führen Sie den folgenden Befehl aus:

      > portqry -n ad.example.com -e 389 -p udp
      

      Ersetzen Sie "ad.example.com" durch den Hostnamen oder die IP-Adresse des Active Directory-Servers.

      Um die Konnektivität zu Port 389 über TCP zu testen:

      > portqry -n ad.example.com -e 389 -p tcp
      

      Wenn die Tests erfolgreich sind, sehen Sie eine LDAP-Abfrageantwort, die das aktuelle Datum und die Uhrzeit sowie verschiedene Eigenschaften von Active Directory enthält. Folgendes ist ein Beispiel für eine erfolgreiche LDAP-Abfrageantwort:

      currentdate: 10/20/2018 11:22:33 (unadjusted GMT)
      subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,DC=example,DC=com
      dsServiceName: CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=com
      namingContexts: DC=example,DC=com
      defaultNamingContext: DC=example,DC=com
      schemaNamingContext: CN=Schema,CN=Configuration,DC=example,DC=com
      configurationNamingContext: CN=Configuration,DC=example,DC=com
      rootDomainNamingContext: DC=example,DC=com
      supportedControl: 1.2.840.113556.1.4.319
      supportedLDAPVersion: 3
      supportedLDAPPolicies: MaxPoolThreads
      highestCommittedUSN: 249947
      supportedSASLMechanisms: GSSAPI
      dnsHostName: SERVER.example.com
      ldapServiceName: example.com:server$@EXAMPLE.COM
      serverName: CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=com
      supportedCapabilities: 1.2.840.113556.1.4.800
      isSynchronized: TRUE
      isGlobalCatalogReady: TRUE
      domainFunctionality: 6
      forestFunctionality: 6
      domainControllerFunctionality: 6
      
    • Fehler: "Der Benutzername oder das Passwort ist falsch."

      Wenn die Protokolldatei den Fehler "Der Benutzername oder das Passwort ist falsch" enthält, kann dies bedeuten, dass der Benutzername oder das Passwort, das von App Builder verwendet wird, um den Active Directory-Domänencontroller abzufragen, ungültig ist. Überprüfen Sie die Eigenschaften Benutzername und Passwort.

    • Fehler: "Entweder der Benutzername oder das Passwort ist falsch."

      Ein Benutzer kann beim Anmelden die normale Fehlermeldung "Entweder der Benutzername oder das Passwort ist falsch" sehen, selbst wenn er gültige Anmeldeinformationen angegeben hat. Dies kann darauf hindeuten, dass der Benutzername im falschen Format angegeben wurde.

      Geben Sie beim Anmelden den Benutzernamen nicht im Format des Benutzerprinzipals (user@example.com) oder des Down-Level-Anmeldenamens (EXAMPLE\user) an. Stattdessen sollte der unqualifizierte Benutzername angegeben werden.

    • Fehler: "Der angegebene Benutzername stimmte nicht mit dem SAM-Kontonamen eines Benutzerprinzipals überein."

      Dieser Fehler zeigt an, dass der Benutzer versucht, sich mit einem Konto zu authentifizieren, das nicht mit der Container-Spezifikation übereinstimmt. Beispielsweise kann die Container-Spezifikation den Zugriff auf eine bestimmte Organisationseinheit einschränken. In diesem Fall würde dieser Fehler anzeigen, dass das Benutzerkonto nicht zur Organisationseinheit gehört.