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:
-
Aktivieren Sie Datenprotokollierung, um Protokolldateien und Daten zu generieren, die Sie herunterladen und überprüfen können.
-
Konsultieren Sie die CData ADO.NET Provider für Microsoft Active Directory-Dokumentation für detaillierte Informationen.
-
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\NordamerikaDie korrekte Container-Spezifikation wäre:
OU=Nordamerika,OU=Vertrieb,DC=example,DC=comBeachten 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.
Das Portqry-Tool kann verwendet werden, um die Konnektivität zu Active Directory zu testen:
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 udpErsetzen 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 tcpWenn 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.
-