Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Der verwaltete SharePoint-Connector befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Verwalten von Azure Databricks-Vorschauen.
Von Bedeutung
M2M OAuth für SharePoint befindet sich in der öffentlichen Vorschau.
Erfahren Sie, wie Sie die OAuth-Computer-zu-Computer-Authentifizierung (M2M) für die SharePoint-Aufnahme in Azure Databricks konfigurieren.
Welches Berechtigungsmodell sollte ich verwenden?
Die M2M-Authentifizierung unterstützt die folgenden Berechtigungsmodelle in Microsoft Azure:
- Sites.Read.All: Gewährt Zugriff auf alle SharePoint-Websites in Ihrer Organisation. Diese Option verfügt über weniger Setupschritte, bietet jedoch umfassenderen Zugriff.
- Sites.Selected: Gewährt nur Zugriff auf bestimmte SharePoint-Websites. Dies erfordert eine zusätzliche Konfiguration, folgt jedoch dem Prinzip der geringsten Rechte.
Databricks empfiehlt, wann immer möglich, den Zugriff des Dienstprinzipals auf nur die Websites zu beschränken, die Sie aufnehmen müssen.
Voraussetzungen
- Administratorrechte in Ihrem Microsoft Entra ID-Mandanten.
Sites.Read.All Erlaubnisse
Diese Option gewährt dem Dienstprinzipal Zugriff auf alle SharePoint-Websites in Ihrer Organisation.
Schritt 1: Abrufen der SharePoint-Website-ID
- Besuchen Sie die gewünschte SharePoint-Website in Ihrem Browser.
- Hängen Sie
/_api/site/idan die URL an. - Drücken Sie Enter.
Schritt 2: Abrufen von SharePoint-Laufwerknamen (optional)
Wenn Sie alle Speicherorte und Dokumente auf Ihrer SharePoint-Website importieren möchten, überspringen Sie diesen Schritt. Wenn Sie nur eine Teilmenge der Laufwerke importieren möchten, müssen Sie deren Namen erfassen.
Die Laufwerknamen werden im linken Seitenmenü aufgeführt. Es gibt ein Standardlaufwerk namens "Dokumente " auf jeder Website. Ihre Organisation verfügt möglicherweise jedoch über zusätzliche Laufwerke. Die Laufwerke im folgenden Screenshot umfassen beispielsweise doclib1, subsite1doclib1 und vieles mehr.
Einige Laufwerke sind möglicherweise in der Liste ausgeblendet. Der Ersteller des Laufwerks kann dies in den Laufwerkseinstellungen konfigurieren. In diesem Fall sind ausgeblendete Laufwerke möglicherweise im Abschnitt "Websiteinhalte " sichtbar.
Schritt 3: Erstellen einer Microsoft Entra-ID-Anwendung
In diesem Schritt wird eine Anwendungsregistrierung erstellt, die mithilfe eines Dienstprinzipals auf die SharePoint-Dateien zugreifen kann.
Klicken Sie im Microsoft Azure-Portal (https://portal.azure.com) auf "Microsoft Entra-ID". Möglicherweise müssen Sie nach "Microsoft Entra ID" suchen.
Klicken Sie in der linken Randleiste unter dem Abschnitt "Verwalten " auf "App-Registrierungen".
Klicken Sie auf Neue Registrierung.
Geben Sie im Formular "Anwendung registrieren " Folgendes an:
- Ein Name für Ihre Anwendung (z. B. "Databricks SharePoint Ingestion").
- Gibt an, ob andere Mandanten auf diese Anwendung zugreifen sollen.
Sie müssen keine Umleitungs-URL für die M2M-Authentifizierung angeben.
Klicken Sie auf Registrieren. Sie werden zur App-Detailseite umgeleitet.
Notieren Sie sich die folgenden Werte:
- Anwendungs-ID (Client)
- Verzeichnis-ID (Mandant)
Klicken Sie auf "Clientanmeldeinformationen": Hinzufügen eines Zertifikats oder eines geheimen Schlüssels.
Klicken Sie auf + Neuer geheimer Clientschlüssel.
Fügen Sie eine Beschreibung hinzu.
Klicken Sie auf Hinzufügen. Die aktualisierte Liste der Kundengeheimnisse wird angezeigt.
Kopieren Sie den geheimen Clientschlüsselwert, und speichern Sie ihn sicher. Nachdem Sie die Seite verlassen haben, können Sie nicht auf den geheimen Clientschlüssel zugreifen.
Schritt 4: Konfigurieren von API-Berechtigungen
Erteilen Sie der Anwendung die erforderlichen Berechtigungen zum Lesen von SharePoint-Dateien.
Klicken Sie auf der Seite "App-Registrierung" im linken Menü auf API-Berechtigungen .
Klicken Sie auf + Berechtigung hinzufügen.
Klicken Sie im Bereich "API-Berechtigungen anfordern " auf Microsoft Graph.
Klicken Sie auf Anwendungsberechtigungen.
Suchen Sie nach den folgenden Berechtigungen, und wählen Sie sie aus:
- Sites.Read.All
- Files.Read.All
Klicken Sie auf Berechtigungen hinzufügen.
Klicken Sie auf Admin-Zustimmung für [Ihre Organisation] erteilen.
Klicken Sie auf 'Ja ', um dies zu bestätigen.
In der Berechtigungsliste wird in der Spalte "Status " ein grünes Häkchen angezeigt, das angibt, dass die Administratorzustimmung erteilt wurde.
Schritt 5: Erstellen einer Verbindung in Azure Databricks
Klicken Sie im Katalog-Explorer im linken Menü auf externe Daten .
Klicken Sie auf Verbindung herstellen.
Geben Sie im Dialogfeld "Verbindung erstellen " Folgendes an:
- Verbindungsname: Ein eindeutiger Name für Ihre Verbindung
- Verbindungstyp: Microsoft SharePoint
- Authentifizierungstyp: OAuth-Computer auf Computer
- Client-ID: Die Anwendungs-ID (Client-ID) aus Schritt 3
- Geheimer Clientschlüssel: Der wert des geheimen Clientschlüssels aus Schritt 3
-
Domäne: Ihre SharePoint-Domäne im Format
https://YOURINSTANCE.sharepoint.com - Mandanten-ID: Die Mandanten-ID (Verzeichnis-ID) aus Schritt 3
Klicken Sie auf "Erstellen".
Sites.Selected Erlaubnisse
Diese Option schränkt den Zugriff des Dienstprinzipals nur auf bestimmte SharePoint-Websites ein.
Schritte 1-3: Abschließen des grundlegenden Setups
Folgen Sie den Schritten 1 bis 3 im Sites.Read.All Abschnitt. Diese Schritte sind für beide Berechtigungsmodelle identisch.
- Rufen Sie die SharePoint-Website-ID ab.
- SharePoint-Laufwerknamen abrufen (optional).
- Erstellen Sie eine Microsoft Entra ID-Anwendung.
Schritt 4: Konfigurieren von API-Berechtigungen für Sites.Selected
Gewähren Sie der Anwendung eingeschränkte Berechtigungen, für die eine zusätzliche websitespezifische Autorisierung erforderlich ist.
Klicken Sie auf der Seite "App-Registrierung" im linken Menü auf API-Berechtigungen .
Klicken Sie auf + Berechtigung hinzufügen.
Klicken Sie im Bereich "API-Berechtigungen anfordern " auf Microsoft Graph.
Klicken Sie auf Anwendungsberechtigungen.
Suchen Und wählen Sie "Sites.Selected" aus.
Klicken Sie auf Berechtigungen hinzufügen.
Klicken Sie auf Admin-Zustimmung für [Ihre Organisation] erteilen.
Dieser Schritt erfordert Administratorrechte in Ihrem Microsoft Entra ID-Mandanten.
Klicken Sie auf 'Ja ', um dies zu bestätigen.
In der Berechtigungsliste wird in der Spalte "Status " ein grünes Häkchen angezeigt, das angibt, dass die Administratorzustimmung erteilt wurde.
Schritt 4b: Erteilen von websitespezifischen Berechtigungen
Nach der Konfiguration Sites.Selected in Azure müssen Sie der Anwendung explizit Zugriff auf bestimmte SharePoint-Websites gewähren. Dazu können Sie entweder Microsoft Graph Explorer oder ein Python-Notizbuch verwenden.
Microsoft Graph-Explorer
Navigieren Sie zu Microsoft Graph-Tester.
Melden Sie sich mit einem Konto an, das über Administratorberechtigungen für Ihre SharePoint-Website verfügt.
Klicken Sie auf "Berechtigungen ändern" , und stimmen Sie den erforderlichen Berechtigungen zu (Sites.FullControl.All).
Ändern Sie die HTTP-Methode in POST.
Geben Sie die folgende URL ein, und ersetzen
{site_id}Sie diese durch Ihre SharePoint-Website-ID aus Schritt 1:https://graph.microsoft.com/v1.0/sites/{site_id}/permissionsFügen Sie im Abschnitt "Anforderungstext " den folgenden JSON-Code ein, und ersetzen Sie die Platzhalterwerte:
{ "roles": ["read"], "grantedToIdentities": [ { "application": { "id": "<YOUR_CLIENT_ID>", "displayName": "<YOUR_APP_NAME>" } } ] }Ersetzen:
-
<YOUR_CLIENT_ID>: Die Anwendungs-ID (Client) aus Schritt 3 -
<YOUR_APP_NAME>: Der Name Ihrer Anwendungsregistrierung
-
Klicken Sie auf Abfrage ausführen.
Eine erfolgreiche Antwort gibt an, dass die Berechtigung erteilt wurde.
Python-Notizbuch
Erstellen Sie ein neues Notizbuch in Ihrem Azure Databricks-Arbeitsbereich.
Installieren Sie die MSAL-Bibliothek, indem Sie den folgenden Befehl in einer Zelle ausführen:
%pip install msalFügen Sie in einer neuen Zelle den folgenden Code ein, und ersetzen Sie die Platzhalterwerte:
import msal import requests # Configuration - Replace these values TENANT_ID = "<YOUR_TENANT_ID>" # Directory (tenant) ID from Step 3 ADMIN_CLIENT_ID = "<ADMIN_CLIENT_ID>" # Client ID of an app with admin consent ADMIN_CLIENT_SECRET = "<ADMIN_CLIENT_SECRET>" # Client secret of admin app TARGET_APP_CLIENT_ID = "<TARGET_CLIENT_ID>" # Client ID from Step 3 TARGET_APP_DISPLAY_NAME = "<TARGET_APP_NAME>" # Name of your app SITE_ID = "<YOUR_SITE_ID>" # SharePoint site ID from Step 1 # Authenticate using MSAL authority = f"https://login.microsoftonline.com/{TENANT_ID}" app = msal.ConfidentialClientApplication( ADMIN_CLIENT_ID, authority=authority, client_credential=ADMIN_CLIENT_SECRET ) # Acquire token token_result = app.acquire_token_for_client( scopes=["https://graph.microsoft.com/.default"] ) if "access_token" in token_result: access_token = token_result["access_token"] # Grant site permissions grant_url = f"https://graph.microsoft.com/v1.0/sites/{SITE_ID}/permissions" headers = { "Authorization": f"Bearer {access_token}", "Content-Type": "application/json" } grant_payload = { "roles": ["read"], "grantedToIdentities": [ { "application": { "id": TARGET_APP_CLIENT_ID, "displayName": TARGET_APP_DISPLAY_NAME } } ] } response = requests.post(grant_url, headers=headers, json=grant_payload) if response.status_code in [200, 201]: print("Successfully granted site permissions") print(response.json()) else: print(f"Error: {response.status_code}") print(response.text) else: print("Failed to acquire token") print(token_result.get("error")) print(token_result.get("error_description"))Führen Sie die Zelle aus. Eine erfolgreiche Antwort gibt an, dass die Berechtigung erteilt wurde.
Schritt 5: Erstellen einer Verbindung in Azure Databricks
Befolgen Sie Schritt 5 aus dem Sites.Read.All Abschnitt, um die Verbindung in Azure Databricks mithilfe der Anmeldeinformationen aus Ihrer Anwendungsregistrierung zu erstellen.