Configure o OAuth M2M para ingestão do SharePoint
Beta
O conector do SharePoint está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.
Visualização
O M2M OAuth para SharePoint está em versão prévia pública.
Aprenda como configurar a autenticação OAuth máquina a máquina (M2M) para ingestão de dados do SharePoint no Databricks.
Qual modelo de permissões devo usar?
A autenticação M2M suporta os seguintes modelos de permissão no Microsoft Azure:
- Sites.Read.All : Concede acesso a todos os sites do SharePoint em sua organização. Esta opção tem menos etapas de configuração, mas oferece um acesso mais amplo.
- Sites.Selected : Concede acesso somente a sites específicos do SharePoint. Isso requer configuração adicional, mas segue o princípio do menor privilégio.
Databricks recomenda o uso de Sites.Selected sempre que possível para limitar o acesso da entidade de serviço apenas aos sites que você precisa ingerir.
Pré-requisitos
- Privilégios de administrador em seu tenant Microsoft Entra ID.
Sites.Read.All permissões
Esta opção concede à entidade de serviço acesso a todos os sites do SharePoint em sua organização.
Passo 1: Obtenha o ID do site do SharePoint
- Acesse o site do SharePoint desejado em seu navegador.
- Adicione
/_api/site/idà URL. - Digite Enter .
Etapa 2: Obter nomes de unidades do SharePoint (opcional)
Se você deseja importar todas as unidades e documentos do seu site do SharePoint, ignore esta etapa. Se você deseja importar apenas um subconjunto das unidades, precisa coletar seus nomes.
Os nomes das unidades estão listados no menu à esquerda. Em cada site, existe uma unidade default chamada Documentos . No entanto, sua organização pode ter unidades adicionais. Por exemplo, as unidades na seguinte captura de tela incluem doclib1, subsite1doclib1 e mais.

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

o passo 3: Crie um aplicativo Microsoft Entra ID
Este passo cria um registro de aplicativo que pode acessar os arquivos do SharePoint usando uma entidade de serviço.
-
No portal do Microsoft Azure (https://portal.azure.com), Clique em ID do Microsoft Entra . Você talvez precise pesquisar por "Microsoft Entra ID".

-
Na barra lateral esquerda, na seção Gerenciar , clique em Registros de Aplicativos .
-
Clique em Novo registro .

-
No formulário de inscrição , especifique o seguinte:
- Um nome para sua aplicação (por exemplo, "Databricks SharePoint Ingestion").
- Se você deseja que outros inquilinos acessem este aplicativo.
Não é necessário especificar um URL de redirecionamento para autenticação M2M.
-
Clique em registrar . Você será redirecionado para a página de detalhes do aplicativo.
-
Anote os seguintes valores:
- ID da aplicação (cliente)
- ID do diretório (tenant)
-
Clique em Credenciais do cliente: Adicionar um certificado ou segredo .
-
Clique em + Novo segredo do cliente .

-
Adicione uma descrição.
-
Clique em Adicionar . A lista atualizada de segredos do cliente é exibida.
-
Copie o valor secreto do cliente e armazene-o em local seguro. Depois de sair da página, você não poderá mais acessar o segredo do cliente.
o passo 4: Configurar permissões API
Conceda ao aplicativo as permissões necessárias para ler os arquivos do SharePoint.
-
Na página de registro do aplicativo, clique em "Permissões da API" no menu à esquerda.
-
Clique em + Adicionar uma permissão .
-
No painel de permissões API de solicitação , clique em Microsoft gráfico .
-
Clique em Permissões do aplicativo .
-
Procure e selecione as seguintes permissões:
- Sites.Leia.Tudo
- Arquivos.Ler.Tudo
-
Clique em Adicionar permissões .
-
Clique em Conceder permissão de administrador para [sua organização] .
-
Clique em Sim para confirmar.
A lista de permissões exibe uma marca de seleção verde na coluna Status , indicando que o consentimento do administrador foi concedido.
o passo 5: Criar uma conexão no Databricks
-
No Explorador de Catálogo, clique em Dados externos no menu à esquerda.
-
Clique em Criar conexão .
-
Na caixa de diálogo Criar conexão , especifique o seguinte:
- Nome da conexão : Um nome exclusivo para sua conexão.
- Tipo de conexão : Microsoft SharePoint
- Tipo de autenticação : OAuth Máquina a Máquina
- ID do cliente : O ID do aplicativo (cliente) do passo 3
- Segredo do cliente : O valor do segredo do cliente do passo 3
- Domínio : Seu domínio do SharePoint no formato
https://YOURINSTANCE.sharepoint.com - ID do locatário : O ID do diretório (tenant) do passo 3
-
Clique em Criar .
Sites.Selected permissões
Esta opção restringe o acesso da entidade de serviço apenas a sites específicos do SharePoint.
os passos 1-3: Conclua a configuração básica
Siga os passos 1 a 3 na seçãoSites.Read.All. Esses passos são os mesmos para ambos os modelos de permissão.
- Obtenha o ID do site do SharePoint.
- Obtenha os nomes das unidades do SharePoint (opcional).
- Crie um aplicativo Microsoft Entra ID.
o passo 4: Configurar permissões API para Sites.Selected
Conceda ao aplicativo permissões restritas que exigem autorização adicional específica do site.
-
Na página de registro do aplicativo, clique em "Permissões da API" no menu à esquerda.
-
Clique em + Adicionar uma permissão .
-
No painel de permissões API de solicitação , clique em Microsoft gráfico .
-
Clique em Permissões do aplicativo .
-
Pesquise e selecione Sites.Selecionados .
-
Clique em Adicionar permissões .
-
Clique em Conceder permissão de administrador para [sua organização] .
Este passo requer privilégios de administrador em seu tenant Microsoft Entra ID.
-
Clique em Sim para confirmar.
A lista de permissões exibe uma marca de seleção verde na coluna Status , indicando que o consentimento do administrador foi concedido.
o passo 4b: Conceder permissões específicas do local
Após configurar Sites.Selected no Azure, você deve conceder explicitamente ao aplicativo acesso a sites específicos do SharePoint. Você pode fazer isso usando Microsoft Gráfico Explorer ou um Notebook Python .
- Microsoft Graph Explorer
- Python notebook
-
Vá para o Microsoft gráfico Explorer.
-
Faça login com uma account que tenha permissões de administrador para o seu site do SharePoint.
-
Clique em Modificar permissões e conceda as permissões necessárias (Sites.FullControl.All).
-
Altere o método HTTP para POST .
-
Insira o seguinte URL, substituindo
{site_id}pelo ID do seu site do SharePoint da etapa 1:https://graph.microsoft.com/v1.0/sites/{site_id}/permissions -
Na seção Corpo da solicitação , cole o seguinte JSON, substituindo os valores de espaço reservado:
JSON{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "<YOUR_CLIENT_ID>",
"displayName": "<YOUR_APP_NAME>"
}
}
]
}Substituir:
<YOUR_CLIENT_ID>O ID do aplicativo (cliente) do passo 3<YOUR_APP_NAME>: O nome do seu registro de inscrição
-
Clique em executar consulta .
Uma resposta positiva indica que a permissão foi concedida.
-
Crie um novo Notebook em seu workspace Databricks .
-
Instale a biblioteca MSAL executando o seguinte comando em uma célula:
Python%pip install msal -
Em uma nova célula, cole o seguinte código e substitua os valores de espaço reservado:
Pythonimport 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")) -
execução da célula. Uma resposta positiva indica que a permissão foi concedida.
o passo 5: Criar uma conexão no Databricks
Siga o passo 5 da seção Sites.Read.All para criar a conexão no Databricks usando as credenciais do seu registro de aplicativo.