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.

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 Panoramica del controllo di accesso.

Nota

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 Consigli per l'uso di percorsi esterni.

Operazioni preliminari

  • 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 Archiviazione Gen2 usando le entità servizio, seguire questa procedura:

  1. Registrare un'applicazione Microsoft Entra ID 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à.
  2. Nell'account di archiviazione aggiungere un'assegnazione di ruolo per l'applicazione registrata nel passaggio precedente per concedere l'accesso all'account di archiviazione.

  3. 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.
  4. Se si usa Azure Key Vault, passare alla sezione Segreti e creare un nuovo segreto con un nome di propria scelta. Usare 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.
  5. 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.

  6. Fare clic sul nome utente nella barra superiore dell'area di lavoro e selezionare Amministrazione Impostazioni dall'elenco a discesa.

  7. Fare clic sulla scheda Impostazioni di SQL Warehouse.

  8. Nel campo Configurazione accesso ai dati fare clic sul pulsante Aggiungi entità servizio.

  9. Configurare le proprietà per l'account di archiviazione di Azure Data Lake Archiviazione Gen2.

  10. Fare clic su Aggiungi.

    ADLS2 storage account

    Si noterà che le nuove voci sono state aggiunte alla casella di testo Configurazione accesso ai dati.

  11. Fare clic su Salva.

Nota

È anche possibile modificare direttamente le voci della casella di testo Configurazione accesso ai dati.

Importante

Per impostare una proprietà di configurazione 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 {{secrets/ e terminare con }}. 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.

Configurare le proprietà di accesso ai dati per SQL Warehouse

Per configurare tutti i warehouse con le proprietà di accesso ai dati:

  1. Fare clic sul nome utente nella barra superiore dell'area di lavoro e selezionare Amministrazione Impostazioni dall'elenco a discesa.

  2. Fare clic sulla scheda Impostazioni SQL Warehouse.

  3. 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.

  4. 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 i warehouse SQL sono supportate le proprietà seguenti. Per una voce che termina con *, sono supportate tutte le proprietà all'interno di tale prefisso. Ad esempio, spark.sql.hive.metastore.* indica che spark.sql.hive.metastore.jars sia che spark.sql.hive.metastore.version sono supportati, nonché qualsiasi altra proprietà che inizia con spark.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>.

  • 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.