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 le identità gestite di Azure per la connessione ai contenitori di archiviazione per conto degli utenti del catalogo Unity.
Che cosa sono le identità gestite di Azure?
Unity Catalog può essere configurato per utilizzare un'identità gestita di 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 con ID Microsoft Entra.
È 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 di 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 di Azure Data Lake Storage, è possibile usare l'identità gestita per connettere l'area di lavoro a tale account. Consulta (consigliato per le aree di lavoro iniettate in VNet) Configura l'accesso attendibile all'Archivio di Azure in base alla tua 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. Concedi quindi all'identità gestita l'accesso al tuo account di Azure Data Lake Storage e utilizza il connettore di accesso quando crei un metastore o una credenziale di archiviazione per Unity Catalog.
Requisiti
L'utente o l'entità servizio di Azure che crea il connettore di accesso deve:
- Essere un/una
Contributor
o un/unaOwner
di un gruppo di risorse di Azure.
L'utente o l'entità servizio di Azure che concede un'identità gestita all'account di archiviazione deve:
- Essere un
Owner
oppure un utente con il ruoloUser Access Administrator
RBAC di Azure sull'account di archiviazione.
Passaggio 1: Creare un connettore di accesso per Azure Databricks
Il connettore di accesso per Azure Databricks è una risorsa di 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.
Effettuare una ricerca per Access Connector per Azure Databricks e selezionarlo.
Clicca su Crea.
Nella scheda Informazioni di base accettare, selezionare o immettere i valori per i campi seguenti:
- Sottoscrizione: sottoscrizione di Azure in cui verrà creato il connettore di accesso. Il valore predefinito è la sottoscrizione di Azure in uso. Può trattarsi di qualsiasi sottoscrizione nel tenant.
- Gruppo di risorse: gruppo di risorse di 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 RBAC di Azure, Owner
o User Access Administrator
, nel proprio 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 Delegator
e 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.
- Accedere all'account di 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 +Seleziona membri e selezionare Connettore di accesso per Azure Databricks o Identità gestita assegnata dall'utente.
- 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
La concessione dell'accesso all'identità gestita agli eventi di file consente ad Azure Databricks di sottoscrivere le notifiche degli eventi di file generate dai provider di servizi cloud. In questo modo l'elaborazione dei file risulta più efficiente. Per altre informazioni, vedere (Scelta consigliata) Abilitare gli eventi di file per un percorso esterno.
Per concedere le autorizzazioni in questo passaggio, devi avere il ruolo RBAC di Azure "Proprietario" o "Amministratore Accesso Utenti" sul tuo account di archiviazione.
- Accedere all'account di Azure Data Lake Storage.
- Passare a Controllo di accesso (IAM), fare clic su + Aggiungi e selezionare Aggiungi assegnazione di ruolo.
- Selezionare il ruolo Collaboratore dati della coda di archiviazione e fare clic su Avanti.
- In Assegna accesso a , selezionare Identità gestita.
- Fare clic su +Seleziona membri e selezionare Connettore di accesso per Azure Databricks o Identità gestita assegnata dall'utente.
- Cercare il nome del connettore o l'identità assegnata dall'utente, selezionarlo e fare clic su Rivedi e assegna.
Passaggio 4: Concedere ad Azure Databricks l'accesso per configurare gli eventi di file per conto dell'utente
Annotazioni
Questo passaggio è facoltativo ma altamente consigliato. Se non si concede ad Azure Databricks l'accesso per configurare gli eventi di file per conto dell'utente, è necessario configurare manualmente gli eventi di file per ogni posizione e si avrà accesso limitato alle funzionalità critiche che Databricks potrebbe rilasciare in futuro. Per altre informazioni sugli eventi di file, vedere (Scelta consigliata) Abilitare gli eventi di file per un percorso esterno.
Questo passaggio consente ad Azure Databricks di configurare automaticamente gli eventi di file. Per concedere le autorizzazioni in questo passaggio, è necessario avere i ruoli Azure RBAC di Proprietario o Amministratore accesso utenti sulla propria identità gestita e sul gruppo di risorse in cui si trova l'account Azure Data Lake Storage.
Seguire le istruzioni in Passaggio 3: Concedere all'identità gestita l'accesso agli eventi di file e assegnare il Collaboratore Account di Archiviazione all'identità gestita.
Questo ruolo non sostituisce i ruoli concessi nei passaggi 2 o 3 in questa pagina, ma è in aggiunta a essi.
Passare al gruppo di risorse di Azure in cui si trova l'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 EventGrid EventSubscription e fare clic su Avanti.
In Assegna accesso a , selezionare Identità gestita.
Fare clic su +Seleziona membri e selezionare Connettore di accesso per Azure Databricks o Identità gestita assegnata dall'utente.
Cercare il nome del connettore o l'identità assegnata dall'utente, selezionarlo e fare clic su Rivedi e assegna.
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.
Il
abfss://
prefisso viene aggiunto automaticamente.ID del connettore di accesso: inserire l'ID della risorsa del connettore di accesso di 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 inserite nella rete virtuale) Configura l'accesso attendibile a Azure Storage sulla tua identità gestita
Se l'area di lavoro di Azure Databricks viene distribuita nella propria rete virtuale di 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 di Azure Databricks per accedere alle Archiviazione di Azure.
- Abilita la tua identità gestita per accedere all'archiviazione di Azure.
Passaggio 1: Abilitare l'area di lavoro di Azure Databricks per accedere alle Archiviazione di Azure
È necessario configurare le impostazioni di rete per consentire all'area di lavoro di Azure Databricks di accedere ad Azure Data Lake Storage. È possibile configurare endpoint privati o accedere dalla rete virtuale in Azure Data Lake Storage per consentire le connessioni dalle subnet all'account di Azure Data Lake Storage.
Per istruzioni, vedere Concedere all'area di lavoro di Azure Databricks l'accesso ad Azure Data Lake Storage.
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.
- Qualsiasi servizio attendibile di Azure può accedere all'account di archiviazione. Vedere Concedere l'accesso ai servizi di Azure attendibili.
Le istruzioni seguenti includono un passaggio in cui si disabilita questa configurazione. È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Usare il portale di Azure
Accedere all'Azure Portal, trovare e selezionare l'account di Azure Storage 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 Istanze di risorse selezionare un tipo di risorsa di Microsoft.Databricks/accessConnectors e selezionare il connettore di accesso di Azure Databricks.
In Eccezioni, deselezionare la casella di controllo Consenti ai servizi di Azure nell'elenco servizi attendibili di accedere a questo account di archiviazione.
Usare l'interfaccia della riga di comando di Azure
Installare l'interfaccia della riga di comando di Azure ed eseguire l'accesso.
Per accedere utilizzando un'entità servizio Microsoft Entra ID, consultare la documentazione su come accedere all'interfaccia della riga di comando di Azure con un'entità servizio Microsoft Entra ID.
Per accedere usando un account utente di Azure Databricks, vedi Login dell'interfaccia della riga di comando di Azure con un account utente di Azure Databricks.
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, passare all'account di Archiviazione di Azure nel portale di Azure e visualizzare l'identità gestita nella scheda Networking sotto istanze di risorse, tipo di risorsa
Microsoft.Databricks/accessConnectors
.In Eccezioni, deselezionare la casella di controllo Consenti ai servizi di Azure nell'elenco servizi attendibili di 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.
(Scelta consigliata) Configurare i firewall di archiviazione di Azure per consentire l'accesso dai data warehouse SQL serverless
Serverless SQL warehouses sono risorse di calcolo eseguite nella sottoscrizione Azure di Azure Databricks, non nella tua sottoscrizione di Azure. Se configuri un firewall in Azure Data Lake Storage e prevedi di utilizzare magazzini dati SQL serverless, è necessario configurare il firewall per consentire l'accesso dai magazzini dati SQL serverless.
Per istruzioni, vedere Configura un firewall per l'accesso al calcolo serverless.
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 Access Connector per Azure Databricks e assegnargli le autorizzazioni per il contenitore di archiviazione utilizzato per l'archiviazione principale del metanegozio del Unity Catalog, seguendo le istruzioni riportate in Configurare un'identità gestita per Unity Catalog.
È 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 di 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 di 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.
Consultare Autenticazione con token di accesso personale di Azure Databricks.
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 di 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 di 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_id
Sostituire<profile-name>
con il nome del profilo di configurazione dell'autenticazione di 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 di Azure Databricks.
databricks metastores update <metastore-id> \ --storage-root-credential-id <storage-credential-id> \ --profile <profile-name>
-