Partilhar via


Configurar a autenticação manual de atualização de token para ingestão do Microsoft SharePoint

Importante

O conector gerido do Microsoft SharePoint está em Beta.

Esta página descreve como configurar a autenticação de atualização manual dos tokens para a ingestão do Microsoft SharePoint no Azure Databricks.

Etapa 1: Obter a ID do site do SharePoint

  1. Visite o site do SharePoint desejado em seu navegador.
  2. Acrescente /_api/site/id ao URL.
  3. Digite Enter.

Etapa 2: Obter nomes de unidades do SharePoint (opcional)

Se você quiser importar todas as unidades e documentos no seu site do SharePoint, ignore esta etapa. No entanto, se o utilizador quiser apenas ingerir um subconjunto das unidades, precisa coletar os nomes.

Você pode encontrar os nomes das unidades no menu à esquerda. Há uma unidade padrão chamada Documentos em cada site. Sua organização pode ter unidades adicionais. Por exemplo, as unidades na captura de tela a seguir incluem doclib1, subsite1doclib1e muito mais.

Exibir unidades do SharePoint

Algumas unidades podem estar ocultas da lista. O criador da unidade pode configurar isso nas configurações da unidade. Nesse caso, as unidades ocultas podem estar visíveis na seção Conteúdo do site .

Exibir unidades ocultas do SharePoint

Etapa 3: Criar um cliente no Microsoft Entra ID

Esta etapa cria um cliente que pode acessar os arquivos do SharePoint.

  1. No portal do Microsoft Azure (portal.azure.com), clique em ID do Microsoft Entra. Poderá ter de procurar por "Microsoft Entra ID".

    Portal do Azure: cartão de identidade Entra

  2. No menu à esquerda, na seção Gerenciar , clique em Registros de aplicativos.

  3. Clique em Novo registo.

    Novo botão de registo para a aplicação Entra ID

  4. No formulário Registar uma aplicação:

    • Se pretende que outros inquilinos acedam a esta aplicação.

    • A URL de redirecionamento que você deseja usar para obter o código de autenticação. Especifique uma das seguintes opções:

      • O URL de redirecionamento para o seu próprio servidor
      • https://127.0.0.1 (Mesmo que não tenhas um servidor em execução no https://127.0.0.1, a aplicação tenta redirecionar para essa página. O código está na URL resultante e a URL está no seguinte formato: https://127.0.0.1:5000/oauth2redirect?code=<code>)

    Registar um formulário de candidatura

    Você será redirecionado para a página de detalhes do aplicativo.

    Página de detalhes do aplicativo OAuth

  5. Anote os seguintes valores:

    • ID da aplicação (cliente)
    • ID do diretório (inquilino)
  6. Clique em Credenciais do cliente : Adicionar um certificado ou segredo.

  7. Clique em + Novo segredo do cliente.

    + Novo botão secreto do cliente

  8. Adicione uma descrição.

  9. Clique em Adicionar.

    A lista atualizada de segredos do cliente é exibida.

  10. Copie o valor secreto do cliente e armazene-o com segurança. Depois de sair da página, você não pode acessar o segredo do cliente.

Etapa 4: Conceder ao cliente acesso aos arquivos do SharePoint

O cliente requer as duas permissões a seguir para acessar seus arquivos do SharePoint:

  • sites.read.all
  • offline_access

Eles dão ao cliente acesso a todos os arquivos em todos os sites aos quais você tem acesso. Se você estiver confortável com isso, faça o seguinte:

  1. Execute o seguinte código Python em um novo bloco de anotações. Modifique o tenant_id, o client_id, e o 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)
    

    A saída é um URL.

  2. No seu navegador, visite o URL da saída do código.

  3. Entre usando suas credenciais do Microsoft 365.

  4. Na caixa de diálogo Permissões solicitadas , revise as permissões solicitadas. Confirme se eles incluem sites.read.all e offline_access que você se sente confortável em concedê-los.

  5. Confirme se o ID de email na parte superior da página corresponde ao email que você usa para acessar dados do SharePoint.

  6. Confirme se o nome do cliente corresponde às credenciais da etapa anterior.

    Caixa de diálogo Permissões solicitadas pela Microsoft

  7. Clique Aceitar.

    Você será redirecionado para o URL de redirecionamento especificado. Você também deve receber um código de autenticação.

  8. Anote o código de autenticação.

  9. Se você não receber o prompt Permissões necessárias , anexe &prompt=consent à URL.

Etapa 5: Obter o token de atualização

Esta etapa busca o token de atualização para concluir a autorização.

  1. Cole o seguinte código Python em uma nova célula no bloco de anotações da etapa anterior. Modifique o tenant_id, o client_id, e o 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)
    
    

Próximos passos

  1. Crie uma conexão para armazenar os detalhes de autenticação que você obteve.
  2. Crie uma linha de ingestão.