Pular para o conteúdo principal

Configurar a autenticação manual de tokens refresh para ingestão do SharePoint Microsoft

info

Visualização

O conector do Microsoft SharePoint está em versão beta.

Esta página descreve como configurar a autenticação de tokens manuais refresh para Microsoft ingestão do SharePoint em Databricks.

Quais métodos de autenticação são compatíveis?

O conector do SharePoint é compatível com os seguintes métodos OAuth:

  • Autenticação U2M (recomendada)
  • Tokens manuais refresh authentication

Databricks recomenda o uso do U2M porque ele não exige que o senhor mesmo calcule os tokens refresh. Isso é feito para você automaticamente. Também simplifica o processo de conceder ao cliente Entra ID acesso aos seus arquivos do SharePoint e é mais seguro.

Etapa 1: Obter o ID do site do SharePoint

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

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

Se você quiser ingerir todas as unidades e documentos em seu site do SharePoint, pule essa etapa. No entanto, se você quiser ingerir apenas um subconjunto das unidades, precisará coletar seus nomes.

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

visualizar unidades do SharePoint

Algumas unidades podem estar ocultas da lista. O criador da unidade pode definir 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

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

  1. No portal do Microsoft Azure (portal.azure.com), clique em Microsoft Entra ID . Talvez o senhor tenha que procurar por "Microsoft Entra ID".

    Portal do Azure: Cartão de identificação Entra

  2. No menu do lado esquerdo, na seção gerenciar , clique em App Registrations (Registros de aplicativos ).

  3. Clique em Novo registro .

    Novo botão de registro para o aplicativo Entra ID

  4. No registro, um formulário de inscrição:

    • Se o senhor deseja que outro locatário acesse esse aplicativo.

    • O 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 seu próprio servidor
      • https://127.0.0.1 (Mesmo que você não tenha um servidor em execução no https://127.0.0.1, o aplicativo tentará redirecionar para essa página. O código está no URL resultante e o URL está no seguinte formato: https://127.0.0.1:5000/oauth2redirect?code=<code>)

    registrar um formulário de inscrição

    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 (tenant)
  6. Clique em Credenciais do cliente: adicione 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 poderá acessar o segredo do cliente.

Etapa 4: Conceder ao cliente acesso aos arquivos do SharePoint

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

  • files.read.all
  • offline_access

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

  1. Execute o seguinte código Python em um novo Notebook. Modifique o tenant_id, o client_id e o redirect_url.

    Python
    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 = ["Files.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 é uma URL.

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

  3. Faça login usando suas credenciais do Microsoft 365.

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

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

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

    Caixa de diálogo de solicitação de permissões da Microsoft

  7. Clique em Aceitar .

    Você é redirecionado para o URL de redirecionamento que você especificou. 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 a solicitação Permissões necessárias , acrescente &prompt=consent ao URL.

Etapa 5: Obtenha os tokens refresh

Essa etapa obtém os tokens refresh para concluir a autorização.

  1. Cole o seguinte código Python em uma nova célula do Notebook da etapa anterior. Modifique o tenant_id, o client_id e o redirect_url.

    Python
    # Use the authentication code to get the refresh token.


    # 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/Files.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óximas etapas

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