Freigeben über


Microsoft Graph-Connectors für Azure SQL und Microsoft SQL Server

Mit dem Microsoft SQL Server- oder Azure SQL-Microsoft Graph-Connector kann Ihre Organisation Daten aus einer lokalen SQL Server-Datenbank oder einer datenbank, die in Ihrer Azure SQL-Instanz in der Cloud gehostet wird, ermitteln und indizieren. Der Connector indiziert den angegebenen Inhalt in Microsoft Search. Um den Index mit Quelldaten auf dem neuesten Stand zu halten, unterstützt er regelmäßige vollständige und inkrementelle Durchforstungen. Mit diesen SQL-Connectors können Sie auch den Zugriff auf Suchergebnisse für bestimmte Benutzer einschränken.

Hinweis

Lesen Sie den Artikel Einrichten Ihres Microsoft Graph-Connectors , um die allgemeinen Anweisungen zum Einrichten von Graph-Connectors zu verstehen.

Dieser Artikel richtet sich an alle Benutzer, die einen Azure SQL- oder Microsoft SQL Server-Connector konfigurieren, ausführen und überwachen. Es ergänzt den allgemeinen Einrichtungsprozess und zeigt Anweisungen, die nur für die Azure SQL- und Microsoft SQL Server-Connectors gelten. Dieser Artikel enthält auch Informationen zu Einschränkungen für beide Connectors.

Bevor Sie beginnen

Installieren des Microsoft Graph-Connector-Agents (nur für den lokalen Microsoft SQL Server-Connector erforderlich)

Um auf Ihre lokalen Drittanbieterdaten zuzugreifen, müssen Sie den Connector-Agent installieren und konfigurieren. Weitere Informationen finden Sie unter Installieren des Microsoft Graph-Connector-Agents .

Hinweis

Wenn Sie beim Konfigurieren des Microsoft SQL Server-Connectors die Windows-Authentifizierung verwenden, muss der Benutzer, mit dem Sie sich anmelden möchten, über interaktive Anmelderechte für den Computer verfügen, auf dem der Connector-Agent installiert ist. Informationen zum Überprüfen der Anmelderechte finden Sie in der Dokumentation zur Verwaltung von Anmelderichtlinien .

Schritt 1: Hinzufügen eines Connectors im Microsoft 365 Admin Center

Befolgen Sie die allgemeinen Setupanweisungen.

Schritt 2: Benennen der Verbindung

Befolgen Sie die allgemeinen Setupanweisungen.

Schritt 3: Konfigurieren der Verbindungseinstellungen

Registrieren einer App (nur für Azure SQL-Connector)

Für den Azure SQL-Connector müssen Sie eine App in Microsoft Entra ID registrieren, damit die Microsoft Search-App auf Daten für die Indizierung zugreifen kann. Weitere Informationen zum Registrieren einer App finden Sie in der Microsoft Graph-Dokumentation zum Registrieren einer App.

Nachdem Sie die App-Registrierung abgeschlossen und den App-Namen, die Anwendungs-ID (Client-ID) und die Mandanten-ID notieren, müssen Sie einen neuen geheimen Clientschlüssel generieren. Der geheime Clientschlüssel wird nur einmal angezeigt. Beachten Sie& den geheimen Clientschlüssel sicher zu speichern. Verwenden Sie die Client-ID und den geheimen Clientschlüssel beim Konfigurieren einer neuen Verbindung in Microsoft Search.

Zum Hinzufügen der registrierten App zu Ihrer Azure SQL-Datenbank müssen Sie Folgendes ausführen:

  • Anmelden bei Ihrer Azure SQL-Datenbank
  • Öffnen eines neuen Abfragefensters
  • Erstellen Sie einen neuen Benutzer, indem Sie den Befehl "CREATE USER [App-Name] FROM EXTERNAL PROVIDER" ausführen.
  • Fügen Sie einen Benutzer zur Rolle hinzu, indem Sie den Befehl "exec sp_addrolemember 'db_datareader', [App-Name]" oder "ALTER ROLE db_datareader ADD MEMBER [App-Name]" ausführen.

Hinweis

Informationen zum Widerrufen des Zugriffs auf apps, die in der Microsoft Entra-ID registriert sind, finden Sie in der Azure-Dokumentation zum Entfernen einer registrierten App.

Verbindungseinstellungen

Um Ihren Microsoft SQL Server-Connector mit einer Datenquelle zu verbinden, müssen Sie den Datenbankserver, den Sie durchforsten möchten, und den lokalen Agent konfigurieren. Anschließend können Sie mit der erforderlichen Authentifizierungsmethode eine Verbindung mit der Datenbank herstellen.

Hinweis

  • Ihre Datenbank muss SQL Server Version 2008 oder höher ausführen, damit der Microsoft SQL Server-Connector eine Verbindung herstellen kann.
  • Der Azure SQL-Connector ermöglicht nur die Erfassung von einer Azure SQL-Instanz im selben Mandanten wie microsoft 365. Mandantenübergreifender Datenfluss wird nicht unterstützt.

Für den Azure SQL-Connector müssen Sie nur den Servernamen oder die IP-Adresse angeben, mit der Sie eine Verbindung herstellen möchten. Der Azure SQL-Connector unterstützt nur die Microsoft Entra ID OpenID Connect-Authentifizierung (OIDC), um eine Verbindung mit der Datenbank herzustellen.

Um die Sicherheit zu erhöhen, können Sie IP-Firewallregeln für Ihre Azure SQL Server-Instanz oder -Datenbank konfigurieren. Weitere Informationen zum Einrichten von IP-Firewallregeln finden Sie in der Dokumentation zu IP-Firewallregeln. Fügen Sie die folgenden Client-IP-Adressbereiche in den Firewalleinstellungen hinzu.

Region M365 Enterprise M365 Government
NAM 52.250.92.252/30, 52.224.250.216/30 52.245.230.216/30, 20.141.117.64/30
EUR 20.54.41.208/30, 51.105.159.88/30
APC 52.139.188.212/30, 20.43.146.44/30

Zum Durchsuchen des Datenbankinhalts müssen Sie sql-Abfragen angeben, wenn Sie den Connector konfigurieren. Diese SQL-Abfragen müssen alle Datenbankspalten benennen, die Sie indizieren möchten (d. h. Quelleigenschaften), einschließlich aller SQL-Joins, die ausgeführt werden müssen, um alle Spalten abzurufen. Um den Zugriff auf Suchergebnisse einzuschränken, müssen Sie zugriffssteuerungslisten (ACCESS Control Lists, ACLs) in SQL-Abfragen angeben, wenn Sie den Connector konfigurieren.

Schritt 3a: Vollständige Durchforstung (erforderlich)

In diesem Schritt konfigurieren Sie die SQL-Abfrage, die eine vollständige Durchforstung der Datenbank ausführt. Bei der vollständigen Durchforstung werden alle Spalten oder Eigenschaften ausgewählt, in denen Sie die Optionen Abfrage, Suche oder Abrufen auswählen möchten. Sie können auch ACL-Spalten angeben, um den Zugriff auf Suchergebnisse auf bestimmte Benutzer oder Gruppen einzuschränken.

Tipp

Um alle benötigten Spalten abzurufen, können Sie mehrere Tabellen verknüpfen.

Skript, das die OrderTable und AclTable mit Beispieleigenschaften zeigt.

Auswählen von Datenspalten (erforderlich) und ACL-Spalten (optional)

Das Beispiel zeigt eine Auswahl von fünf Datenspalten, die die Daten für die Suche enthalten: OrderId, OrderTitle, OrderDesc, CreatedDateTime und IsDeleted. Zum Festlegen von Ansichtsberechtigungen für jede Datenzeile können Sie optional die folgenden ACL-Spalten auswählen: AllowedUsers, AllowedGroups, DeniedUsers und DeniedGroups. Alle diese Datenspalten verfügen auch über die Optionen Abfrage, Suche oder Abrufen.

Wählen Sie Datenspalten aus, wie in dieser Beispielabfrage gezeigt: SELECT OrderId, OrderTitle, OrderDesc, AllowedUsers, AllowedGroups, DeniedUsers, DeniedGroups, CreatedDateTime, IsDeleted

Beachten Sie, dass die SQL-Connectors keine Spaltennamen mit nicht alphanumerischen Zeichen in der SELECT-Klausel zulassen. Entfernen Sie alle nicht alphanumerischen Zeichen aus Spaltennamen mithilfe eines Alias. Beispiel: SELECT column_name AS columnName

Um den Zugriff auf die Suchergebnisse zu verwalten, können Sie eine oder mehrere ACL-Spalten in der Abfrage angeben. Mit dem SQL-Connector können Sie den Zugriff auf Datensatzebene steuern. Sie können die gleiche Zugriffssteuerung für alle Datensätze in einer Tabelle verwenden. Wenn die ACL-Informationen in einer separaten Tabelle gespeichert sind, müssen Sie möglicherweise eine Verknüpfung mit diesen Tabellen in Ihrer Abfrage durchführen.

Die Verwendung der einzelnen ACL-Spalten in der obigen Abfrage wird unten beschrieben. In der folgenden Liste werden die vier Zugriffssteuerungsmechanismen erläutert.

  • AllowedUsers: Diese Spalte gibt die Liste der Benutzer-IDs an, die auf die Suchergebnisse zugreifen können. Im folgenden Beispiel hätte die Liste der Benutzer: john@contoso.com, keith@contoso.comund lisa@contoso.com nur Zugriff auf einen Datensatz mit OrderId = 12.
  • AllowedGroups: Diese Spalte gibt die Gruppe von Benutzern an, die auf die Suchergebnisse zugreifen können. Im folgenden Beispiel hätte group sales-team@contoso.com nur Zugriff auf den Datensatz mit OrderId = 12.
  • DeniedUsers: Diese Spalte gibt die Liste der Benutzer an, die keinen Zugriff auf die Suchergebnisse haben. Im folgenden Beispiel haben Benutzer john@contoso.com und keith@contoso.com keinen Zugriff auf den Datensatz mit OrderId = 13, während alle anderen Zugriff auf diesen Datensatz haben.
  • DeniedGroups: Diese Spalte gibt die Gruppe von Benutzern an, die keinen Zugriff auf die Suchergebnisse haben. Im folgenden Beispiel haben Gruppen engg-team@contoso.com und pm-team@contoso.com keinen Zugriff auf den Datensatz mit OrderId = 15, während alle anderen Zugriff auf diesen Datensatz haben.

Beispieldaten, die die OrderTable und AclTable mit Beispieleigenschaften zeigen.

Unterstützte Datentypen

In der folgenden Tabelle sind die SQL-Datentypen zusammengefasst, die in den MS SQL- und Azure SQL-Connectors unterstützt werden. Die Tabelle fasst auch den Indizierungsdatentyp für den unterstützten SQL-Datentyp zusammen. Weitere Informationen zu von Microsoft Graph-Connectors unterstützten Datentypen für die Indizierung finden Sie in der Dokumentation zu Eigenschaftenressourcentypen.

Kategorie Quelldatentyp Indizierungsdatentyp
Datum und Uhrzeit date
Datum/Uhrzeit
datetime2
smalldatetime
Datum/Uhrzeit
Exakte Zahl bigint
int
smallint
tinyint
int64
Exakte Zahl Bit Boolescher Wert
Ungefähre Zahl Gleitkommazahl
wirklich
double
Zeichenfolge verkohlen
varchar
text
string
Unicode-Zeichenfolgen nchar
nvarchar
ntext
string
String-Sammlung verkohlen
varchar
text
stringcollection*
Andere Datentypen uniqueidentifier string

*Um eine Spalte als StringCollection indizieren zu können, müssen Sie eine Zeichenfolge in den Zeichenfolgensammlungstyp umwandeln. Klicken Sie dazu in den Einstellungen für vollständige Durchforstung auf den Link "Datentypen bearbeiten", wählen Sie die entsprechenden Spalten als StringCollection aus, und geben Sie ein Trennzeichen zum Teilen der Zeichenfolge an.

Für jeden anderen Datentyp, der derzeit nicht direkt unterstützt wird, muss die Spalte explizit in einen unterstützten Datentyp umgewandelt werden.

Wasserzeichen (erforderlich)

Um eine Überlastung der Datenbank zu verhindern, setzt der Connector Vollständige Durchforstungsabfragen in Batches mit einer Vollständigen Durchforstungswasserzeichenspalte fort. Mithilfe des Werts der Wasserzeichenspalte wird jeder nachfolgende Batch abgerufen, und die Abfrage wird ab dem letzten Prüfpunkt fortgesetzt. Im Wesentlichen steuert dieser Mechanismus die Datenaktualisierung für vollständige Durchforstungen.

Erstellen Sie Abfrageausschnitte für Wasserzeichen, wie in diesen Beispielen gezeigt:

  • WHERE (CreatedDateTime > @watermark). Zitieren Sie den Namen der Wasserzeichenspalte mit dem reservierten Schlüsselwort @watermark. Wenn die Sortierreihenfolge der Wasserzeichenspalte aufsteigend ist, verwenden Sie >; andernfalls verwenden Sie <.
  • ORDER BY CreatedDateTime ASC. Sortieren Sie die Wasserzeichenspalte in aufsteigender oder absteigender Reihenfolge.

In der in der folgenden Abbildung gezeigten CreatedDateTime Konfiguration ist die ausgewählte Wasserzeichenspalte. Um den ersten Batch von Zeilen abzurufen, geben Sie den Datentyp der Wasserzeichenspalte an. In diesem Fall ist DateTimeder Datentyp .

Konfiguration der Wasserzeichenspalte.

Die erste Abfrage ruft die erste N Zeilenanzahl mit ab: "CreatedDateTime > 1. January 1753 00:00:00" (Mindestwert des DateTime-Datentyps). Nachdem der erste Batch abgerufen wurde, wird der höchste im Batch zurückgegebene Wert CreatedDateTime als Prüfpunkt gespeichert, wenn die Zeilen in aufsteigender Reihenfolge sortiert werden. Ein Beispiel ist der 1. März 2019 um 03:00:00 Uhr. Anschließend wird der nächste Batch von N Zeilen mithilfe von "CreatedDateTime > 1. März 2019 03:00:00" in der Abfrage abgerufen.

Überspringen vorläufig gelöschter Zeilen (optional)

Um vorläufig gelöschte Zeilen in Ihrer Datenbank von der Indizierungen auszuschließen, geben Sie den Spaltennamen und den Wert für vorläufiges Löschen an, der angibt, dass die Zeile gelöscht wurde.

Einstellungen für vorläufiges Löschen:

Vollständige Durchforstung: Verwalten von Suchberechtigungen

Wählen Sie Berechtigungen verwalten aus, um die verschiedenen Zugriffssteuerungsspalten (Access Control, ACL) auszuwählen, die den Zugriffssteuerungsmechanismus angeben. Wählen Sie den Spaltennamen aus, den Sie in der vollständigen SQL-Durchforstungsabfrage angegeben haben.

Es wird erwartet, dass jede der ACL-Spalten eine mehrwertige Spalte ist. Diese mehrfachen ID-Werte können durch Trennzeichen wie Semikolon (;), Komma (,) usw. getrennt werden. Sie müssen dieses Trennzeichen im Werttrennzeichenfeld angeben.

Die folgenden ID-Typen werden für die Verwendung als ACLs unterstützt:

  • Benutzerprinzipalname (UPN): Ein Benutzerprinzipalname (USER Principal Name, UPN) ist der Name eines Systembenutzers im E-Mail-Adressformat. Ein UPN (z. B. john.doe@domain.com) besteht aus dem Benutzernamen (Anmeldename), dem Trennzeichen (dem @-Symbol) und dem Domänennamen (UPN-Suffix).
  • Microsoft Entra-ID: In Microsoft Entra ID verfügt jeder Benutzer oder jede Gruppe über eine Objekt-ID wie "e0d3ad3d-0000-1111-2222-3c5f5c52ab9b".
  • Active Directory-Sicherheits-ID (AD): In einem lokalen AD-Setup verfügt jeder Benutzer und jede Gruppe über eine unveränderliche, eindeutige Sicherheits-ID, die in etwa wie "S-1-5-21-3878594291-2115959936-132693609-65242" aussieht.

Suchberechtigungseinstellungen zum Konfigurieren von Zugriffssteuerungslisten.

Schritt 3b: Inkrementelle Durchforstung (optional)

Geben Sie in diesem optionalen Schritt eine SQL-Abfrage an, um eine inkrementelle Durchforstung der Datenbank auszuführen. Mit dieser Abfrage bestimmt der SQL-Connector alle Änderungen an den Daten seit der letzten inkrementellen Durchforstung. Wählen Sie wie bei der vollständigen Durchforstung alle Spalten aus, in denen Sie die Optionen Abfrage, Suche oder Abrufen auswählen möchten. Geben Sie den gleichen Satz von ACL-Spalten an, den Sie in der vollständigen Durchforstungsabfrage angegeben haben.

Die Komponenten in der folgenden Abbildung ähneln den vollständigen Durchforstungskomponenten mit einer Ausnahme. In diesem Fall ist "ModifiedDateTime" die ausgewählte Wasserzeichenspalte. Sehen Sie sich die vollständigen Durchforstungsschritte an, um zu erfahren, wie Sie Ihre Abfrage für die inkrementelle Durchforstung schreiben, und sehen Sie sich die folgende Abbildung als Beispiel an.

Skript für die inkrementelle Durchforstung mit OrderTable, AclTable und Beispieleigenschaften, die verwendet werden können.

Schritt 4: Zuweisen von Eigenschaftenbezeichnungen

Befolgen Sie die allgemeinen Setupanweisungen.

Schritt 5: Verwalten des Schemas

Befolgen Sie die allgemeinen Setupanweisungen.

Schritt 6: Verwalten von Suchberechtigungen

Sie können die acLs verwenden, die im vollständigen Durchforstungsbildschirm angegeben sind , oder Sie können sie überschreiben, um Ihre Inhalte für alle sichtbar zu machen.

Schritt 7: Auswählen der Aktualisierungseinstellungen

Befolgen Sie die allgemeinen Setupanweisungen.

Schritt 8: Überprüfen der Verbindung

Befolgen Sie die allgemeinen Setupanweisungen.

Begrenzungen

Die SQL-Connectors weisen in der Vorschauversion folgende Einschränkungen auf:

  • Microsoft SQL Server-Connector: Die lokale Datenbank muss SQL Server Version 2008 oder höher ausführen.
  • Das Microsoft 365-Abonnement und das Azure-Abonnement (das Azure SQL-Datenbank hostet) müssen sich innerhalb derselben Microsoft Entra-ID befinden.
  • ACLs werden nur mithilfe eines Benutzerprinzipalnamens (User Principal Name, UPN), einer Microsoft Entra-ID oder einer Active Directory-Sicherheit unterstützt.
  • Das Indizieren von umfangreichen Inhalten in Datenbankspalten wird nicht unterstützt. Beispiele für solche Inhalte sind HTML, JSON, XML, Blobs und Dokumentanalysen, die als Links in den Datenbankspalten vorhanden sind.

Problembehandlung

Nachdem Sie Ihre Verbindung veröffentlicht haben, können Sie den Status auf der Registerkarte Datenquellen im Admin Center überprüfen. Informationen zum Durchführen von Updates und Löschungen finden Sie unter Verwalten ihres Connectors. Schritte zur Problembehandlung für häufig auftretende Probleme finden Sie hier.

Wenn Sie andere Probleme haben oder Feedback geben möchten, schreiben Sie uns aka.ms/TalkToGraphConnectors.