Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina descrive come usare Azure identità gestite per la connessione ai contenitori di archiviazione per conto degli utenti di Unity Catalog.
Che cosa sono Azure identità gestite?
Unity Catalog può essere configurato per l'uso di un'identità gestita Azure per accedere ai contenitori di archiviazione per conto degli utenti di Unity Catalog. Le identità gestite forniscono un'identità per le applicazioni da usare quando si connettono alle risorse che supportano l'autenticazione Microsoft Entra ID.
È possibile usare le identità gestite in Unity Catalog per supportare due casi d'uso principali:
- Come identità per connettersi agli account di archiviazione gestiti del metastore (in cui sono archiviate le tabelle gestite).
- Come identità per connettersi ad altri account di archiviazione esterni (per l'accesso basato su file o per l'accesso ai set di dati esistenti tramite tabelle esterne).
La configurazione di Unity Catalog con un'identità gestita offre i vantaggi seguenti rispetto alla configurazione di Unity Catalog con un'entità servizio:
- Le identità gestite non richiedono la gestione delle credenziali o la rotazione dei segreti.
- Se l'area di lavoro Azure Databricks viene distribuita nella propria rete virtuale (nota anche come inserimento reti virtuali) e si usa un firewall di archiviazione per proteggere un account Azure Data Lake Storage, è possibile usare l'identità gestita per connettere l'area di lavoro a tale account. Consultare (Consigliato per le aree di lavoro inserite nella rete virtuale) Configurare l'accesso attendibile ad Archiviazione di Azure in base all'identità gestita.
Configurare un'identità gestita per il catalogo unity
Per configurare un'identità gestita da usare con Unity Catalog, creare prima un connettore di accesso per Azure Databricks in Azure. Per impostazione predefinita, il connettore di accesso verrà distribuito con un'identità gestita assegnata dal sistema. È invece possibile scegliere di associare un'identità gestita assegnata dall'utente. Si concede quindi all'identità gestita l'accesso al proprio account Azure Data Lake Storage e si utilizza il connettore di accesso quando si crea un metastore del catalogo Unity o una credenziale di archiviazione.
Requisiti
L'utente o l'entità servizio Azure che crea il connettore di accesso deve:
- Essere un
ContributoroOwnerdi un gruppo di risorse Azure.
L'utente di Azure o l'entità servizio che concede un'identità gestita all'account di archiviazione deve:
- Essere un
Ownero un utente con il ruolo di Azure RBACUser Access Administratornell'account di archiviazione.
P 1: Creare un connettore di accesso per Azure Databricks
Access Connector per Azure Databricks è una risorsa Azure di prima parte che consente di connettere le identità gestite a un account Azure Databricks. Ogni connettore di accesso per Azure Databricks può includere un'identità gestita assegnata dal sistema, una o più identità gestite assegnate dall'utente o entrambe.
Accedere al portale di Azure come collaboratore o proprietario di un gruppo di risorse.
Fare clic su + Crea o Crea una nuova risorsa.
Cerca Access Connector per Azure Databricks e selezionalo.
Clicca su Crea.
Nella scheda Informazioni di base accettare, selezionare o immettere i valori per i campi seguenti:
- Subscription: si tratta della sottoscrizione Azure in cui verrà creato il connettore di accesso. Il valore predefinito è la sottoscrizione Azure in uso. Può trattarsi di qualsiasi sottoscrizione nel tenant.
- Gruppo di risorse: si tratta del gruppo di risorse Azure in cui verrà creato il connettore di accesso.
- Nome: immettere un nome che indica lo scopo del connettore.
- Area: deve essere la stessa area dell'account di archiviazione a cui ci si connetterà.
Fare clic su Avanti, immettere i tag e fare clic su Avanti.
Nella scheda "Identità gestite" di, creare le identità gestite come segue:
- Per usare un'identità gestita assegnata dal sistema, impostare Status su On
- Per aggiungere identità gestite assegnate dall'utente, fare clic su + Aggiungi e selezionare una o più identità gestite assegnate dall'utente.
Clicca su Rivedi e crea.
Quando viene visualizzato il messaggio Convalida superata , fare clic su Crea.
Una volta completata la distribuzione, fare clic su Vai alla risorsa.
Prendere nota dell'ID risorsa.
L'ID risorsa è nel formato:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Passaggio 2: Concedere all'identità gestita l'accesso all'account di archiviazione
Per concedere le autorizzazioni in questo passaggio, è necessario avere il ruolo Azure RBAC Owner o User Access Administrator nel tuo account di archiviazione.
Quando si concede all'identità gestita l'accesso all'account di archiviazione e al contenitore, sono disponibili le opzioni seguenti:
- Concedere l'accesso in lettura e scrittura all'intero account di archiviazione usando il ruolo
Storage Blob Data Contributor. - Concedere un ruolo più limitato all'account di archiviazione usando il ruolo
Storage Blob Delegatore l'accesso in lettura e scrittura a un contenitore specifico usando il ruoloStorage Blob Data Contributor.
Le istruzioni seguenti presuppongono che si assegni il ruolo Storage Blob Data Contributor sull'account di archiviazione, ma è possibile sostituire le altre opzioni in base alle esigenze.
- Accedi al tuo account Azure Data Lake Storage.
- Passare a Controllo di accesso (IAM), fare clic su + Aggiungi e selezionare Aggiungi assegnazione di ruolo.
- Selezionare il ruolo Collaboratore ai dati dei BLOB di archiviazione e fare clic su Avanti.
- In Assegna accesso a , selezionare Identità gestita.
- Fare clic su +Select Members e selezionare Access connector for Azure Databricks oppure User-assigned managed identity.
- Cercare il nome del connettore o l'identità assegnata dall'utente, selezionarlo e fare clic su Rivedi e assegna.
Passaggio 3: Concedere all'identità gestita l'accesso agli eventi di file
Per configurare i ruoli di Azure necessari e abilitare gli eventi di file per i percorsi esterni, vedere Configurare gli eventi di file per un percorso esterno.
Usare un'identità gestita per accedere all'account di archiviazione radice del catalogo Unity
Questa sezione descrive come concedere all'identità gestita l'accesso all'account di archiviazione radice. Questo avviene quando si crea un metastore del Catalogo Unity.
Per informazioni su come aggiornare un metastore esistente di Unity Catalog per usare un'identità gestita, consultare la sezione Aggiornamento del metastore esistente di Unity Catalog per utilizzare un'identità gestita per accedere alla sua archiviazione di root.
Come amministratore dell'account Azure Databricks accedere alla console dell'account Azure Databricks.
Fare clic
Catalogo.
Fare clic su Crea metastore.
Specifica i valori per i seguenti campi:
Nome del metastore.
Area in cui verrà distribuito il metastore.
Per ottenere prestazioni ottimali, individuare il connettore di accesso, le aree di lavoro, il metastore e la posizione di archiviazione cloud nella stessa area cloud.
Percorso di ADLS Gen 2: immettere il percorso del contenitore di archiviazione che verrà usato come risorsa di archiviazione radice per il metastore.
Assicurarsi che il percorso inizi con
abfss://.ID del connettore di accesso Access: immettere l'ID risorsa del connettore di accesso Azure Databricks nel formato:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>(Facoltativo) ID identità gestita: se è stato creato il connettore di accesso usando un'identità gestita assegnata dall'utente, immettere l'ID risorsa dell'identità gestita.
Clicca su Crea.
Quando richiesto, selezionare aree di lavoro da collegare al metastore.
Usare un'identità gestita per accedere all'archiviazione esterna gestita nel catalogo unity
Unity Catalog offre la possibilità di accedere ai dati esistenti negli account di archiviazione usando le credenziali di archiviazione e le posizioni esterne. Le credenziali di archiviazione archiviano l'identità gestita e i percorsi esterni definiscono un percorso di archiviazione insieme a un riferimento alle credenziali di archiviazione. È possibile usare questo approccio per concedere e controllare l'accesso ai dati esistenti nell'archiviazione cloud e registrare tabelle esterne in Unity Catalog.
Una credenziale di archiviazione può contenere un'identità gestita o un'entità servizio. L'uso di un'identità gestita offre il vantaggio di consentire a Unity Catalog di accedere agli account di archiviazione protetti dalle regole di rete, cosa che non è possibile con le entità servizio, e elimina la necessità di gestire e ruotare le chiavi segrete.
Per creare credenziali di archiviazione usando un'identità gestita e assegnare tale credenziale di archiviazione a una posizione esterna, seguire le istruzioni in Connettersi all'archiviazione di oggetti cloud usando Il catalogo unity.
(Consigliato per le aree di lavoro iniettate nella rete virtuale) Configura l'accesso attendibile ad Archiviazione di Azure basato sulla tua identità gestita
Se l'area di lavoro Azure Databricks viene distribuita nella propria rete virtuale Azure, nota anche come "VNet injection" e si usa un firewall di archiviazione per proteggere un account Azure Data Lake Storage, è necessario:
- Abilitare l'area di lavoro Azure Databricks per accedere alle Archiviazione di Azure.
- Abilitare l'identità gestita per accedere alle Archiviazione di Azure.
Passaggio 1. Abilitare l'area di lavoro Azure Databricks per accedere alle Archiviazione di Azure
È necessario configurare le impostazioni di rete per consentire all'area di lavoro Azure Databricks di accedere alle Azure Data Lake Storage. Assicurarsi prima di tutto che l'area di lavoro Azure Databricks sia distribuita nella propria rete virtuale seguendo Deploy Azure Databricks nella rete virtuale Azure (VNet injection). È quindi possibile configurare gli endpoint privati o l'accesso dalla rete virtuale per consentire le connessioni dalle sottoreti all'account Azure Data Lake Storage.
Se si usa un ambiente di calcolo serverless come serverless SQL Warehouse, è necessario concedere l'accesso dal piano di calcolo serverless a Azure Data Lake Storage. Vedere Rete per il piano di calcolo senza server.
Passaggio 2: Abilitare l'identità gestita per accedere alle Archiviazione di Azure
Questo passaggio è necessario solo se "Consenti ai servizi di Azure nell'elenco dei servizi attendibili di accedere a questo account di archiviazione" è disabilitato per l'account Archiviazione di Azure. Se la configurazione è abilitata:
- Qualsiasi connettore di accesso per Azure Databricks nello stesso tenant dell'account di archiviazione può accedere all'account di archiviazione.
- Un servizio attendibile di Azure può accedere all'account di archiviazione. Consulta Concedi accesso ai servizi Azure attendibili.
Le istruzioni seguenti includono un passaggio in cui si disabilita questa configurazione. È possibile usare il portale di Azure o il interfaccia della riga di comando di Azure.
Usare il portale di Azure
Accedere al portale di Azure, trovare e selezionare l'account Archiviazione di Azure e passare alla scheda Networking.
Impostare Accesso alla rete pubblica su Abilitato da reti virtuali e indirizzi IP selezionati.
Come opzione, è invece possibile impostare Accesso alla rete pubblica su Disabilitato. L'identità gestita può essere usata per ignorare il controllo sull'accesso alla rete pubblica.
In Istanza risorse, selezionare un tipo di risorsa di Microsoft.Databricks/accessConnectors e selezionare il connettore di accesso Azure Databricks.
In Exceptions deselezionare la casella di controllo Allow Azure nell'elenco dei servizi attendibili per accedere a questo account di archiviazione.
Usare il interfaccia della riga di comando di Azure
Installare interfaccia della riga di comando di Azure e sign in. Per accedere con un account utente o un'entità servizio, vedere Accedere con l'interfaccia della riga di comando di Azure.
Aggiungere una regola di rete all'account di archiviazione:
az storage account network-rule add \ -–subscription <subscription id of the resource group> \ -–resource-id <resource Id of the access connector for Azure Databricks> \ -–tenant-id <tenant Id> \ -g <name of the Azure Storage resource group> \ -–account-name <name of the Azure Storage resource> \Aggiungere l'ID risorsa nel formato:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>Dopo aver creato la regola di rete, vai all'account di archiviazione di Azure nel portale di Azure e visualizza l'identità gestita nella scheda Networking sotto Resource instances, tipo di risorsa
Microsoft.Databricks/accessConnectors.In Exceptions deselezionare la casella di controllo Allow Azure nell'elenco dei servizi attendibili per accedere a questo account di archiviazione.
Facoltativamente, impostare Accesso alla rete pubblica su Disabilitato. L'identità gestita può essere usata per ignorare il controllo sull'accesso alla rete pubblica.
L'approccio standard consiste nel mantenere questo valore impostato su Abilitato da reti virtuali e indirizzi IP selezionati.
(Consigliato) Configurare i firewall di archiviazione di Azure per consentire l'accesso dai magazzini dati SQL serverless
Serverless SQL warehouses sono risorse di calcolo eseguite nella sottoscrizione Azure per Azure Databricks, non nella tua sottoscrizione Azure. Se si configura un firewall in Azure Data Lake Storage e si intende usare i Magazzini SQL serverless, è necessario configurare il firewall per consentire l'accesso dai Magazzini SQL serverless.
Per istruzioni, vedere Configurare un firewall per l'accesso alle risorse di calcolo serverless (legacy).
Aggiornare il metastore del Catalogo Unity esistente per usare un'identità gestita per accedere all'archiviazione principale
Se si dispone di un metastore del catalogo Unity creato usando un'entità servizio e si vuole aggiornarlo per usare un'identità gestita, è possibile aggiornarlo usando una chiamata API.
Creare un connettore di accesso per Azure Databricks e assegnargli le autorizzazioni per il contenitore di archiviazione usato per l'archiviazione radice del metastore del catalogo Unity, usando le istruzioni riportate in Configurare un'identità gestita per il catalogo Unity.
È possibile creare il connettore di accesso con un'identità gestita assegnata dal sistema o un'identità gestita assegnata dall'utente.
Prendere nota dell'ID risorsa del connettore di accesso. Se utilizzi un'identità gestita assegnata dall'utente, annota anche il relativo ID della risorsa.
Come amministratore dell'account accedere a un'area di lavoro Azure Databricks assegnata al metastore.
Non è necessario essere un amministratore dell'area di lavoro.
Generare un token di accesso personale.
Creare un profilo di configurazione di autenticazione Azure Databricks nell'ambiente locale che contiene quanto segue:
- Il nome dell'istanza e l'ID dell'area di lavoro in cui hai generato il tuo token di accesso personale.
- Valore del token di accesso personale.
Vedere Autenticazione del token di accesso personale (legacy).
Usare il Databricks CLI per eseguire il comando seguente e ricreare le credenziali di archiviazione.
Sostituisci i valori segnaposto:
-
<credential-name>: nome per le credenziali di archiviazione. -
<access-connector-id>: ID risorsa per il connettore di accesso Azure Databricks nel formato/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name> -
<managed-identity-id>: se è stato creato il connettore di accesso usando un'identità gestita assegnata dall'utente, specificare l'ID risorsa dell'identità gestita. -
<profile-name>: nome del profilo di configurazione dell'autenticazione Azure Databricks.
databricks storage-credentials create --json '{ "name\": "<credential-name>", "azure_managed_identity": { "access_connector_id": "<access-connector-id>", "managed_identity_id": "<managed-identity-id>" } }' --profile <profile-name>-
Prendere nota dell'ID credenziale di archiviazione nella risposta.
Eseguire il seguente comando CLI di Databricks per recuperare:
metastore_idSostituire<profile-name>con il nome del profilo di configurazione dell'autenticazione Azure Databricks.databricks metastores summary --profile <profile-name>Eseguire il comando seguente dell'interfaccia a riga di comando di Databricks per aggiornare il metastore con la nuova credenziale di archiviazione principale.
Sostituisci i valori segnaposto:
-
<metastore-id>: L'ID metastore che hai recuperato nel passaggio precedente. -
<storage-credential-id>: ID credenziale di archiviazione. -
<profile-name>: nome del profilo di configurazione dell'autenticazione Azure Databricks.
databricks metastores update <metastore-id> \ --storage-root-credential-id <storage-credential-id> \ --profile <profile-name>-