Creare credenziali di archiviazione per la connessione ad Azure Data Lake Storage Gen2
Questo articolo descrive come creare credenziali di archiviazione in Unity Catalog per connettersi ad Azure Data Lake Storage Gen2.
Per gestire l'accesso all'archiviazione cloud sottostante che contiene tabelle e volumi, il catalogo Unity usa i seguenti tipi di oggetto:
- Le credenziali di archiviazione incapsulano una credenziale cloud a lungo termine che fornisce l'accesso all'archiviazione cloud.
- Le posizioni esterne contengono un riferimento a una credenziale di archiviazione e a un percorso di archiviazione cloud.
Per altre informazioni, vedere Gestire l'accesso all'archiviazione cloud usando il catalogo unity.
Nota
Se si vuole usare Il catalogo unity per gestire l'accesso a un servizio esterno anziché all'archiviazione cloud, vedere Gestire l'accesso ai servizi cloud esterni usando le credenziali del servizio.
Unity Catalog supporta tre opzioni di archiviazione cloud per Azure Databricks: contenitori di Azure Data Lake Storage Gen2, bucket Cloudflare R2 e radice DBFS. Cloudflare R2 è destinato principalmente ai casi d'uso di condivisione delta in cui si vogliono evitare costi di uscita dei dati. Azure Data Lake Storage Gen2 è appropriato per la maggior parte degli altri casi d'uso. Questo articolo è incentrato sulla creazione di credenziali di archiviazione per i contenitori di Azure Data Lake Storage Gen2. Per Cloudflare R2, vedere Creare credenziali di archiviazione per la connessione a Cloudflare R2.
DBFS Root viene usato per gestire l'accesso a radice DBFS. Anche se Databricks sconsiglia di archiviare i dati nell'archiviazione radice DBFS, l'area di lavoro potrebbe farlo a causa di procedure legacy. Per la radice DBFS, vedere Crea un percorso esterno per i dati nella radice DBFS.
Per creare credenziali di archiviazione per l'accesso a un contenitore di Azure Data Lake Storage Gen2, creare un connettore di accesso di Azure Databricks che fa riferimento a un'identità gestita di Azure, assegnandole le autorizzazioni nel contenitore di archiviazione. Si fa quindi riferimento al connettore di accesso nella definizione delle credenziali di archiviazione.
Requisiti
In Azure Databricks:
- Area di lavoro di Azure Databricks abilitata per Unity Catalog.
- Privilegio
CREATE STORAGE CREDENTIAL
nel metastore del catalogo Unity collegato all'area di lavoro. Gli amministratori dell'account e gli amministratori del metastore hanno questo privilegio per impostazione predefinita.
Nel tenant di Azure:
Contenitore di archiviazione di Azure Data Lake Storage Gen2. Per evitare addebiti in uscita, deve trovarsi nella stessa area dell'area di lavoro da cui si vuole accedere ai dati.
L'account di archiviazione di Azure Data Lake Storage Gen2 deve avere uno spazio dei nomi gerarchico.
Collaboratore o Proprietario di un gruppo di risorse di Azure.
Proprietario o utente con il ruolo Controllo degli accessi in base al ruolo di Amministratore accesso utenti di Azure nell'account di archiviazione.
Creare credenziali di archiviazione usando un'identità gestita
È possibile usare un'identità gestita di Azure o un'entità servizio come identità che autorizza l'accesso al contenitore di archiviazione. Le identità gestite sono fortemente consigliate. Hanno il vantaggio di consentire a Unity Catalog di accedere agli account di archiviazione protetti dalle regole di rete, che non è possibile usare le entità servizio e rimuovere la necessità di gestire e ruotare i segreti. Per usare un'entità servizio, vedere Creare un'archiviazione gestita del catalogo Unity usando un'entità servizio (legacy).
Nella portale di Azure creare un connettore di accesso di Azure Databricks e assegnargli le autorizzazioni per il contenitore di archiviazione a cui si vuole accedere, seguendo le istruzioni riportate in Configurare un'identità gestita per Unity Catalog.
Un connettore di accesso di Azure Databricks è una risorsa di Azure di prima parte che consente di connettere le identità gestite a un account Azure Databricks. Per aggiungere le credenziali di archiviazione, è necessario avere il ruolo Collaboratore o superiore nella risorsa del connettore di accesso in Azure.
Prendere nota dell'ID risorsa del connettore di accesso.
Accedere all'area di lavoro di Azure Databricks abilitata per Unity Catalog come utente con privilegi
CREATE STORAGE CREDENTIAL
.I ruoli di amministratore del metastore e amministratore dell'account includono entrambi questo privilegio.
Fare clic su Catalogo.
Nella pagina Accesso rapido fare clic sul >esterni, passare alla scheda Credenziali e selezionare Crea credenziali.
Selezionare Credenziali di archiviazione.
Selezionare un tipo di credenziale dell'identità gestita di Azure.
Immettere un nome per le credenziali e immettere l'ID risorsa del connettore di accesso nel formato:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
(Facoltativo) Se è stato creato il connettore di accesso usando un'identità gestita assegnata dall'utente, immettere l'ID risorsa dell'identità gestita nel campo ID identità gestita assegnata dall'utente nel formato:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
(Facoltativo) Se si vuole che gli utenti abbiano accesso in sola lettura alle posizioni esterne che usano questa credenziale di archiviazione, selezionare Sola lettura. Per altre informazioni, vedere Contrassegnare le credenziali di archiviazione come di sola lettura.
Cliccare su Crea.
(Facoltativo) Associare le credenziali di archiviazione a aree di lavoro specifiche.
Per impostazione predefinita, qualsiasi utente con privilegi può usare le credenziali di archiviazione in qualsiasi area di lavoro collegata al metastore. Se si vuole consentire l'accesso solo da aree di lavoro specifiche, passare alla scheda Aree di lavoro e assegnare le aree di lavoro. Vedere (Facoltativo) Assegnare credenziali di archiviazione a aree di lavoro specifiche.
Creare un percorso esterno che faccia riferimento a questa credenziale di archiviazione.
(Facoltativo) Assegnare credenziali di archiviazione a aree di lavoro specifiche
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Per impostazione predefinita, una credenziale di archiviazione è accessibile da tutte le aree di lavoro nel metastore. Ciò significa che se a un utente è stato concesso un privilegio (ad esempio CREATE EXTERNAL LOCATION
) per tale credenziale di archiviazione, può esercitare tale privilegio da qualsiasi area di lavoro collegata al metastore. Se si usano aree di lavoro per isolare l'accesso ai dati utente, è possibile consentire l'accesso a credenziali di archiviazione solo da aree di lavoro specifiche. Questa funzionalità è nota come associazione dell'area di lavoro o isolamento delle credenziali di archiviazione.
Un caso d'uso tipico per l'associazione di credenziali di archiviazione a aree di lavoro specifiche è lo scenario in cui un amministratore cloud configura una credenziale di archiviazione usando credenziali dell'account cloud di produzione e si vuole assicurarsi che gli utenti di Azure Databricks usino questa credenziale per creare posizioni esterne solo nell'area di lavoro di produzione.
Per altre informazioni sull'associazione dell'area di lavoro, vedere (Facoltativo) Assegnare una posizione esterna a aree di lavoro specifiche e Limitare l'accesso al catalogo a aree di lavoro specifiche.
Nota
Le associazioni dell'area di lavoro vengono a cui viene fatto riferimento quando vengono esercitati privilegi per le credenziali di archiviazione. Ad esempio, se un utente crea una posizione esterna usando credenziali di archiviazione, l'associazione dell'area di lavoro per le credenziali di archiviazione viene controllata solo quando viene creato il percorso esterno. Dopo aver creato il percorso esterno, funzionerà indipendentemente dalle associazioni dell'area di lavoro configurate nelle credenziali di archiviazione.
Associare credenziali di archiviazione a una o più aree di lavoro
Per assegnare credenziali di archiviazione a aree di lavoro specifiche, è possibile usare Esplora cataloghi o l'interfaccia della riga di comando di Databricks.
Autorizzazioni necessarie: amministratore metastore, proprietario delle credenziali di archiviazione o MANAGE
nella credenziale di archiviazione.
Nota
Gli amministratori del metastore possono visualizzare tutte le credenziali di archiviazione in un metastore usando Esplora cataloghi e i proprietari delle credenziali di archiviazione possono visualizzare tutte le credenziali di archiviazione di cui sono proprietari in un metastore, indipendentemente dal fatto che le credenziali di archiviazione siano assegnate all'area di lavoro corrente. Le credenziali di archiviazione non assegnate all'area di lavoro vengono visualizzate in grigio.
Esplora cataloghi
Accedere a un'area di lavoro collegata al metastore.
Nella barra laterale fare clic su Catalogo.
Nella pagina Accesso rapido fare clic sul pulsante Dati>esterni e passare alla scheda Credenziali.
Selezionare le credenziali di archiviazione e passare alla scheda Aree di lavoro .
Nella scheda Aree di lavoro deselezionare la casella di controllo Tutte le aree di lavoro hanno accesso.
Se le credenziali di archiviazione sono già associate a una o più aree di lavoro, questa casella di controllo è già deselezionata.
Fare clic su Assegna alle aree di lavoro e immettere o trovare le aree di lavoro da assegnare.
Per revocare l'accesso, passare alla scheda Aree di lavoro , selezionare l'area di lavoro e fare clic su Revoca. Per consentire l'accesso da tutte le aree di lavoro, selezionare la casella di controllo Tutte le aree di lavoro con accesso .
CLI
Esistono due gruppi di comandi dell'interfaccia della riga di comando di Databricks e due passaggi necessari per assegnare credenziali di archiviazione a un'area di lavoro.
Negli esempi seguenti sostituire <profile-name>
con il nome del profilo di configurazione dell'autenticazione di Azure Databricks. Deve includere il valore di un token di accesso personale, oltre al nome dell'istanza dell'area di lavoro e all'ID dell'area di lavoro in cui è stato generato il token di accesso personale. Consultare Autenticazione con token di accesso personale di Azure Databricks.
Usare il
storage-credentials
comando del gruppo diupdate
comandi per impostare le credenziali diisolation mode
archiviazione suISOLATED
:databricks storage-credentials update <my-storage-credential> \ --isolation-mode ISOLATED \ --profile <profile-name>
L'impostazione predefinita
isolation-mode
èOPEN
tutte le aree di lavoro collegate al metastore.Usare il
workspace-bindings
comando del gruppo diupdate-bindings
comandi per assegnare le aree di lavoro alle credenziali di archiviazione:databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>
Usare le
"add"
proprietà e"remove"
per aggiungere o rimuovere associazioni dell'area di lavoro.Nota
L'associazione di sola lettura (
BINDING_TYPE_READ_ONLY
) non è disponibile per le credenziali di archiviazione. Di conseguenza, non esiste alcun motivo per impostarebinding_type
per l'associazione di credenziali di archiviazione.
Per elencare tutte le assegnazioni dell'area di lavoro per le credenziali di archiviazione, usare il workspace-bindings
comando del gruppo di get-bindings
comandi:
databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>
Annullare l'associazione di credenziali di archiviazione da un'area di lavoro
Le istruzioni per revocare l'accesso all'area di lavoro a una credenziale di archiviazione tramite Esplora cataloghi o il gruppo di comandi dell'interfaccia della workspace-bindings
riga di comando sono incluse in Associare credenziali di archiviazione a una o più aree di lavoro.
Passaggi successivi
È possibile visualizzare, aggiornare, eliminare e concedere ad altri utenti l'autorizzazione per l'uso delle credenziali di archiviazione. Vedere Gestire le credenziali di archiviazione.
È possibile definire percorsi esterni usando le credenziali di archiviazione. Si veda Creare una posizione esterna per connettere la memorizzazione cloud ad Azure Databricks.