Connettere Azure Databricks a una posizione esterna di OneLake

Importante

Questa funzionalità è in versione beta.

Questa pagina illustra come connettersi a OneLake usando una posizione esterna. Con la connessione è possibile creare oggetti catalogo Unity (tabelle, volumi, viste, viste materializzate e tabelle di streaming) e gestire i dati tramite Unity Catalog. Per leggere i dati di OneLake esistenti da Azure Databricks senza scrivere, vedere Abilitare la federazione del catalogo OneLake.

Per connettersi a un percorso OneLake, è necessario avere due oggetti securable di Unity Catalog:

  • Una credenziale di archiviazione, che specifica un'identità gestita o un service principal che concede l'accesso all'archiviazione di OneLake.
  • Posizione esterna, che definisce il percorso ABFSS basato su ID per l'archiviazione di OneLake e fa riferimento alle credenziali di archiviazione.

Requirements

  • Databricks Runtime 18.1 o versione successiva, oppure elaborazione serverless
  • Area di lavoro attiva Microsoft Fabric con capacità assegnata
  • CREATE STORAGE CREDENTIAL privilegio sul metastore di Unity Catalog e CREATE EXTERNAL LOCATION privilegio sia sul metastore che sulla credenziale di archiviazione
  • L'area di lavoro di Azure Databricks deve essere abilitata a Unity Catalog
  • Un amministratore di Fabric deve abilitare Gli utenti possono creare elementi di archiviazione di Azure Databricks in Impostazioni del tenant del Portale di amministrazione >
  • L'area di lavoro Fabric di destinazione deve avere Autenticazione con token SAS con delega utente di OneLake abilitata in Impostazioni dell'area di lavoro > Impostazioni delegate > Impostazioni di OneLake

Modello di sicurezza

L'accesso all'elemento Azure Databricks Storage in uno spazio di lavoro Fabric è limitato all'identità gestita assegnata. La sicurezza OneLake, abilitata di default, consente permessi espliciti a livello di workspace e di elemento per concedere accesso ad apertura, individuazione, lettura e scrittura a OneLake da Azure Databricks.

Configurare i permessi degli elementi lato Fabric e i ruoli di sicurezza OneLake per gli utenti, i gruppi e le entità servizio che necessitano di accesso.

Passaggio 1: Configurare l'identità e l'accesso in Azure e Fabric

  1. Nel portale di Azure creare o identificare un connettore di accesso per Azure Databricks con un'identità gestita o un'entità servizio.
  2. In Microsoft Fabric passare all'area di lavoro di destinazione.
  3. Fare clic sul pulsante a forma di ingranaggio Impostazioni area di lavoro , quindi fare clic su Gestisci accesso.
  4. Fare clic su Aggiungi persone o gruppi e cercare l'identità gestita o l'entità servizio.
  5. Per il permesso dell'area di lavoro o dell'elemento Fabric, assegna all'identità gestita o all'entità servizio un ruolo Visualizzatore.
  6. Per l'accesso ai dati, crea un ruolo OneLake Security e concedi autorizzazioni di lettura e scrittura all'identità gestita o al service principal.

Passaggio 2: Effettuare il provisioning dell'archiviazione in Fabric e ottenere il percorso

  1. Nell'area di lavoro Fabric creare un elemento di archiviazione Azure Databricks.

  2. Apri Gestisci la sicurezza OneLake per l'elemento Azure Databricks Storage e crea un ruolo OneLake Security.

  3. Aggiungi l'identità gestita di Azure Databricks o l'entità servizio come membro del ruolo. Concedi l'autorizzazione minima necessaria per i dati: Lettura per l'accesso in sola lettura, o ReadWrite quando Azure Databricks deve creare o modificare i dati.

  4. Dopo aver creato l'elemento, costruire il percorso ABFSS basato su ID:

    abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/
    

    L'ID dell'area di lavoro e l'ID dell'elemento di archiviazione di Azure Databricks sono disponibili nell'URL del browser quando l'elemento è aperto in Fabric.

    Note

    La posizione esterna richiede il formato di percorso basato sull'ID (GUID), non i nomi visualizzati. I percorsi basati sui nomi vengono rifiutati in fase di creazione.

    Salva questo percorso. Lo si usa nel passaggio 4.

Passaggio 3: Creare credenziali di archiviazione del catalogo Unity

  1. Accedere all'area di lavoro Azure Databricks abilitata per Unity Catalog.

  2. Nella barra laterale fare clic sull'icona Dati.Catalogo.

  3. Fare clic sull'icona Aggiungi o più e quindi su Crea credenziali.

  4. Selezionare un tipo di credenziale di Azure Managed Identity.

  5. Immettere un nome credenziali di archiviazione e un commento facoltativo.

  6. Immettere l'ID del connettore di accesso (l'ID risorsa del connettore di accesso associato all'identità gestita).

    L'ID risorsa è nel formato:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  7. (Facoltativo) Se il connettore di accesso è stato creato usando un'identità gestita assegnata dall'utente, immettere l'ID identità gestita.

  8. Clicca su Crea.

Passaggio 4: Creare la posizione esterna di OneLake

  1. Nella barra laterale fare clic sull'icona Dati.Catalogo.

  2. Fare clic sull'icona Aggiungi o più e quindi su Crea una posizione esterna.

  3. Immettere un nome di una posizione esterna.

  4. In Tipo di archiviazione selezionare OneLake.

  5. In Credenziali di archiviazione selezionare le credenziali create nel passaggio 3.

  6. In URL, immetti il percorso ABFSS basato sull'ID dal passaggio 2. Per esempio:

    abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/
    
  7. Clicca su Crea.

  8. Fare clic su Test connessione per verificare la posizione esterna.

    Note

    Un avviso di lettura di eventi di file ignorati durante il test di connessione è previsto. Le notifiche degli eventi di file non sono ancora supportate nei percorsi di OneLake. La posizione esterna funziona correttamente.

Passaggio 5: Creare oggetti catalogo Unity nella posizione esterna di OneLake

Dopo aver creato la posizione esterna, è possibile creare un catalogo che lo usa come risorsa di archiviazione gestita. OneLake archivia tutte le tabelle gestite create nel catalogo.

-- Create a catalog with the OneLake external location as managed storage
CREATE CATALOG my_onelake_catalog
MANAGED LOCATION '<onelake_external_location_path>';

-- Create a managed table
CREATE TABLE my_onelake_catalog.default.my_table (
  id INT,
  name STRING,
  created_at TIMESTAMP
);

-- Insert data
INSERT INTO my_onelake_catalog.default.my_table
VALUES (1, 'example', current_timestamp());

Sostituire <onelake_external_location_path> con l'URL della posizione esterna o un percorso secondario al suo interno.

Una posizione esterna di OneLake supporta i tipi di oggetto catalogo Unity seguenti: tabelle gestite (Delta e Iceberg), volumi, viste, viste materializzate e tabelle di streaming.

Troubleshoot

Error Resolution
403 Forbidden quando si accede al percorso di OneLake Verifica che (1) l'identità gestita o il principale del servizio abbia il permesso richiesto per lo spazio di lavoro o l'elemento Fabric, (2) il principale sia incluso nel ruolo di sicurezza OneLake applicabile con il permesso dati richiesto, e (3) che lo spazio di lavoro Fabric abbia un'assegnazione di capacità attiva.
Avvisi di lettura dei file ignorati durante il test di connessione Questo avviso è normale. I percorsi di OneLake non abilitano ancora le notifiche degli eventi di file. La posizione esterna funziona correttamente.
La creazione o il test delle credenziali di archiviazione non riesce Verifica che: (1) l'ID della risorsa di identità gestita sia corretto; (2) l'entità di sicurezza abbia il permesso minimo richiesto per lo spazio di lavoro o l'elemento Fabric e il permesso per i dati OneLake Security; (3) il percorso utilizza il formato corretto basato su ID (abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/); (4) il percorso specifica la cartella /Files.

Passaggi successivi