Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
- Visitez le site SharePoint souhaité dans votre navigateur.
- Ajoutez
/_api/site/idà l’URL. - 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.
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 .
Étape 3 : Créer un client dans Microsoft Entra ID
Cette étape crée un client qui peut accéder aux fichiers SharePoint.
Dans le portail Microsoft Azure (
portal.azure.com), cliquez sur Microsoft Entra ID. Vous devrez peut-être rechercher « Microsoft Entra ID ».
Dans le menu de gauche, sous la section Gérer , cliquez sur Inscriptions d’applications.
Cliquez sur Nouvelle inscription.
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 enhttps://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>)
Vous êtes redirigé vers la page de détails de l’application.
Notez les valeurs suivantes :
- ID d’application (client)
- ID de l’annuaire (locataire)
Cliquez sur Informations d’identification du client : ajouter un certificat ou un secret.
Cliquez sur Nouvelle clé secrète client.
Ajoutez une description.
Cliquez sur Ajouter.
La liste mise à jour des secrets clients s’affiche.
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.alloffline_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 :
Exécutez le code Python suivant dans un nouveau notebook. Modifiez le
tenant_id, leclient_id, et leredirect_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.
Dans votre navigateur, visitez l'URL générée par le code.
Connectez-vous à l’aide de vos informations d’identification Microsoft 365.
Dans la boîte de dialogue Autorisations demandées , passez en revue les autorisations demandées. Vérifiez qu’ils incluent
sites.read.alletoffline_accesset que vous êtes à l’aise pour les accorder.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.
Vérifiez que le nom du client correspond aux informations d’identification de l’étape précédente.
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.
Notez le code d’authentification.
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.
Collez le code Python suivant dans une nouvelle cellule du bloc-notes de l’étape précédente. Modifiez le
tenant_id, leclient_id, et leredirect_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
- Créez une connexion pour stocker les détails d’authentification que vous avez obtenus.
- Créez un pipeline d’ingestion.