Condividi tramite


Abilitare l'accesso ai dati esterni a Unity Catalog

Importante

Questa funzionalità è in Anteprima Pubblica.

Azure Databricks fornisce l'accesso alle tabelle del catalogo Unity usando l'API REST unity e il catalogo REST Apache Iceberg.

Un amministratore del metastore deve abilitare l'accesso ai dati esterni per ogni metastore a cui è necessario accedere esternamente. L'utente o l'entità servizio che configura la connessione deve avere il EXTERNAL USE SCHEMA privilegio per ogni schema in cui è necessario eseguire operazioni supportate: lettura da tabelle gestite o creazione, lettura e scrittura in tabelle esterne.

L'API REST di Unity supporta letture dirette per le tabelle Delta. Il catalogo REST di Iceberg supporta le letture per le tabelle Delta e le letture e le scritture per le tabelle Iceberg. Vedere Accedere ai dati di Databricks usando sistemi esterni.

Abilitare l'accesso ai dati esterni nel metastore

Per consentire ai motori esterni di accedere ai dati in un metastore, un amministratore del metastore deve abilitare l'accesso ai dati esterni per il metastore. Questa opzione è disabilitata per impostazione predefinita per impedire l'accesso esterno non autorizzato.

Per abilitare l'accesso ai dati esterni, eseguire le operazioni seguenti:

  1. In un'area di lavoro di Azure Databricks collegata al metastore fare clic sull'icona Dati.Catalogo.
  2. Fare clic sull'icona a forma di ingranaggio nella parte superiore del riquadro Gear icon.Catalogo e selezionare Metastore.
  3. Nella scheda Dettagli, abilita Accesso ai dati esterni.

Nota

Queste opzioni vengono visualizzate solo per utenti con privilegi sufficienti. Se non vedi queste opzioni, non disponi delle autorizzazioni necessarie per abilitare l'accesso ai dati esterni per un metastore.

Concedere a un'entità principale i privilegi del Catalogo Unity

I client esterni che si connettono ad Azure Databricks necessitano dell'autorizzazione da un'entità con privilegi sufficientemente elevati.

Azure Databricks supporta token di accesso personale e OAuth per l'autenticazione. Vedere Autorizzare l'accesso alle risorse di Azure Databricks.

Il responsabile che richiede le credenziali temporanee deve avere:

  • Privilegio EXTERNAL USE SCHEMA sullo schema contenitore o sul relativo catalogo padre.

    Questo privilegio deve essere sempre concesso in modo esplicito. Solo il proprietario del catalogo padre può concederlo. Per evitare l'esfiltrazione accidentale, ALL PRIVILEGES non include il privilegio EXTERNAL USE SCHEMA e i proprietari dello schema non dispongono di questo privilegio per impostazione predefinita.

  • SELECT l'autorizzazione per la tabella, USE CATALOG nel catalogo padre e USE SCHEMA nel schema padre.

  • Se si creano tabelle esterne, l'entità deve avere anche il CREATE TABLE privilegio per lo schema e sia i privilegi CREATE EXTERNAL TABLE che i EXTERNAL USE LOCATION per il percorso esterno di destinazione.

    EXTERNAL USE LOCATION deve essere sempre concesso in modo esplicito. Solo gli utenti con privilegi MANAGE nella posizione esterna possono concederlo. Per evitare l'esfiltrazione accidentale, ALL PRIVILEGES non include il EXTERNAL USE LOCATION privilegio e i proprietari della localizzazione non dispongono di questo privilegio per impostazione predefinita.

La sintassi di esempio seguente illustra la concessione di EXTERNAL USE SCHEMA a un utente:

GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`

La sintassi di esempio seguente illustra la concessione di EXTERNAL USE LOCATION a un utente:

GRANT EXTERNAL USE LOCATION ON EXTERNAL LOCATION external_location_name TO `user@company.com`

Supponendo che l'utente disponga delle autorizzazioni per leggere tutte le tabelle desiderate nello schema, non sono necessarie autorizzazioni aggiuntive. Se è necessario concedere ulteriori autorizzazioni per la lettura delle tabelle, consultare privilegi del catalogo Unity e gli oggetti securabili.