Partager via


Configurer l’authentification d’actualisation manuelle des jetons pour l’ingestion Microsoft SharePoint

Important

Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.

Cette page explique comment configurer l’authentification manuelle de l’actualisation des jetons pour l’ingestion de Microsoft SharePoint dans Azure Databricks.

Étape 1 : Obtenir l’ID de site SharePoint

  1. Visitez le site SharePoint souhaité dans votre navigateur.
  2. Ajoutez /_api/site/id à l’URL.
  3. Tapez sur Entrée.

Étape 2 : Obtenir des noms de lecteurs SharePoint (facultatif)

Si vous souhaitez importer tous les lecteurs et documents de votre site SharePoint, vous pouvez ignorer cette étape. Toutefois, si vous souhaitez uniquement ingérer un sous-ensemble des lecteurs, vous devez collecter leurs noms.

Vous trouverez les noms de lecteur dans le menu de gauche. Il existe un lecteur par défaut appelé Documents dans chaque site. Votre organisation peut avoir des lecteurs supplémentaires. Par exemple, les lecteurs de la capture d’écran suivante incluent doclib1, subsite1doclib1 et bien plus encore.

Afficher les lecteurs SharePoint

Certains lecteurs peuvent être masqués dans la liste. Le créateur de lecteur peut le configurer dans les paramètres du lecteur. Dans ce cas, les lecteurs masqués peuvent être visibles dans la section Contenu du site .

Afficher les lecteurs SharePoint masqués

Étape 3 : Créer un client dans Microsoft Entra ID

Cette étape crée un client qui peut accéder aux fichiers SharePoint.

  1. Dans le portail Microsoft Azure (portal.azure.com), cliquez sur Microsoft Entra ID. Vous devrez peut-être rechercher « Microsoft Entra ID ».

    Portail Azure : Carte d’identification Entra

  2. Dans le menu de gauche, sous la section Gérer , cliquez sur Inscriptions d’applications.

  3. Cliquez sur Nouvelle inscription.

    Bouton Nouvelle inscription pour l’application Entra ID

  4. Dans le formulaire Inscrire une application :

    • Indique si vous souhaitez que d’autres locataires accèdent à cette application.

    • URL de redirection que vous souhaitez utiliser pour obtenir le code d’authentification. Spécifiez l'une des options suivantes :

      • URL de redirection de votre propre serveur
      • https://127.0.0.1 (Même si vous n’avez pas de serveur en https://127.0.0.1cours d’exécution, l’application tente de rediriger vers cette page. Le code se trouve dans l’URL résultante et l’URL est au format suivant : https://127.0.0.1:5000/oauth2redirect?code=<code>)

    Inscrire un formulaire d’application

    Vous êtes redirigé vers la page de détails de l’application.

    Page des détails de l’application OAuth

  5. Notez les valeurs suivantes :

    • ID d’application (client)
    • ID de l’annuaire (locataire)
  6. Cliquez sur Informations d’identification du client : ajouter un certificat ou un secret.

  7. Cliquez sur Nouvelle clé secrète client.

    Bouton + Nouveau secret client

  8. Ajoutez une description.

  9. Cliquez sur Ajouter.

    La liste mise à jour des secrets clients s’affiche.

  10. Copiez la valeur de la clé secrète client et stockez-la en toute sécurité. Après avoir quitté la page, vous ne pouvez pas accéder à la clé secrète du client.

Étape 4 : Accorder au client l’accès aux fichiers SharePoint

Le client nécessite les deux autorisations suivantes pour accéder à vos fichiers SharePoint :

  • sites.read.all
  • offline_access

Celles-ci permettent au client d’accéder à tous les fichiers de tous les sites auxquels vous avez accès. Si vous êtes à l’aise avec cela, procédez comme suit :

  1. Exécutez le code Python suivant dans un nouveau notebook. Modifiez le tenant_id, le client_id, et le 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)
    

    La sortie est une URL.

  2. Dans votre navigateur, visitez l'URL générée par le code.

  3. Connectez-vous à l’aide de vos informations d’identification Microsoft 365.

  4. Dans la boîte de dialogue Autorisations demandées , passez en revue les autorisations demandées. Vérifiez qu’ils incluent sites.read.all et offline_access et que vous êtes à l’aise pour les accorder.

  5. Vérifiez que l’ID d’e-mail en haut de la page correspond à l’e-mail que vous utilisez pour accéder aux données SharePoint.

  6. Vérifiez que le nom du client correspond aux informations d’identification de l’étape précédente.

    Boîte de dialogue Autorisations Microsoft demandées

  7. Cliquez sur Accepter.

    Vous êtes redirigé vers l’URL de redirection que vous avez spécifiée. Vous devez également recevoir un code d’authentification.

  8. Notez le code d’authentification.

  9. Si vous n’obtenez pas l’invite Autorisations requises, ajoutez &prompt=consent à l’URL.

Étape 5 : Obtenir le jeton d’actualisation

Cette étape récupère le jeton d’actualisation pour terminer l’autorisation.

  1. Collez le code Python suivant dans une nouvelle cellule du bloc-notes de l’étape précédente. Modifiez le tenant_id, le client_id, et le 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)
    
    

Étapes suivantes

  1. Créez une connexion pour stocker les détails d’authentification que vous avez obtenus.
  2. Créez un pipeline d’ingestion.