Configurazione dell'accesso ai dati

Questo articolo descrive le configurazioni di accesso ai dati eseguite dagli amministratori di Azure Databricks per tutti i warehouse SQL (in precedenza endpoint SQL) usando l'interfaccia utente.

Per configurare tutti i warehouse SQL usando l'API REST, vedere API Global 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 modello di sicurezza SQL di Databricks e della panoramica dell'accesso ai dati.

Requisiti

È necessario essere un amministratore di Azure Databricks per configurare le impostazioni per tutti i warehouse SQL.

Configurare un'entità servizio

Per configurare l'accesso per i warehouse SQL a un account di archiviazione Azure Data Lake Storage Gen2 usando le entità servizio, seguire questa procedura:

  1. Registrare un'applicazione Azure AD e registrare le proprietà seguenti:

    • ID applicazione (client): ID che identifica in modo univoco l'applicazione Azure Active Directory.
    • ID directory (tenant): ID che identifica in modo univoco l'istanza di Azure Active Directory (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 privata 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 Key Vault supportato da Azure o un ambito segreto con ambito Databricks e registrare il valore della proprietà nome ambito:

    • Nome ambito: nome dell'ambito segreto creato.
  4. Se si usa l'Key Vault di Azure, passare alla sezione Segreti e creare un nuovo segreto con un nome scelto. Usare il "segreto client" ottenuto nel passaggio 1 per popolare il campo "value" di questo segreto. Mantenere un record del nome segreto appena scelto.

    • Nome segreto: nome del segreto creato di Azure Key Vault.
  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 creato di Databricks.

    Nota

    Facoltativamente, è possibile creare un segreto aggiuntivo per archiviare l'ID client ottenuto al passaggio 1.

  6. Fare clic su Impostazioni impostazioni utente nella parte inferiore della barra laterale e selezionare SQL Amministrazione Console.

  7. Fare clic sulla scheda Impostazioni di SQL Warehouse .

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

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

  10. Fare clic su Aggiungi.

    Account di archiviazione ADLS2

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

  11. Fare clic su Salva.

Nota

È anche possibile modificare direttamente le voci della casella di testo Configurazione accesso 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 segreto e <secret-name> con il nome segreto. Il valore deve iniziare con {{segreti/ 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 i warehouse SQL

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

  1. Fare clic su Impostazioni impostazioni utente nella parte inferiore della barra laterale e selezionare SQL Amministrazione Console.

  2. Fare clic sulla scheda Impostazioni di SQL Warehouse .

  3. Nella casella di testo Configurazione accesso dati specificare coppie chiave-valore contenenti proprietà metastore.

    Importante

    Per impostare una proprietà di configurazione Spark sul valore di un segreto senza esporre il valore segreto a Spark, impostare il valore su {{secrets/<secret-scope>/<secret-name>}}. Sostituire <secret-scope> con l'ambito segreto e <secret-name> con il nome 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 con il provider Databricks Terraform e databricks_sql_global_config.

Proprietà supportate

Le proprietà seguenti sono supportate per i warehouse SQL. Per una voce che termina con *, tutte le proprietà all'interno del prefisso sono supportate. Ad esempio, spark.sql.hive.metastore.* indica che sia spark.sql.hive.metastore.jars e spark.sql.hive.metastore.version sono supportati, nonché tutte le altre proprietà che iniziano 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 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.