Partilhar via


Configurar o OAuth M2M para a ingestão do SharePoint

Importante

O conector SharePoint gerido está em Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.

Importante

O M2M OAuth para SharePoint está em Pré-visualização Pública.

Aprenda a configurar a autenticação OAuth máquina-a-máquina (M2M) para a ingestão do SharePoint no Azure Databricks.

Que modelo de permissões devo usar?

A autenticação M2M suporta os seguintes modelos de permissões no Microsoft Azure:

  • Sites.Read.All: Concede acesso a todos os sites SharePoint da sua organização. Esta opção tem menos passos de configuração, mas oferece acesso mais amplo.
  • Sites.Selected: Concede acesso apenas a sites SharePoint específicos. Isto requer uma configuração adicional, mas segue o princípio do menor privilégio.

A Databricks recomenda usar Sites.Selected sempre que possível, para limitar o acesso do principal do serviço apenas aos sites que precisa ingerir.

Pré-requisitos

  • Privilégios de administrador no seu tenant Microsoft Entra ID.

Sites.Read.All Permissões

Esta opção concede ao principal do serviço acesso a todos os sites SharePoint da sua organização.

Passo 1: Obtenha o ID do site SharePoint

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

Passo 2: Obter nomes de unidades SharePoint (opcional)

Se quiseres ingerir todos os discos e documentos do teu site SharePoint, salta este passo. Se quiser apenas ingerir um subconjunto dos discos, deve recolher os seus nomes.

Os nomes das unidades estão listados no menu à esquerda. Há uma unidade padrão chamada Documentos em cada site. No entanto, a sua organização pode ter impulsos 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

Passo 3: Criar uma aplicação Microsoft Entra ID

Esta etapa cria um registo de aplicação que pode aceder aos ficheiros do SharePoint usando um service principal.

  1. No portal do Microsoft Azure (https://portal.azure.com), clique em ID do Microsoft Entra. Pode ter de procurar por "Microsoft Entra ID".

    Portal do Azure: cartão de identidade Entra

  2. Na barra lateral esquerda, na secção Gerir , clique em Registos de Aplicações.

  3. Clique em Novo registo.

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

  4. No formulário Registar um pedido , especifique o seguinte:

    • Um nome para a sua aplicação (por exemplo, "Databricks SharePoint Ingestion").
    • Se pretende que outros inquilinos acedam a esta aplicação.

    Não precisas de especificar um URL de redirecionamento para autenticação M2M.

  5. Clique em Registar. Você será redirecionado para a página de detalhes do aplicativo.

  6. Anote os seguintes valores:

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

  8. Clique em + Novo segredo do cliente.

    + Novo botão secreto do cliente

  9. Adicione uma descrição.

  10. Clique em Adicionar. A lista atualizada de segredos do cliente é exibida.

  11. 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.

Passo 4: Configurar permissões da API

Conceda à aplicação as permissões necessárias para ler ficheiros do SharePoint.

  1. Na página de registo da aplicação, clique em permissões da API no menu esquerdo.

  2. Clica + Adicionar uma permissão.

  3. No painel Solicitar permissões da API , clique em Microsoft Graph.

  4. Clique em permissões de aplicação.

  5. Procure e selecione as seguintes permissões:

    • Sites.Read.All
    • Ficheiros.Lido.Todos
  6. Clique em Adicionar permissões.

  7. Clique em Conceder consentimento de administrador para [a sua organização].

  8. Clica em Sim para confirmar.

    A lista de permissões mostra um seletivo verde na coluna Estado indicando que o consentimento do administrador foi concedido.

Passo 5: Criar uma ligação no Azure Databricks

  1. No Explorador de Catálogo, clique em Dados Externos no menu esquerdo.

  2. Clique em Criar conexão.

  3. No diálogo Criar ligação , especifique o seguinte:

    • Nome da ligação: Um nome único para a sua ligação
    • Tipo de ligação: Microsoft SharePoint
    • Tipo de autenticação: OAuth Máquina para Máquina
    • ID do cliente: O ID da aplicação (cliente) do Passo 3
    • Segredo do cliente: O valor do segredo do cliente do Passo 3
    • Domínio: O seu domínio SharePoint no formato https://YOURINSTANCE.sharepoint.com
    • ID do Inquilino: O ID do Diretório (inquilino) do Passo 3
  4. Clique em Criar.

Sites.Selected Permissões

Esta opção restringe o acesso do principal do serviço apenas a sites SharePoint específicos.

Passos 1-3: Completar a configuração básica

Siga os Passos 1-3 da Sites.Read.All secção. Estes passos são os mesmos para ambos os modelos de permissões.

  1. Obtenha o ID do site SharePoint.
  2. Obtenha nomes de pastas SharePoint (opcional).
  3. Crie uma aplicação Microsoft Entra ID.

Passo 4: Configurar permissões API para Sites.Selected

Conceda à candidatura permissões restritas que exijam autorização adicional específica para o local.

  1. Na página de registo da aplicação, clique em permissões da API no menu esquerdo.

  2. Clica + Adicionar uma permissão.

  3. No painel Solicitar permissões da API , clique em Microsoft Graph.

  4. Clique em permissões de aplicação.

  5. Procure e selecione Sites.Selected.

  6. Clique em Adicionar permissões.

  7. Clique em Conceder consentimento de administrador para [a sua organização].

    Esta etapa requer privilégios de administrador no seu tenant Microsoft Entra ID.

  8. Clica em Sim para confirmar.

    A lista de permissões mostra um seletivo verde na coluna Estado indicando que o consentimento do administrador foi concedido.

Passo 4b: Conceder permissões específicas para o local

Depois de configurar Sites.Selected no Azure, deve conceder explicitamente à aplicação acesso a sites SharePoint específicos. Pode fazer isto usando o Microsoft Graph Explorer ou um caderno Python.

Explorador do Microsoft Graph

  1. Aceda ao Microsoft Graph Explorer.

  2. Inicia sessão com uma conta que tenha permissões de administrador para o teu site SharePoint.

  3. Clique em Modificar permissões e consinta com as permissões necessárias (Sites.FullControl.All).

  4. Muda o método HTTP para POST.

  5. Introduza o seguinte URL, substituindo {site_id} pelo ID do seu site SharePoint a partir do Passo 1:

    https://graph.microsoft.com/v1.0/sites/{site_id}/permissions
    
  6. Na secção do corpo do Pedido , cole o seguinte JSON, substituindo os valores provisórios:

    {
      "roles": ["read"],
      "grantedToIdentities": [
        {
          "application": {
            "id": "<YOUR_CLIENT_ID>",
            "displayName": "<YOUR_APP_NAME>"
          }
        }
      ]
    }
    

    Substituir:

    • <YOUR_CLIENT_ID>: O ID da Aplicação (cliente) da Etapa 3
    • <YOUR_APP_NAME>: O nome do registo da sua aplicação
  7. Clique em Executar consulta.

    Uma resposta bem-sucedida indica que a autorização foi concedida.

Caderno Python

  1. Crie um novo caderno no seu espaço de trabalho Azure Databricks.

  2. Instale a biblioteca MSAL executando o seguinte comando numa célula:

    %pip install msal
    
  3. Numa nova célula, cole o seguinte código e substitua os valores provisórios:

    import msal
    import requests
    
    # Configuration - Replace these values
    TENANT_ID = "<YOUR_TENANT_ID>"  # Directory (tenant) ID from Step 3
    ADMIN_CLIENT_ID = "<ADMIN_CLIENT_ID>"  # Client ID of an app with admin consent
    ADMIN_CLIENT_SECRET = "<ADMIN_CLIENT_SECRET>"  # Client secret of admin app
    TARGET_APP_CLIENT_ID = "<TARGET_CLIENT_ID>"  # Client ID from Step 3
    TARGET_APP_DISPLAY_NAME = "<TARGET_APP_NAME>"  # Name of your app
    SITE_ID = "<YOUR_SITE_ID>"  # SharePoint site ID from Step 1
    
    # Authenticate using MSAL
    authority = f"https://login.microsoftonline.com/{TENANT_ID}"
    app = msal.ConfidentialClientApplication(
        ADMIN_CLIENT_ID,
        authority=authority,
        client_credential=ADMIN_CLIENT_SECRET
    )
    
    # Acquire token
    token_result = app.acquire_token_for_client(
        scopes=["https://graph.microsoft.com/.default"]
    )
    
    if "access_token" in token_result:
        access_token = token_result["access_token"]
    
        # Grant site permissions
        grant_url = f"https://graph.microsoft.com/v1.0/sites/{SITE_ID}/permissions"
        headers = {
            "Authorization": f"Bearer {access_token}",
            "Content-Type": "application/json"
        }
        grant_payload = {
            "roles": ["read"],
            "grantedToIdentities": [
                {
                    "application": {
                        "id": TARGET_APP_CLIENT_ID,
                        "displayName": TARGET_APP_DISPLAY_NAME
                    }
                }
            ]
        }
    
        response = requests.post(grant_url, headers=headers, json=grant_payload)
    
        if response.status_code in [200, 201]:
            print("Successfully granted site permissions")
            print(response.json())
        else:
            print(f"Error: {response.status_code}")
            print(response.text)
    else:
        print("Failed to acquire token")
        print(token_result.get("error"))
        print(token_result.get("error_description"))
    
  4. Executar a célula. Uma resposta bem-sucedida indica que a autorização foi concedida.

Passo 5: Criar uma ligação no Azure Databricks

Siga o Passo 5 da Sites.Read.All secção para criar a ligação no Azure Databricks usando as credenciais do registo da sua candidatura.

Próximos passos

  1. Criar um pipeline de ingestão do Microsoft SharePoint
  2. Tarefas comuns de manutenção de oleodutos