Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
- Visite o site do SharePoint desejado em seu navegador.
- Acrescente
/_api/site/idao URL. - 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.
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 .
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.
No portal do Microsoft Azure (https://portal.azure.com), clique em ID do Microsoft Entra. Pode ter de procurar por "Microsoft Entra ID".
Na barra lateral esquerda, na secção Gerir , clique em Registos de Aplicações.
Clique em Novo registo.
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.
Clique em Registar. Você será redirecionado para a página de detalhes do aplicativo.
Anote os seguintes valores:
- ID da aplicação (cliente)
- ID do diretório (inquilino)
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 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.
Na página de registo da aplicação, clique em permissões da API no menu esquerdo.
Clica + Adicionar uma permissão.
No painel Solicitar permissões da API , clique em Microsoft Graph.
Clique em permissões de aplicação.
Procure e selecione as seguintes permissões:
- Sites.Read.All
- Ficheiros.Lido.Todos
Clique em Adicionar permissões.
Clique em Conceder consentimento de administrador para [a sua organização].
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
No Explorador de Catálogo, clique em Dados Externos no menu esquerdo.
Clique em Criar conexão.
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
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.
- Obtenha o ID do site SharePoint.
- Obtenha nomes de pastas SharePoint (opcional).
- 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.
Na página de registo da aplicação, clique em permissões da API no menu esquerdo.
Clica + Adicionar uma permissão.
No painel Solicitar permissões da API , clique em Microsoft Graph.
Clique em permissões de aplicação.
Procure e selecione Sites.Selected.
Clique em Adicionar permissões.
Clique em Conceder consentimento de administrador para [a sua organização].
Esta etapa requer privilégios de administrador no seu tenant Microsoft Entra ID.
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
Aceda ao Microsoft Graph Explorer.
Inicia sessão com uma conta que tenha permissões de administrador para o teu site SharePoint.
Clique em Modificar permissões e consinta com as permissões necessárias (Sites.FullControl.All).
Muda o método HTTP para POST.
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}/permissionsNa 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
-
Clique em Executar consulta.
Uma resposta bem-sucedida indica que a autorização foi concedida.
Caderno Python
Crie um novo caderno no seu espaço de trabalho Azure Databricks.
Instale a biblioteca MSAL executando o seguinte comando numa célula:
%pip install msalNuma 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"))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.