Compartir a través de


Configurar la autenticación de actualización manual de tokens para la ingesta de Microsoft SharePoint

Importante

El conector administrado de Microsoft SharePoint está en beta.

En esta página se describe cómo configurar la autenticación de actualización manual de tokens para la ingesta de Microsoft SharePoint en Azure Databricks.

Paso 1: Obtener el identificador del sitio de SharePoint

  1. Visite el sitio de SharePoint deseado en el explorador.
  2. Anexe /_api/site/id a la dirección URL.
  3. Escriba Entrar.

Paso 2: Conseguir nombres de unidad de disco de SharePoint (opcional)

Si desea importar todas las unidades y documentos de su sitio de SharePoint, puede omitir este paso. Sin embargo, si solo desea incorporar un subconjunto de las unidades, debe recopilar sus nombres.

Puede encontrar los nombres de unidad en el menú izquierdo. Hay una unidad predeterminada denominada Documentos en cada sitio. Es posible que su organización tenga unidades adicionales. Por ejemplo, las unidades de la captura de pantalla siguiente incluyen doclib1, subsite1doclib1, y mucho más.

Ver unidades de SharePoint

Es posible que algunas unidades estén ocultas de la lista. El creador de la unidad puede configurarlo en la configuración de la unidad. En este caso, las unidades ocultas pueden estar visibles en la sección Contenido del sitio .

Ver unidades ocultas de SharePoint

Paso 3: Crear un cliente en microsoft Entra ID

Este paso crea un cliente que puede acceder a los archivos de SharePoint.

  1. En Microsoft Azure Portal (portal.azure.com), haga clic en Id. de Microsoft Entra. Es posible que usted tenga que buscar "Microsoft Entra ID".

    Azure Portal: Tarjeta de identificación de Entra

  2. En el menú de la izquierda, en la sección Administrar , haga clic en Registros de aplicaciones.

  3. Haga clic en Nuevo registro.

    Nuevo botón de registro para la aplicación Entra ID

  4. En el formulario Registrar una solicitud :

    • Si desea que otros inquilinos accedan a esta aplicación.

    • URL de redirección que desea usar para obtener el código de autenticación. Especifique una de las opciones siguientes:

      • La dirección URL de redireccionamiento de su propio servidor
      • https://127.0.0.1 (Incluso si no tiene un servidor que se ejecuta en https://127.0.0.1, la aplicación intenta redirigir a esa página. El código está en la dirección URL resultante y la dirección URL tiene el formato siguiente: https://127.0.0.1:5000/oauth2redirect?code=<code>)

    Registro de un formulario de aplicación

    Se le redirigirá a la página de detalles de la aplicación.

    Página de detalles de la aplicación OAuth

  5. Anote los siguientes valores:

    • Id. de aplicación (cliente)
    • Id. de directorio (inquilino)
  6. Haga clic en Credenciales de cliente: agregue un certificado o un secreto.

  7. Haga clic en + Nuevo secreto de cliente.

    + Botón de nuevo secreto de cliente

  8. Agrega una descripción.

  9. Haga clic en Agregar.

    Se muestra la lista actualizada de secretos de cliente.

  10. Copie el valor del secreto de cliente y almacénelo de forma segura. Después de salir de la página, no puede acceder al secreto de cliente.

Paso 4: Conceder al cliente acceso a archivos de SharePoint

El cliente requiere los dos permisos siguientes para acceder a los archivos de SharePoint:

  • sites.read.all
  • offline_access

Estos proporcionan al cliente acceso a todos los archivos de todos los sitios a los que tiene acceso. Si está familiarizado con esto, haga lo siguiente:

  1. Ejecute el siguiente código de Python en un nuevo cuaderno. Modifique el tenant_id, el client_id y el 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 salida es una dirección URL.

  2. En el explorador, visite la dirección URL desde la salida del código.

  3. Inicie sesión con sus credenciales de Microsoft 365.

  4. En el cuadro de diálogo Permisos solicitados , revise los permisos solicitados. Confirme que incluyen sites.read.all y offline_access y que usted se sienta cómodo concederlos.

  5. Confirme que el identificador de correo electrónico de la parte superior de la página coincide con el correo electrónico que usa para acceder a los datos de SharePoint.

  6. Confirme que el nombre del cliente coincide con las credenciales del paso anterior.

    Cuadro de diálogo Permisos de Microsoft solicitados

  7. Haga clic en Aceptar.

    Se le redirigirá a la dirección URL de redireccionamiento que especificó. También debe recibir un código de autenticación.

  8. Anote el código de autenticación.

  9. Si no ve el aviso Permisos requeridos, anexe &prompt=consent a la URL.

Paso 5: Obtención del token de actualización

Este paso captura el token de actualización para completar la autorización.

  1. Pegue el siguiente código de Python en una nueva celda del cuaderno del paso anterior. Modifique el tenant_id, el client_id y el 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)
    
    

Pasos siguientes

  1. Cree una conexión para almacenar los detalles de autenticación que ha obtenido.
  2. Cree una canalización de ingesta.