Freigeben über


Konfigurieren der manuellen Token-Aktualisierungs-Authentifizierung für die Microsoft SharePoint-Integration

Von Bedeutung

Der verwaltete Microsoft SharePoint-Connector befindet sich in der Betaversion.

Auf dieser Seite wird beschrieben, wie Sie die Authentifizierung mit manueller Token-Aktualisierung für den Datenimport aus Microsoft SharePoint in Azure Databricks konfigurieren.

Schritt 1: Abrufen der SharePoint-Website-ID

  1. Besuchen Sie die gewünschte SharePoint-Website in Ihrem Browser.
  2. Hängen Sie /_api/site/id an die URL an.
  3. Drücken Sie Enter.

Schritt 2: Abrufen von SharePoint-Laufwerknamen (optional)

Wenn Sie alle Laufwerke und Dokumente auf Ihrer SharePoint-Website aufnehmen möchten, können Sie diesen Schritt überspringen. Wenn Sie jedoch nur eine Teilmenge der Laufwerke einlesen möchten, müssen Sie deren Namen erfassen.

Sie finden die Laufwerksnamen im linken Menü. Es gibt ein Standardlaufwerk namens "Dokumente " auf jeder Website. Ihre Organisation verfügt eventuell über zusätzliche Laufwerke. Die Laufwerke im folgenden Screenshot umfassen beispielsweise doclib1, subsite1doclib1 und vieles mehr.

Anzeigen von SharePoint-Laufwerken

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.

Anzeigen ausgeblendeter SharePoint-Laufwerke

Schritt 3: Erstellen eines Clients in der Microsoft Entra-ID

In diesem Schritt wird ein Client erstellt, der auf die SharePoint-Dateien zugreifen kann.

  1. Klicken Sie im Microsoft Azure-Portal (portal.azure.com) auf "Microsoft Entra-ID". Möglicherweise müssen Sie nach "Microsoft Entra ID" suchen.

    Azure-Portal: Entra-ID-Karte

  2. Klicken Sie im linken Menü unter dem Abschnitt "Verwalten " auf "App-Registrierungen".

  3. Klicken Sie auf Neue Registrierung.

    Schaltfläche

  4. Führen Sie im Formular "Registrieren eines Antrags" folgendes aus:

    • Gibt an, ob andere Mandanten auf diese Anwendung zugreifen sollen.

    • Die Umleitungs-URL, die Sie zum Abrufen des Authentifizierungscodes verwenden möchten. Geben Sie eine der folgenden Aktionen an:

      • Die Umleitungs-URL für Ihren eigenen Server
      • https://127.0.0.1 (Selbst wenn Sie keinen Server auf https://127.0.0.1 ausführen, versucht die App, zu dieser Seite umzuleiten. Der Code befindet sich in der resultierenden URL, und die URL weist das folgende Format auf: https://127.0.0.1:5000/oauth2redirect?code=<code>)

    Registrieren eines Anwendungsformulars

    Sie werden zur App-Detailseite umgeleitet.

    Seite mit OAuth-Anwendungsdetails

  5. Notieren Sie sich die folgenden Werte:

    • Anwendungs-ID (Client)
    • Verzeichnis-ID (Mandant)
  6. Klicken Sie auf "Clientanmeldeinformationen": Hinzufügen eines Zertifikats oder eines geheimen Schlüssels.

  7. Klicken Sie auf + Neuer geheimer Clientschlüssel.

    +Schaltfläche

  8. Fügen Sie eine Beschreibung hinzu.

  9. Klicken Sie auf Hinzufügen.

    Die aktualisierte Liste der Kundengeheimnisse wird angezeigt.

  10. 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: Gewähren des Clientzugriffs auf SharePoint-Dateien

Der Client erfordert die folgenden beiden Berechtigungen für den Zugriff auf Ihre SharePoint-Dateien:

  • sites.read.all
  • offline_access

Diese gewähren dem Client Zugriff auf alle Dateien auf allen Websites, auf die Sie Zugriff haben. Wenn Sie damit vertraut sind, gehen Sie wie folgt vor:

  1. Führen Sie den folgenden Python-Code in einem neuen Notizbuch aus. Ändern Sie die tenant_id, die client_id, und die redirect_url.

    import requests
    
    # This is the application (client) id (obtained from the App Registration page)
    
    client_id = ""
    
    # This is the tenant id (obtained from the App Registration page)
    
    tenant_id = ""
    
    # A redirect URL is used in OAuth to redirect users to an
    
    # application after they grant permission to access their account.
    
    # In this setup, the authentication code is sent to this server.
    
    redirect_url = ""
    
    # ================= Do not edit code below this line. ==================
    
    # Authorization endpoint URL
    
    authorization_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize"
    
    scopes = ["Sites.Read.All"]
    scope = " ".join(["https://graph.microsoft.com/{}".format(s) for s in scopes])
    scope += ("&offline_access")
    
    # Construct the authorization request URL.
    
    auth_params = {
    "client_id": client_id,
    "redirect_uri": redirect_url,
    "response_type": "code",
    "scope": scope
    }
    
    auth_url = authorization_url + "?" + "&".join([f"{key}={value}" for key, value in auth_params.items()])
    
    print(auth_url)
    

    Die Ausgabe ist eine URL.

  2. Besuchen Sie in Ihrem Browser die URL aus der Codeausgabe.

  3. Melden Sie sich mit Ihren Microsoft 365-Anmeldeinformationen an.

  4. Überprüfen Sie im Dialogfeld "Berechtigungen angefordert" die angeforderten Berechtigungen. Vergewissern Sie sich, dass sie sites.read.all und offline_access enthalten und dass Sie mit ihrer Gewährung einverstanden sind.

  5. Vergewissern Sie sich, dass die E-Mail-ID oben auf der Seite mit der E-Mail übereinstimmt, die Sie für den Zugriff auf SharePoint-Daten verwenden.

  6. Vergewissern Sie sich, dass der Clientname den Anmeldeinformationen aus dem vorherigen Schritt entspricht.

    Dialogfeld 'Microsoft-Berechtigungen angefordert'

  7. Klicken Sie auf Annehmen.

    Sie werden an die von Ihnen angegebene Umleitungs-URL umgeleitet. Sie sollten auch einen Authentifizierungscode erhalten.

  8. Notieren Sie sich den Authentifizierungscode.

  9. Wenn Sie die Eingabeaufforderung "Berechtigungen erforderlich" nicht erhalten, fügen Sie &prompt=consent an die URL an.

Schritt 5: Abrufen des Aktualisierungstokens

In diesem Schritt wird das Aktualisierungstoken abgerufen, um die Autorisierung abzuschließen.

  1. Fügen Sie den folgenden Python-Code aus dem vorherigen Schritt in eine neue Zelle im Notizbuch ein. Ändern Sie die tenant_id, die client_id, und die redirect_url.

    # Use the authentication code to get the refresh token. The code contains the characters &session_state=<string> at the end. Remove these characters and define the modified string as code:
    code = ""
    
    
    # This is the client secret (obtained from the Credentials and Secrets page)
    client_secret = ""
    
    
    # ================= Do not edit code below this line. ==================
    token_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
    
    
    
    
    # Request parameters
    token_params = {
        "client_id": client_id,
        "client_secret": client_secret,
        "code": code,
        "grant_type": "authorization_code",
        "redirect_uri": redirect_url,
        "scope": "profile openid email https://graph.microsoft.com/Sites.Read.All offline_access"
    }
    
    
    # Send POST request to token endpoint
    response = requests.post(token_url, data=token_params)
    
    
    # Handle response
    if response.status_code == 200:
        token_data = response.json()
        refresh_token = token_data.get("refresh_token")
        print("Refresh Token:", refresh_token)
    else:
        print("Error:", response.status_code, response.text)
    
    

Nächste Schritte

  1. Erstellen Sie eine Verbindung zum Speichern der Authentifizierungsdetails, die Sie erhalten haben.
  2. Erstellen Sie eine Aufnahmepipeline.