Bereitstellen von Benutzern in SQL-basierten Anwendungen
Die folgende Dokumentation stellt Konfigurations- und Tutorial-Informationen bereit, die zeigen, wie der generische SQL Connector und der Extensible Connectivity (ECMA) Connector Host mit einem SQL Server verwendet werden können.
In diesem Dokument werden die Schritte beschrieben, die Sie durchführen müssen, um Benutzer automatisch von Microsoft Entra ID in eine SQL-Datenbank zu übertragen und dort zu entfernen.
Wichtige Details zum Zweck und zur Funktionsweise dieses Dienstes sowie häufig gestellte Fragen finden Sie unter Automatisieren der Bereitstellung und Bereitstellungsaufhebung von Benutzern für SaaS-Anwendungen mit Microsoft Entra ID und Microsoft Entra-Architektur für die lokale Anwendungsbereitstellung.
Das folgende Video enthält eine Übersicht über die lokale Benutzerbereitstellung.
Voraussetzungen für die Bereitstellung für eine SQL-Datenbank
Lokale Voraussetzungen
Die Anwendung basiert auf einer SQL-Datenbank, in der Datensätze für Benutzer erstellt, aktualisiert und gelöscht werden können. Der Computer, auf dem der Bereitstellungs-Agent ausgeführt wird, sollte über Folgendes verfügen:
- Windows Server 2016 oder höher.
- Eine Verbindung mit dem Zieldatenbanksystem sowie über ausgehende Verbindungen mit login.microsoftonline.com, anderen Microsoft Online Services-Instanzen und Azure-Domänen. Ein Beispiel ist eine Windows Server 2016-VM, die in Azure IaaS oder hinter einem Proxy gehostet wird.
- Mindestens 3 GB RAM.
- .NET Framework 4.7.2
- Einen ODBC-Treiber für die SQL-Datenbank.
Die Konfiguration der Verbindung mit der Datenbank der Anwendung erfolgt über einen Assistenten. Je nachdem, welche Optionen Sie auswählen, sind einige Bildschirme des Assistenten möglicherweise nicht verfügbar, und die Informationen können sich geringfügig unterscheiden. Die folgenden Informationen können Ihnen bei der Konfiguration nützlich sein.
Unterstützte Datenbanken
- Microsoft SQL Server und Azure SQL
- IBM DB2 9.x
- IBM DB2 10.x
- IBM DB2 11.5
- Oracle 10g und 11g
- Oracle 12c und 18c
- MySQL 5.x
- MySQL 8.x
- Postgres
Cloudanforderungen
Ein Microsoft Entra-Mandant mit Microsoft Entra ID P1 oder Premium P2 (oder EMS E3 oder E5).
Für die Verwendung dieses Features werden Microsoft Entra ID P1-Lizenzen benötigt. Informationen zur Ermittlung der richtigen Lizenz für Ihre Anforderungen finden Sie im Vergleich der allgemein verfügbaren Features von Microsoft Entra ID.
Die Rolle „Hybrididentitätsadministrator“ zum Konfigurieren des Bereitstellungs-Agents und die Rolle „Anwendungsadministrator“ oder „Cloudanwendungsadministrator“ zum Konfigurieren der Bereitstellung im Azure-Portal.
Die Microsoft Entra-Benutzer, die in der Datenbank bereitgestellt werden sollen, müssen bereits mit allen Attributen aufgefüllt werden, die für das Datenbankschema erforderlich sind und die nicht von der Datenbank selbst generiert werden.
Vorbereiten der Beispieldatenbank
In diesem Artikel konfigurieren Sie den Microsoft Entra-SQL-Connector für die Interaktion mit der relationalen Datenbank Ihrer Anwendung. In der Regel verwalten Anwendungen den Zugriff mit einer Tabelle in ihrer SQL-Datenbank, die pro Benutzer eine Zeile enthält. Wenn Sie bereits über eine Anwendung mit einer Datenbank verfügen, fahren Sie mit dem nächsten Abschnitt fort.
Wenn Sie noch nicht über eine Datenbank mit einer geeigneten Tabelle verfügen, sollten Sie zu Demonstrationszwecken eine Datenbank erstellen, die Microsoft Entra ID verwenden kann. Wenn Sie SQL Server verwenden, führen Sie das SQL-Skript in Anhang A aus. Mit diesem Skript wird eine Beispieldatenbank mit dem Namen „CONTOSO“ erstellt, die die einzelne Tabelle Employees
enthält. In dieser Datenbanktabelle stellen Sie Benutzer bereit.
Tabellenspalte | `Source` |
---|---|
ContosoLogin | Microsoft Entra-Benutzerprinzipalname |
FirstName | Microsoft Entra-Vorname |
LastName | Microsoft Entra-Nachname |
Exchange Online-E-Mail-Adresse | |
InternalGUID | Von der Datenbank selbst generiert |
AzureID | Microsoft Entra-Objekt-ID |
textID | Microsoft Entra ID-E-Mail-Spitzname |
Bestimmen der Interaktion des Microsoft Entra-SQL-Connectors mit Ihrer Datenbank
Sie benötigen ein Benutzerkonto in der SQL-Instanz mit den Berechtigungen zum Aktualisieren von Daten in den Tabellen der Datenbank. Wenn Ihre SQL-Datenbank von einer anderen Person verwaltet wird, wenden Sie sich an diese Person, um den Namen und das Kennwort des Kontos zu erhalten, das Microsoft Entra ID für die Authentifizierung bei der Datenbank verwendet. Wenn die SQL-Instanz auf einem anderen Computer installiert ist, müssen Sie auch sicherstellen, dass die SQL-Datenbank eingehende Verbindungen vom ODBC-Treiber auf dem Agent-Computer zulässt.
Wenn Sie bereits über eine Datenbank für Ihre Anwendung verfügen, müssen Sie festlegen, wie Microsoft Entra ID mit dieser Datenbank interagieren soll. Es gibt folgende Möglichkeiten: direkte Interaktion mit Tabellen und Sichten, Interaktion über gespeicherte Prozeduren, die bereits in der Datenbank vorhanden sind, oder eine Interaktion über SQL-Anweisungen, die Sie für Abfragen und Aktualisierungen bereitstellen. Diese Einstellung ist erforderlich, da eine komplexere Anwendung in ihrer Datenbank über zusätzliche Hilfstabellen verfügen könnte, eine Auslagerung von Tabellen mit Tausenden von Benutzern benötigt wird oder über Microsoft Entra ID eine gespeicherte Prozedur für eine zusätzliche Datenverarbeitung aufgerufen werden muss, z. B. für Verschlüsselung, Hashfunktionen oder Gültigkeitsprüfungen.
Wenn Sie die Konfiguration für den Connector erstellen, um mit der Datenbank einer Anwendung zu interagieren, konfigurieren Sie zunächst einen Ansatz dafür, wie der Connectorhost das Schema Ihrer Datenbank liest. Anschließend konfigurieren Sie über Ausführungsprofile den Ansatz, den der Connector fortlaufend nutzen soll. Jedes Ausführungsprofil gibt an, wie der Connector SQL-Anweisungen generieren soll. Die Auswahl der Ausführungsprofile und der Methode innerhalb eines Ausführungsprofils hängen davon ab, welche Funktionen Ihre Datenbank-Engine unterstützt und welche Anforderungen die Anwendung hat.
Wenn der Bereitstellungsdienst nach der Konfiguration startet, führt er automatisch die im Ausführungsprofil Vollständiger Import konfigurierten Interaktionen aus. In diesem Ausführungsprofil liest der Connector alle Datensätze für Benutzer aus der Datenbank der Anwendung ein, in der Regel mithilfe einer SELECT-Anweisung. Dieses Ausführungsprofil ist notwendig, damit Microsoft Entra ID später, wenn es eine Änderung für einen Benutzer vornehmen muss, weiß, dass es einen bestehenden Datensatz für diesen Benutzer in der Datenbank aktualisieren muss, anstatt einen neuen Datensatz für diesen Benutzer zu erstellen.
Jedes Mal, wenn Änderungen in Microsoft Entra ID vorgenommen werden, z. B. um der Anwendung einen neuen Benutzer zuzuweisen oder einen vorhandenen Benutzer zu aktualisieren, führt der Bereitstellungsdienst die für das Ausführungsprofil Export konfigurierten SQL-Datenbankinteraktionen aus. Im Ausführungsprofil Export gibt Microsoft Entra ID SQL-Anweisungen zum Einfügen, Aktualisieren und Löschen von Datensätzen in der Datenbank aus, um den Inhalt der Datenbank mit Microsoft Entra ID zu synchronisieren.
Wenn Ihre Datenbank dies unterstützt, können Sie optional auch ein Ausführungsprofil Deltaimport konfigurieren. In diesem Ausführungsprofil liest Microsoft Entra ID die Änderungen ein, die seit dem letzten Voll- oder Delta-Import in der Datenbank vorgenommen wurden und nicht von Microsoft Entra ID stammen. Dieses Ausführungsprofil ist optional, da die Datenbank so strukturiert sein muss, dass Änderungen gelesen werden können.
Bei der Konfiguration der einzelnen Ausführungsprofile des Connectors geben Sie an, ob der Microsoft Entra-Connector eigene SQL-Anweisungen für eine Tabelle oder Sicht generieren, Ihre gespeicherten Prozeduren aufrufen oder von Ihnen bereitgestellte benutzerdefinierte SQL-Abfragen verwenden soll. In der Regel verwenden Sie für alle Ausführungsprofile eines Connectors die gleiche Methode.
- Wenn Sie Tabellen oder Sichten als Methode für ein Ausführungsprofil auswählen, generiert der Microsoft Entra-Connector die erforderlichen SQL-Anweisungen SELECT, INSERT, UPDATE und DELETE, um mit der Tabelle oder Sicht in der Datenbank zu interagieren. Dies ist der einfachste Ansatz, wenn Ihre Datenbank über eine einzelne Tabelle oder eine aktualisierbare Sicht mit wenigen vorhandenen Zeilen verfügt.
- Wenn Sie sich als Methode für eine gespeicherte Prozedur entscheiden, muss Ihre Datenbank über vier gespeicherte Prozeduren für folgende Aufgaben verfügen: Lesen einer Benutzerseite, Hinzufügen von Benutzern, Aktualisieren oder Löschen von Benutzern. Sie konfigurieren den Microsoft Entra-Connector mit den Namen und Parametern der gespeicherten Prozeduren, die aufgerufen werden sollen. Dieser Ansatz erfordert eine umfangreichere Konfiguration in Ihrer SQL-Datenbank und ist in der Regel nur dann erforderlich, wenn Ihre Anwendung eine zusätzliche Verarbeitung für jede Änderung von Benutzern oder für das Durchlaufen großen Resultsets benötigt.
- Wenn Sie als Methode SQL-Abfragen verwenden, geben Sie im Rahmen eines Ausführungsprofils die spezifischen SQL-Anweisungen ein, die der Connector ausführen soll. Sie konfigurieren den Connector mit den Parametern, die der Connector in Ihre SQL-Anweisungen einfügen soll, z. B. zum Durchlaufen von Resultsets während eines Imports oder zum Festlegen der Attribute eines neuen Benutzers, der während eines Exports erstellt wird.
Dieser Artikel veranschaulicht die Verwendung der Tabellenmethode zur Interaktion mit der Beispieldatenbanktabelle Employees
in den Ausführungsprofilen Export und Vollständiger Import. Weitere Informationen zur Konfiguration von gespeicherten Prozeduren oder SQL-Abfragen als Methoden finden Sie im Leitfaden für die generische SQL-Konfiguration, der weitere Details und spezifische Anforderungen enthält.
Auswählen der eindeutigen Bezeichner im Datenbankschema Ihrer Anwendung
Die meisten Anwendungen verfügen über einen eindeutigen Bezeichner für jeden Benutzer der Anwendung. Wenn Sie die Bereitstellung in einer vorhandenen Datenbanktabelle vornehmen, sollten Sie eine Spalte dieser Tabelle festlegen, die einen Wert für alle Benutzer enthält, der eindeutig und unveränderlich ist. Dies ist der Anker, den Microsoft Entra ID zum Identifizieren vorhandener Zeilen verwendet, damit sie aktualisiert oder gelöscht werden können. Weitere Informationen zu Ankern finden Sie unter Grundlegendes zu Ankerattributen und DNs (Distinguished Names).
Wenn die Datenbank Ihrer Anwendung bereits vorhanden ist und Benutzer enthält, die von Microsoft Entra ID auf dem neuesten Stand gehalten werden sollen, benötigen Sie für sämtliche Benutzer Bezeichner, die in der Datenbank der Anwendung und im Microsoft Entra-Schema identisch sind. Wenn Sie beispielsweise der Anwendung in Microsoft Entra ID einen Benutzer zuweisen, der sich bereits in dieser Datenbank befindet, sollten Änderungen an diesem Benutzer in Microsoft Entra ID zur Aktualisierung einer vorhandenen Zeile für diesen Benutzer und nicht zum Hinzufügen einer neuen Zeile führen. Da Microsoft Entra ID wahrscheinlich nicht den internen Bezeichner einer Anwendung für Benutzer speichert, müssen Sie eine andere Spalte für die Abfrage der Datenbank auswählen. Der Wert dieser Spalte kann ein Benutzerprinzipalname, eine E-Mail-Adresse, eine Mitarbeiter-ID oder eine andere Kennung sein, die in Microsoft Entra ID für jeden Benutzer vorhanden ist, der in den Anwendungsbereich fällt. Wenn es sich bei dem von der Anwendung verwendeten Benutzerbezeichner nicht um ein Attribut handelt, das in der Microsoft Entra-Darstellung der Benutzer gespeichert ist, müssen Sie das Microsoft Entra-Benutzerschema nicht um ein Erweiterungsattribut erweitern und dieses Attribut aus Ihrer Datenbank auffüllen. Sie können das Microsoft Entra-Schema erweitern und Erweiterungswerte mithilfe von PowerShell festlegen.
Zuordnen von Attributen in Microsoft Entra ID zum Datenbankschema
Wenn Microsoft Entra ID eine Verknüpfung zwischen einem Benutzer in Microsoft Entra ID und einem Datensatz in der Datenbank eingerichtet hat, entweder für einen Benutzer, der sich bereits in der Datenbank befindet, oder für einen neuen Benutzer, kann Microsoft Entra ID Attributänderungen vom Microsoft Entra-Benutzer in der Datenbank bereitstellen. Überprüfen Sie neben den eindeutigen Bezeichnern auch Ihre Datenbank, um festzustellen, ob es weitere erforderliche Eigenschaften gibt. Wenn dies der Fall ist, stellen Sie sicher, dass die Benutzer, die in der Datenbank bereitgestellt werden, über Attribute verfügen, die den erforderlichen Eigenschaften zugeordnet werden können.
Sie können auch das Verhalten der Bereitstellungsaufhebung konfigurieren. Wenn ein Benutzer, welcher der Anwendung zugewiesen ist, in der Microsoft Entra ID gelöscht wird, sendet Microsoft Entra ID einen Löschvorgang an die Datenbank. Möglicherweise möchten Sie auch, dass Microsoft Entra ID die Datenbank aktualisiert, wenn ein Benutzer aus dem Geltungsbereich entfernt wird und die Anwendung nicht mehr verwenden darf. Wenn die Zuweisung eines Benutzers an eine App aufgehoben, der Benutzer in Microsoft Entra ID vorläufig gelöscht oder seine Anmeldung blockiert wird, können Sie Microsoft Entra ID so konfigurieren, dass eine Attributänderung gesendet wird. Wenn Sie die Bereitstellung in einer vorhandenen Datenbanktabelle vornehmen, müssen Sie einer Spalte dieser Tabelle den Wert isSoftDeleted zuordnen. Wenn der Benutzer aus dem Geltungsbereich entfernt wird, legt Microsoft Entra ID den Wert für diesen Benutzer auf True fest.
1. Installieren des ODBC-Treibers
Für die Windows Server-Instanz, unter der Sie den Bereitstellungs-Agent installieren, ist ein ODBC-Treiber für Ihre Zieldatenbank erforderlich. Wenn Sie eine Verbindung mit der SQL Server- oder Azure SQL-Datenbank herstellen möchten, sollten Sie den ODBC-Treiber für SQL Server (x64) herunterladen und unter Windows Server installieren. Informationen zu anderen SQL-Datenbanken finden Sie im Leitfaden des unabhängigen Softwareherstellers zum Installieren des ODBC-Treibers.
2. Erstellen einer DSN-Verbindungsdatei
Der generische SQL-Connector erfordert eine DSN-Datei (Data Source Name), um eine Verbindung mit dem SQL-Endpunkt herzustellen. Zunächst müssen Sie eine Datei mit den ODBC-Verbindungsinformationen erstellen.
Starten Sie das ODBC-Verwaltungshilfsprogramm auf Ihrem Server. Verwenden Sie die 64-Bit-Version.
Wählen Sie die Registerkarte Datei-DSN und dann Hinzufügen aus.
Wenn Sie SQL Server oder Azure SQL verwenden, wählen Sie SQL Server Native Client 11.0 und dann Weiter aus. Wenn Sie eine andere Datenbank verwenden, wählen Sie deren ODBC-Treiber aus.
Geben Sie der Datei einen Namen, z. B. GenericSQL, und wählen Sie dann Weiter aus.
Wählen Sie Fertig stellen aus.
Konfigurieren Sie nun die Verbindung. Die folgenden Schritte können sich je nach verwendetem ODBC-Treiber unterscheiden. In dieser Illustration wird davon ausgegangen, dass Sie den Treiber für die Verbindung zu SQL Server verwenden. Wenn sich die SQL Server-Instanz auf einem anderen Servercomputer befindet, geben Sie den Namen des entsprechenden Servers ein. Wählen Sie anschließend Weiter aus.
Wenn die Benutzer, für die Sie diesen Schritt ausführen, über Berechtigungen zum Herstellen einer Verbindung mit der Datenbank verfügen, übernehmen Sie die ausgewählte Windows-Authentifizierung. Wenn der SQL Server-Administrator die Verwendung eines lokalen SQL-Kontos verlangt, geben Sie stattdessen diese Anmeldeinformationen an. Wählen Sie Weiteraus.
Geben Sie den Namen der Datenbank ein (in diesem Beispiel CONTOSO).
Behalten Sie auf diesem Bildschirm die Standardeinstellungen bei, und wählen Sie Fertig stellen aus.
Um zu überprüfen, ob alles wie erwartet funktioniert, wählen Sie Datenquelle testen aus.
Überprüfen Sie, ob der Test erfolgreich war.
Wählen Sie zweimal OK. Schließen Sie den ODBC-Datenquellen-Administrator. Die DSN-Verbindungsdatei wird standardmäßig im Ordner Dokumente gespeichert.
3. Installieren und Konfigurieren des Microsoft Entra Connect-Bereitstellungs-Agent-Pakets
Wenn Sie den Bereitstellungs-Agent bereits heruntergeladen und für eine andere lokale Anwendung konfiguriert haben, lesen Sie im nächsten Abschnitt weiter.
- Melden Sie sich beim Azure-Portal an.
- Navigieren Sie zu Unternehmensanwendungen, und wählen Sie Neue Anwendung aus.
- Suchen Sie nach der lokalen Ecma International-App, benennen Sie die App, und wählen Sie Erstellen aus, um sie Ihrem Mandanten hinzuzufügen.
- Navigieren Sie über das Menü zur Bereitstellungsseite Ihrer Anwendung.
- Wählen Sie Erste Schritte aus.
- Ändern Sie auf der Seite Bereitstellung den Modus in Automatisch.
- Wählen Sie unter Lokale Konnektivität die Option Herunterladen und Installieren und dann Bedingungen akzeptieren und herunterladen aus.
- Verlassen Sie das Portal und führen Sie das Installationsprogramm für den Bereitstellungsagenten aus, stimmen Sie den Nutzungsbedingungen zu und wählen Sie Installieren aus.
- Warten Sie auf den Konfigurationsassistenten für den Microsoft Entra-Bereitstellungsagenten und wählen Sie dann Weiter aus.
- Wählen Sie im Schritt Erweiterung auswählen die Option Lokale Anwendungsbereitstellung und dann Weiter aus.
- Der Bereitstellungs-Agent verwendet den Webbrowser des Betriebssystems, um ein Popupfenster anzuzeigen, in dem Sie sich bei Microsoft Entra ID und ggf. auch beim Identitätsanbieter Ihrer Organisation authentifizieren können. Wenn Sie Internet Explorer als Browser unter Windows Server verwenden, müssen Sie möglicherweise Microsoft-Websites der Liste der vertrauenswürdigen Websites Ihres Browsers hinzufügen, damit JavaScript ordnungsgemäß ausgeführt werden kann.
- Geben Sie Anmeldeinformationen für einen Microsoft Entra-Administrator an, wenn Sie zur Autorisierung aufgefordert werden. Das Benutzerkonto muss mindestens über die Rolle Hybrididentitätsadministrator verfügen.
- Wählen Sie Bestätigen aus, um die Einstellung zu bestätigen. Nach erfolgreicher Installation können Sie Beenden auswählen und auch das Installationsprogramm für das Bereitstellungs-Agent-Paket schließen.
4. Konfigurieren der lokalen ECMA-App
Kehren Sie zum Portal zurück, und wählen Sie im Abschnitt Lokale Konnektivität den von Ihnen bereitgestellten Agent und dann Agent(s) zuweisen aus.
Lassen Sie dieses Browserfenster geöffnet, während Sie den nächsten Schritt der Konfiguration mit dem Konfigurations-Assistenten ausführen.
5. Konfigurieren des Zertifikats für den Microsoft Entra-ECMA-Connectorhost
Klicken Sie auf dem Windows-Server, auf dem der Bereitstellungs-Agent installiert ist, im Startmenü mit der rechten Maustaste auf den Microsoft ECMA2Host-Konfigurations-Assistenten und führen Sie ihn als Administrator aus. Die Ausführung als Windows-Administrator ist erforderlich, damit der Assistent die erforderlichen Windows-Ereignisprotokolle erstellen kann.
Wenn dies das erste Mal ist, dass Sie den Assistenten ausführen, werden Sie nach dem Starten der Konfiguration des ECMA-Connectorhosts aufgefordert, ein Zertifikat zu erstellen. Übernehmen Sie den Standardport 8585, und wählen Sie Zertifikat generieren aus, um ein Zertifikat zu generieren. Bei dem automatisch generierten Zertifikat handelt es sich um ein selbstsigniertes Zertifikat der vertrauenswürdigen Stammzertifizierungsstelle. Das Zertifikat-SAN stimmt mit dem Hostnamen überein.
Wählen Sie Speichern aus.
Hinweis
Wenn Sie sich für die Generierung eines neuen Zertifikats entschieden haben, notieren Sie sich das Ablaufdatum des Zertifikats, um sicherzustellen, dass Sie planen, zum Konfigurations-Assistenten zurückzukehren und das Zertifikat erneut zu generieren, bevor es abläuft.
6. Erstellen eines generischen SQL-Connectors
In diesem Abschnitt erstellen Sie die Connectorkonfiguration für Ihre Datenbank.
6.1 Konfigurieren der SQL-Verbindung
Führen Sie zum Erstellen eines generischen SQL Connectors die folgenden Schritte aus:
Generieren Sie ein geheimes Token für die Authentifizierung von Microsoft Entra ID beim Connector. Es sollte mindestens 12 Zeichen umfassen und für jede Anwendung eindeutig sein.
Wenn Sie dies noch nicht getan haben, starten Sie im Windows-Startmenü den Microsoft ECMA2Host-Konfigurations-Assistenten.
Wählen Sie Neuer Connector aus.
Füllen Sie auf der Seite Eigenschaften die Felder mit den Werten aus, die in der Tabelle unter dem Bild angegeben sind, und wählen Sie Weiter aus.
Eigenschaft Wert Name Der Name, den Sie für den Connector ausgewählt haben, der für alle Connectors in Ihrer Umgebung eindeutig sein sollte. Wenn Sie beispielsweise nur über eine SQL-Datenbank verfügen: SQL
.Zeitgeber für automatische Synchronisierung (Minuten) 120 Geheimes Token Geben Sie das geheime Token ein, das Sie für diesen Connector generiert haben. Der Schlüssel sollte mindestens 12 Zeichen lang sein. Erweiterungs-DLL Wählen Sie Microsoft.IAM.Connector.GenericSql.dll als generischen SQL-Connector aus. Füllen Sie auf der Seite Konnektivität die Felder mit den Werten aus, die in der Tabelle unter dem Bild angegeben sind, und wählen Sie Weiter aus.
Eigenschaft BESCHREIBUNG DSN-Datei Dies ist die im vorherigen Schritt erstellte Datei für den Datenquellennamen, die zum Herstellen einer Verbindung mit der SQL-Instanz verwendet wird. Benutzername Benutzername eines Kontos mit Rechten zum Aktualisieren der Tabelle in der SQL-Instanz. Wenn die Zieldatenbank eine SQL Server-Datenbank ist und Sie die Windows-Authentifizierung verwenden, muss der Benutzername für eigenständige Server die Form „Hostname\Konto_des_SQL-Administrators“ und für Domänenmitgliedsserver die Form „Domäne\Konto_des_SQL-Administrators“ aufweisen. Bei anderen Datenbanken ist der Benutzername ein lokales Konto in der Datenbank. Kennwort Das Kennwort des angegebenen Benutzernamens. DN ist Anker Sofern nicht bekannt ist, dass Ihre Umgebung diese Einstellungen erfordert, aktivieren Sie die Kontrollkästchen DN ist Anker und Exporttyp:Objekt ersetzen nicht.
6.2 Abrufen des Schemas aus der Datenbank
Nachdem Sie die Anmeldeinformationen angegeben haben, kann der ECMA-Connectorhost das Schema Ihrer Datenbank abrufen. Fahren Sie mit der Konfiguration der SQL-Verbindung fort:
Auf der Seite Schema 1 geben Sie die Liste der Objekttypen an. In diesem Beispiel gibt es nur einen einzigen Objekttyp:
User
. Füllen Sie die Felder mit den Werten aus, die in der Tabelle unter dem Bild angegeben sind, und wählen Sie Weiter aus.Eigenschaft Wert Erkennungsmethode für Objekttyp Fixed Value (Fester Wert) Liste mit festem Wert/Tabelle/Sicht/SP (Stored Procedure, gespeicherte Prozedur) Benutzer Nachdem Sie Weiter ausgewählt haben, wird automatisch die nächste Seite für die Konfiguration des Objekttyps
User
angezeigt. Auf der Seite Schema 2 geben Sie an, wie Benutzer in Ihrer Datenbank dargestellt werden. In diesem Beispiel handelt es sich um eine einzige SQL-Tabelle mit dem NamenEmployees
. Füllen Sie die Felder mit den Werten aus, die in der Tabelle unter dem Bild angegeben sind, und wählen Sie Weiter aus.Eigenschaft Wert Benutzer:Attributerkennung Tabelle Benutzer:Tabelle/Sicht/SP Der Name der Tabelle in Ihrer Datenbank, z. B. Employees
Hinweis
Wenn ein Fehler auftritt, überprüfen Sie Ihre Datenbankkonfiguration, und stellen Sie sicher, dass der Benutzer, den Sie auf der Seite Konnektivität angegeben haben, über Lesezugriff auf das Schema der Datenbank verfügt.
Wenn Sie Weiter wählen, wird automatisch die nächste Seite angezeigt, auf der Sie die Spalten der Tabelle auswählen können, die Sie zuvor angegeben haben, wie z. B. die Tabelle
Employees
in diesem Beispiel, die als Benutzer-Anchor
und -DN
verwendet werden sollen. Diese Spalten enthalten eindeutige Bezeichner in Ihrer Datenbank. Sie können die gleichen oder andere Spalten verwenden, aber stellen Sie sicher, dass alle Zeilen, die sich bereits in dieser Datenbank befinden, eindeutige Werte in diesen Spalten haben. Füllen Sie auf der Seite Schema 3 die Felder mit den Werten aus, die in der Tabelle unter dem Bild angegeben sind, und wählen Sie Weiter aus.Eigenschaft Beschreibung Anker für User auswählen Die Spalte der Datenbanktabelle, die für den Anker verwendet werden soll, wie z. B. User:ContosoLogin
DN-Attribut für Benutzer auswählen Die Spalte der Datenbank, die für das DN-Attribut verwendet werden soll, z. B. AzureID
Nachdem Sie Weiter ausgewählt haben, wird automatisch die nächste Seite angezeigt, auf der Sie den Datentyp jeder Spalte von Tabelle
Employee
bestätigen und angeben können, ob der Connector sie importieren oder exportieren soll. Übernehmen Sie auf der Seite Schema 4 die Standardeinstellungen, und wählen Sie Weiter aus.Füllen Sie die Felder auf der Seite Global aus, und wählen Sie Weiter aus. In der Tabelle unter der Abbildung finden Sie Anweisungen für die einzelnen Felder.
Eigenschaft Beschreibung Delta-Strategie Wählen Sie für IBM DB2 None
Wasserzeichenabfrage Geben Sie für IBM DB2 SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1;
einDatum-/Uhrzeitformat der Datenquelle Für SQL Server yyyy-MM-dd HH:mm:ss
und für IBM DB2YYYY-MM-DD
Wählen Sie auf der Seite Partitionen die Schaltfläche Weiter aus.
6.3 Konfigurieren der Ausführungsprofile
Als Nächstes konfigurieren Sie die Ausführungsprofile Export und Vollständiger Import. Das Ausführungsprofil Export wird verwendet, wenn der ECMA-Connectorhost Änderungen von Microsoft Entra ID an die Datenbank senden muss, um Datensätze einzufügen, zu aktualisieren und zu löschen. Das Ausführungsprofil Vollständiger Import wird verwendet, wenn der ECMA-Connectorhostdienst gestartet wird, um den aktuellen Inhalt der Datenbank einzulesen. In diesem Beispiel verwenden Sie die Tabellenmethode in beiden Ausführungsprofilen, sodass der ECMA-Connectorhost die benötigten SQL-Anweisungen generiert.
Fahren Sie mit der Konfiguration der SQL-Verbindung fort:
Behalten Sie auf der Seite Ausführungsprofile die Aktivierung des Kontrollkästchens Export bei. Aktivieren Sie das Kontrollkästchen Vollständiger Import, und wählen Sie Weiter aus.
Eigenschaft BESCHREIBUNG Exportieren Ausführungsprofil zum Exportieren von Daten in SQL. Dieses Ausführungsprofil ist erforderlich. Vollständiger Import Ausführungsprofil zum Importieren aller Daten aus den zuvor angegebenen SQL-Quellen. Deltaimport Ausführungsprofil, das nur Änderungen aus SQL seit dem letzten vollständigen oder Deltaimport importiert. Nachdem Sie Weiter ausgewählt haben, wird automatisch die nächste Seite angezeigt, auf der Sie die Methode für das Ausführungsprofil Export konfigurieren können. Füllen Sie die Felder auf der Seite Export aus, und wählen Sie Weiter aus. In der Tabelle unter der Abbildung finden Sie Anweisungen für die einzelnen Felder.
Eigenschaft BESCHREIBUNG Vorgangsmethode Tabelle Tabelle/Sicht/SP Dieselbe Tabelle, die auf der Registerkarte „Schema 2“ konfiguriert wurde, z. B. Employees
Füllen Sie die Felder auf der Seite Vollständiger Import aus, und wählen Sie Weiter aus. In der Tabelle unter der Abbildung finden Sie Anweisungen für die einzelnen Felder.
Eigenschaft BESCHREIBUNG Vorgangsmethode Tabelle Tabelle/Sicht/SP Dieselbe Tabelle, die auf der Registerkarte „Schema 2“ konfiguriert wurde, z. B. Employees
6.4 Konfigurieren der Darstellung von Attributen in Microsoft Entra ID
Im letzten Schritt der SQL-Verbindungseinstellungen konfigurieren Sie, wie Attribute in Microsoft Entra ID angezeigt werden:
Füllen Sie die Felder auf der Seite Objekttypen aus, und wählen Sie Weiter aus. In der Tabelle unter der Abbildung finden Sie Anweisungen für die einzelnen Felder.
- Anker: Die Werte dieses Attributs sollten für jedes Objekt in der Zieldatenbank eindeutig sein. Der Microsoft Entra-Bereitstellungsdienst fragt den ECMA-Connectorhost nach dem ersten Zyklus mit diesem Attribut ab. Dieser Ankerwert sollte mit der Ankerspalte identisch sein, die Sie zuvor auf der Seite Schema 3 konfiguriert haben.
- Abfrageattribut: Dieses Attribut sollte mit dem Anker identisch sein.
- DN: In den meisten Fällen sollte die Option Automatisch generiert aktiviert werden. Wenn es nicht ausgewählt ist, stellen Sie sicher, dass das DN-Attribut einem Attribut in Microsoft Entra ID zugeordnet ist, das den DN in diesem Format speichert:
CN = anchorValue, Object = objectType
. Weitere Informationen zu Ankern und dem DN finden Sie unter Grundlegendes zu Ankerattributen und DNs (Distinguished Names).
Eigenschaft BESCHREIBUNG Zielobjekt Benutzer Anchor Die Spalte, die auf der Registerkarte „Schema 3“ konfiguriert wurde, z. B. ContosoLogin
Abfrageattribut Dieselbe Spalte wie der Anker, z. B. ContosoLogin
DN Dieselbe Spalte, die auf der Registerkarte „Schema 3“ konfiguriert wurde, z. B. ContosoLogin
Automatisch generiert Überprüft Der Connectorhost von Ecma International ermittelt die von der Zieldatenbank unterstützten Attribute. Sie können wählen, welches dieser Attribute Sie für Microsoft Entra ID verfügbar machen möchten. Diese Attribute können dann im Azure-Portal zur Bereitstellung konfiguriert werden. Fügen Sie auf der Seite Attribute auswählen alle Attribute aus der Dropdownliste jeweils einzeln hinzu.
In der Dropdownliste Attribut werden alle Attribute angezeigt, die in der Zieldatenbank gefunden wurden und nicht auf der vorherigen Seite Attribute auswählen ausgewählt wurden. Nachdem alle relevanten Attribute hinzugefügt wurden, wählen Sie Weiter aus.
- Wählen Sie auf der Seite Bereitstellung aufheben unter Flow deaktivieren die Option Löschen aus. Die auf der vorherigen Seite ausgewählten Attribute können auf der Seite „Bereitstellung aufheben“ nicht ausgewählt werden. Wählen Sie Fertig stellen aus.
Hinweis
Wenn Sie Attributwert festlegen verwenden, sollten Sie beachten, dass nur boolesche Werte zulässig sind.
7. Sicherstellen, dass der ECMA2Host-Dienst ausgeführt wird
Wählen Sie auf dem Server, auf dem der Microsoft Entra-ECMA-Connectorhost ausgeführt wird, Starten aus.
Geben Sie run (Ausführen) und services.msc in das Feld ein.
Stellen Sie sicher, dass Microsoft ECMA2Host in der in der Liste Dienste enthalten ist und ausgeführt wird. Wählen Sie andernfalls Starten aus.
Wenn Sie eine Verbindung zu einer neuen oder leeren Datenbank ohne Benutzer herstellen, fahren Sie mit dem nächsten Abschnitt fort. Führen Sie andernfalls die folgenden Schritte aus, um zu bestätigen, dass der Connector vorhandene Benutzer aus der Datenbank identifiziert hat.
- Wenn Sie den Dienst kürzlich gestartet haben und über viele Benutzerobjekte in der Datenbank verfügen, warten Sie einige Minuten, bis der Connector eine Verbindung mit der Datenbank herstellt.
8. Konfigurieren der Anwendungsverbindung im Azure-Portal
Kehren Sie zu dem Webbrowserfenster zurück, in dem Sie die Anwendungsbereitstellung konfiguriert haben.
Hinweis
Wenn das Zeitlimit für das Fenster überschritten wurde, müssen Sie den Agent erneut auswählen.
- Melden Sie sich beim Azure-Portal an.
- Wechseln Sie zu Unternehmensanwendungen und der Anwendung Lokale ECMA-App.
- Wählen Sie Bereitstellung aus.
- Wenn Erste Schritte angezeigt wird, ändern Sie den Modus in Automatisch. Wählen Sie im Abschnitt Lokale Konnektivität den Agent aus, den Sie bereitgestellt haben, und wählen Sie dann Agent(s) zuweisen aus. Wechseln Sie andernfalls zu Bereitstellung bearbeiten.
Geben Sie im Abschnitt Administratoranmeldeinformationen die folgende URL ein. Ersetzen Sie den Teil
{connectorName}
durch den Namen des Connectors auf dem ECMA-Connectorhost, z. B. SQL. Beim Connectornamen muss die Groß-/Kleinschreibung beachtet werden, und sie sollte mit der im Assistenten konfigurierten identisch sein. Sie könnenlocalhost
auch durch den Hostnamen Ihres Computers ersetzen.Eigenschaft Wert Mandanten-URL https://localhost:8585/ecma2host_{connectorName}/scim
Geben Sie den Wert des geheimen Tokens ein, das Sie beim Erstellen des Connectors definiert haben.
Hinweis
Wenn Sie den Agent gerade der Anwendung zugewiesen haben, warten Sie 10 Minuten, bis die Registrierung abgeschlossen ist. Der Konnektivitätstest funktioniert erst, wenn die Registrierung abgeschlossen ist. Sie können erzwingen, dass die Agent-Registrierung abgeschlossen wird, indem Sie den Bereitstellungs-Agent auf Ihrem Server neu starten, um den Registrierungsprozess zu beschleunigen. Navigieren Sie zu Ihrem Server, suchen Sie über die Windows-Suchleiste nach Dienste, identifizieren Sie den Dienst Microsoft Entra Connect-Bereitstellungs-Agent, klicken Sie mit der rechten Maustaste auf den Dienst, und starten Sie ihn neu.
Wählen Sie Verbindung testen aus, und warten Sie eine Minute.
Wenn der Verbindungstest erfolgreich war und angezeigt wird, dass die angegebenen Anmeldeinformationen zum Aktivieren der Bereitstellung autorisiert sind, wählen Sie Speichern aus.
9. Konfigurieren von Attributzuordnungen
Nun müssen Sie Attribute von der Darstellung der Benutzer in Microsoft Entra ID der Darstellung der Benutzer in der lokalen SQL-Datenbank der Anwendung zuordnen.
Sie verwenden das Azure-Portal, um die Zuordnung zwischen den Attributen von Microsoft Entra-Benutzer*innen und den Attributen zu konfigurieren, die Sie zuvor im Assistenten für die Ecma International-Hostkonfiguration ausgewählt haben.
Stellen Sie sicher, dass das Microsoft Entra-Schema die Attribute enthält, die für die Datenbank erforderlich sind. Wenn die Datenbank erfordert, dass Benutzer über ein Attribut wie
uidNumber
verfügen und dieses Attribut nicht bereits Teil Ihres Microsoft Entra-Schemas für Benutzer ist, müssen Sie die Verzeichniserweiterungsfunktion verwenden, um dieses Attribut als Erweiterung hinzuzufügen.Wählen Sie im Microsoft Entra-Admin Center unter Unternehmensanwendungen die Anwendung Lokale ECMA-App aus und wählen Sie dann die Seite Bereitstellung aus.
Wählen Sie Bereitstellung bearbeiten aus, und warten Sie 10 Sekunden.
Erweitern Sie Mappings und wählen Sie die Zuordnung Microsoft Entra-ID-Benutzer bereitstellen aus. Wenn Sie die Attributzuordnungen für diese Anwendung zum ersten Mal konfiguriert haben, ist nur eine einzelne Zuordnung für einen Platzhalter vorhanden.
Um sicherzustellen, dass das Schema der Datenbank in Microsoft Entra ID verfügbar ist, aktivieren Sie das Kontrollkästchen Erweiterte Optionen anzeigen, und wählen Sie Attributliste für ScimOnPremises bearbeiten aus. Stellen Sie sicher, dass alle im Konfigurations-Assistenten ausgewählten Attribute aufgelistet sind. Falls nicht, warten Sie einige Minuten, bis das Schema aktualisiert wurde, und laden Sie die Seite dann neu. Sobald die aufgelisteten Attribute angezeigt werden, schließen Sie die Seite, um zur Zuordnungsliste zurückzukehren.
Klicken Sie nun auf die Zuordnung userPrincipalName PLATZHALTER. Diese Zuordnung wird standardmäßig hinzugefügt, wenn Sie die lokale Bereitstellung zum ersten Mal konfigurieren.
Ändern Sie die Werte des Attributs so, dass sie den folgenden entsprechen:
Zuordnungstyp | Quellattribut | Zielattribut |
---|---|---|
Direkt | userPrincipalName | urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin |
Wählen Sie nun Neue Zuordnung hinzufügen aus, und wiederholen Sie den nächsten Schritt für jede Zuordnung.
Geben Sie die Quell- und Zielattribute für jede der Mappings in der folgenden Tabelle an.
Zuordnungstyp Quellattribut Zielattribut Direkt userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin Direkt objectId urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:AzureID Direkt mail urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:Email Direkt givenName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:FirstName Direkt surname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:LastName Direkt mailNickname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:textID Nachdem Sie alle Zuordnungen hinzugefügt haben, wählen Sie Speichern aus.
10. Zuweisen von Benutzern zu einer Anwendung
Da der Microsoft Entra-ECMA-Connectorhost und Microsoft Entra ID nun miteinander kommunizieren und die Attributzuordnungen konfiguriert sind, können Sie mit der Konfiguration der Benutzer für den Bereitstellungsbereich fortfahren.
Wichtig
Wenn Sie mit der Rolle „Hybrididentitätsadmin“ angemeldet wurden, müssen Sie sich zum Ausführen der Schritte in diesem Abschnitt zuerst abmelden und dann mit einem Konto anmelden, das mindestens über die Rolle „Anwendungsadmin“ verfügt. Die Rolle „Hybrididentitätsadministrator“ verfügt nicht über Berechtigungen zum Zuweisen von Benutzern zu Anwendungen.
Wenn vorhandene Benutzer in der SQL-Datenbank vorhanden sind, sollten Sie Anwendungsrollenzuweisungen für diese vorhandenen Benutzer erstellen. Weitere Informationen zum Erstellen von großen Mengen von Anwendungsrollenzuweisungen finden Sie unter Verwalten der vorhandenen Benutzer einer Anwendung in Microsoft Entra ID.
Andernfalls, wenn keine aktuellen Benutzer der Anwendung vorhanden sind, wählen Sie einen Testbenutzer aus Microsoft Entra aus, der für die Anwendung bereitgestellt wird.
Stellen Sie sicher, dass die Benutzer alle Eigenschaften aufweisen, die den erforderlichen Attributen des Datenbankschemas zugeordnet werden.
Wählen Sie im Azure-Portal die Option Unternehmensanwendungen aus.
Wählen Sie die Anwendung Lokale ECMA-App aus.
Wählen Sie links unter Verwalten die Option Benutzer und Gruppen aus.
Wählen Sie Benutzer/Gruppe hinzufügen aus.
Wählen Sie unter Benutzer die Option Keine Elemente ausgewählt aus.
Wählen Sie auf der rechten Seite Benutzer und dann die Schaltfläche Auswählen aus.
Wählen Sie nun Zuweisen aus.
11. Testen der Bereitstellung
Nachdem nun Ihre Attribute zugeordnet und die Benutzer zugewiesen sind, können Sie die bedarfsorientierte Bereitstellung mit einem Ihrer Benutzer testen.
Wählen Sie im Azure-Portal die Option Unternehmensanwendungen aus.
Wählen Sie die Anwendung Lokale ECMA-App aus.
Wählen Sie links Bereitstellung aus.
Klicken Sie auf Bei Bedarf bereitstellen.
Suchen Sie nach einem Ihrer Testbenutzer, und wählen Sie Bereitstellen aus.
Nach einigen Sekunden wird die Meldung Der Benutzer wurde erfolgreich im Zielsystem erstellt mit einer Liste der Benutzerattribute angezeigt.
12. Starten der Benutzerbereitstellung
Nachdem die bedarfsorientierte Bereitstellung erfolgreich war, wechseln Sie zurück zur Konfigurationsseite der Bereitstellung. Stellen Sie sicher, dass der Bereich nur auf zugewiesene Benutzer und Gruppen festgelegt ist, aktivieren Sie die Bereitstellung (On), und wählen Sie Speichern aus.
Warten Sie einige Minuten, bis die Bereitstellung gestartet wurde. Dies kann bis zu 40 Minuten dauern. Wenn Sie nach Abschluss des Bereitstellungsauftrags (wie im nächsten Abschnitt beschrieben) auch Ihre Tests abgeschlossen haben, können Sie den Bereitstellungsstatus in Aus ändern und Speichern auswählen. Durch diese Aktion wird der Bereitstellungsdienst in Zukunft nicht mehr ausgeführt.
Beheben von Fehlern bei der Bereitstellung
Wenn ein Fehler angezeigt wird, wählen Sie Bereitstellungsprotokolle anzeigen aus. Suchen Sie im Protokoll nach einer Zeile mit dem Status Fehler und wählen Sie diese Zeile aus.
Wenn die Fehlermeldung Fehler beim Erstellen des Benutzers lautet, überprüfen Sie die angezeigten Attribute anhand der Anforderungen des Datenbankschemas.
Weitere Informationen finden Sie auf der Registerkarte Problembehandlung und Empfehlungen. Wenn der ODBC-Treiber eine Meldung zurückgegeben hat, könnte diese hier angezeigt werden. Die Meldung ERROR [23000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'FirstName', table 'CONTOSO.dbo.Employees'; column does not allow nulls.
ist beispielsweise ein Fehler des ODBC-Treibers. In diesem Fall könnte column does not allow nulls
darauf hindeuten, dass die Spalte FirstName
in der Datenbank obligatorisch ist, den bereitzustellenden Benutzern jedoch kein givenName
-Attribut zugewiesen ist, sodass die Benutzer nicht bereitgestellt werden konnten.
Überprüfen der erfolgreichen Bereitstellung von Benutzern
Kontrollieren Sie im Anschluss an die Wartezeit die SQL-Datenbank, um zu überprüfen, ob neue Benutzer bereitgestellt werden.
Anhang A
Wenn Sie SQL Server verwenden, können Sie das folgende SQL-Skript zum Erstellen der Beispieldatenbank verwenden.
---Creating the Database---------
Create Database CONTOSO
Go
-------Using the Database-----------
Use [CONTOSO]
Go
-------------------------------------
/****** Object: Table [dbo].[Employees] Script Date: 1/6/2020 7:18:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Employees](
[ContosoLogin] [nvarchar](128) NULL,
[FirstName] [nvarchar](50) NOT NULL,
[LastName] [nvarchar](50) NOT NULL,
[Email] [nvarchar](128) NULL,
[InternalGUID] [uniqueidentifier] NULL,
[AzureID] [uniqueidentifier] NULL,
[textID] [nvarchar](128) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Employees] ADD CONSTRAINT [DF_Employees_InternalGUID] DEFAULT (newid()) FOR [InternalGUID]
GO