Abilitare la configurazione dell'accesso ai dati
Questo articolo descrive le configurazioni di accesso ai dati eseguite dagli amministratori di Azure Databricks per tutti i data warehouse usando l'interfaccia utente.
Nota
Se l'area di lavoro è abilitata per Unity Catalog, non è necessario eseguire i passaggi descritti in questo articolo. Il catalogo unity supporta i warehouse SQL per impostazione predefinita.
Databricks consiglia di usare volumi di Unity Catalog o posizioni esterne per connettersi all'archiviazione di oggetti cloud anziché ai profili di istanza. Unity Catalog semplifica la sicurezza e la governance dei dati fornendo una posizione centrale per amministrare e controllare l'accesso ai dati in più aree di lavoro nell'account. Vedere Che cos'è il catalogo unity? e raccomandazioni per l'uso di percorsi esterni.
Per configurare tutti i warehouse SQL con l'API REST, vedere API sql warehouses.
Importante
La modifica di queste impostazioni riavvia tutti i warehouse SQL in esecuzione.
Per una panoramica generale su come abilitare l'accesso ai dati, vedere Elenchi di controllo di accesso.
Requisiti
- Per configurare le impostazioni per tutti i warehouse SQL, è necessario essere un amministratore dell'area di lavoro di Azure Databricks.
Configurare un'entità servizio
Per configurare l'accesso per i data warehouse SQL a un account di archiviazione di Azure Data Lake Storage Gen2 usando le entità servizio, seguire questa procedura:
Registrare un'applicazione Microsoft Entra ID (in precedenza Azure Active Directory) e registrare le proprietà seguenti:
- ID applicazione (client): ID che identifica in modo univoco l'applicazione Microsoft Entra ID.
- ID directory (tenant): ID che identifica in modo univoco l'istanza di Microsoft Entra ID (denominato ID directory (tenant) in Azure Databricks.
- Segreto client: valore di un segreto client creato per la registrazione dell'applicazione. L'applicazione userà questa stringa segreta per dimostrare la propria identità.
Nell'account di archiviazione aggiungere un'assegnazione di ruolo per l'applicazione registrata nel passaggio precedente per concedere l'accesso all'account di archiviazione.
Creare un ambito segreto supportato da Azure Key Vault o un ambito segreto con ambito Databricks e registrare il valore della proprietà nome ambito:
- Nome ambito: nome dell'ambito del segreto creato.
Se si usa Azure Key Vault, passare alla sezione Segreti e Vedere Creare un segreto in un ambito supportato da Azure Key Vault. Usare quindi il "segreto client" ottenuto nel passaggio 1 per popolare il campo "valore" di questo segreto. Mantenere un record del nome segreto appena scelto.
- Nome segreto: nome del segreto di Azure Key Vault creato.
Se si usa un ambito supportato da Databricks, creare un nuovo segreto usando l'interfaccia della riga di comando di Databricks e usarlo per archiviare il segreto client ottenuto nel passaggio 1. Mantenere un record della chiave privata immessa in questo passaggio.
- Chiave privata: chiave del segreto basato su Databricks creato.
Nota
Facoltativamente, è possibile creare un segreto aggiuntivo per archiviare l'ID client ottenuto al passaggio 1.
Fare clic sul nome utente nella barra superiore dell'area di lavoro e selezionare Impostazioni dall'elenco a discesa.
Fare clic sulla scheda Calcolo .
Fare clic su Gestisci accanto a SQL Warehouse.
Nel campo Configurazione accesso ai dati fare clic sul pulsante Aggiungi entità servizio.
Configurare le proprietà per l'account di archiviazione di Azure Data Lake Storage Gen2.
Fare clic su Aggiungi.
Si noterà che le nuove voci sono state aggiunte alla casella di testo Configurazione accesso ai dati.
Fare clic su Salva.
È anche possibile modificare direttamente le voci della casella di testo Configurazione accesso ai dati.
Configurare le proprietà di accesso ai dati per SQL Warehouse
Per configurare tutti i warehouse con le proprietà di accesso ai dati:
Fare clic sul nome utente nella barra superiore dell'area di lavoro e selezionare Impostazioni dall'elenco a discesa.
Fare clic sulla scheda Calcolo .
Fare clic su Gestisci accanto a SQL Warehouse.
Nella casella di testo Configurazione accesso ai dati specificare coppie chiave-valore contenenti le proprietà del metastore.
Importante
Per impostare una proprietà di configurazione spark sul valore di un segreto senza esporre il valore del segreto a Spark, impostare il valore su
{{secrets/<secret-scope>/<secret-name>}}
. Sostituire<secret-scope>
con l'ambito del segreto e<secret-name>
con il nome del segreto. Il valore deve iniziare con e terminare con{{secrets/
}}
. Per altre informazioni su questa sintassi, vedere Sintassi per fare riferimento ai segreti in una proprietà di configurazione Spark o in una variabile di ambiente.Fare clic su Salva.
È anche possibile configurare le proprietà di accesso ai dati usando il provider Databricks Terraform e databricks_sql_global_config.
Proprietà supportate
Per una voce che termina con
*
, sono supportate tutte le proprietà all'interno di tale prefisso.Ad esempio,
spark.sql.hive.metastore.*
indica che siaspark.sql.hive.metastore.jars
espark.sql.hive.metastore.version
sono supportate e tutte le altre proprietà che iniziano conspark.sql.hive.metastore
.Per le proprietà i cui valori contengono informazioni riservate, è possibile archiviare le informazioni riservate in un segreto e impostare il valore della proprietà sul nome del segreto usando la sintassi seguente:
secrets/<secret-scope>/<secret-name>
.
Per i warehouse SQL sono supportate le proprietà seguenti:
spark.sql.hive.metastore.*
spark.sql.warehouse.dir
spark.hadoop.datanucleus.*
spark.hadoop.fs.*
spark.hadoop.hive.*
spark.hadoop.javax.jdo.option.*
spark.hive.*
Per altre informazioni su come impostare queste proprietà, vedere Metastore Hive esterno.