Abilitare il controllo di accesso alle tabelle metastore Hive in un cluster (legacy)

Questo articolo descrive come abilitare il controllo di accesso alle tabelle per il metastore Hive predefinito in un cluster.

Per informazioni su come impostare i privilegi per gli oggetti a protezione diretta del metastore Hive dopo l'abilitazione del controllo di accesso alle tabelle in un cluster, vedere Privilegi metastore Hive e oggetti a protezione diretta (legacy).

Nota

Il controllo di accesso alle tabelle del metastore Hive è un modello di governance dei dati legacy. Databricks consiglia invece di usare Unity Catalog per la semplicità e il modello di governance incentrato sugli account. È possibile aggiornare le tabelle gestite dal metastore Hive al metastore Unity Catalog.

Abilitare il controllo di accesso alle tabelle per un cluster

Il controllo di accesso alle tabelle è disponibile in due versioni:

  • Controllo di accesso alle tabelle solo SQL, che limita gli utenti ai comandi SQL.
  • Controllo di accesso alle tabelle Python e SQL, che consente agli utenti di eseguire comandi SQL, Python e PySpark.

Il controllo di accesso alle tabelle non è supportato con Machine Learning Runtime.

Importante

Anche se il controllo di accesso alle tabelle è abilitato per un cluster, gli amministratori dell'area di lavoro di Azure Databricks hanno accesso ai dati a livello di file.

Controllo di accesso alle tabelle solo SQL

Questa versione del controllo di accesso alle tabelle limita gli utenti solo ai comandi SQL.

Per abilitare il controllo di accesso alle tabelle solo SQL in un cluster e limitare tale cluster all'uso solo dei comandi SQL, impostare il flag seguente nel conf Spark del cluster:

spark.databricks.acl.sqlOnly true

Nota

L'accesso al controllo di accesso alle tabelle solo SQL non è interessato dall'impostazione Abilita tabella Controllo di accesso nella pagina delle impostazioni di amministrazione. Questa impostazione controlla solo l'abilitazione a livello di area di lavoro del controllo di accesso alle tabelle Python e SQL.

Controllo di accesso alle tabelle Python e SQL

Questa versione del controllo di accesso alle tabelle consente agli utenti di eseguire comandi Python che usano l'API DataFrame e SQL. Quando è abilitata in un cluster, gli utenti in tale cluster:

  • È possibile accedere a Spark solo usando l'API SPARK SQL o l'API DataFrame. In entrambi i casi, l'accesso alle tabelle e alle viste è limitato dagli amministratori in base ai privilegi di Azure Databricks che è possibile concedere agli oggetti metastore Hive.
  • È necessario eseguire i comandi nei nodi del cluster come utente con privilegi limitati che non possono accedere a parti sensibili del file system o creare connessioni di rete a porte diverse da 80 e 443.
    • Solo le funzioni Spark predefinite possono creare connessioni di rete su porte diverse da 80 e 443.
    • Solo gli utenti amministratori dell'area di lavoro con privilegi ANY FILE possono leggere i dati da database esterni tramite il connettore JDBC PySpark.
    • Se si vuole che i processi Python possano accedere ad altre porte in uscita, è possibile impostare la configurazione spark.databricks.pyspark.iptable.outbound.whitelisted.ports di Spark sulle porte a cui si vuole consentire l'accesso. Il formato supportato del valore di configurazione è [port[:port][,port[:port]]...], ad esempio: 21,22,9000:9999. La porta deve essere compresa nell'intervallo valido, 0-65535ovvero .

I tentativi di aggirare queste restrizioni avranno esito negativo con un'eccezione. Queste restrizioni vengono applicate in modo che gli utenti non possano mai accedere ai dati senza privilegi tramite il cluster.

Abilitare il controllo di accesso alle tabelle per l'area di lavoro

Prima che gli utenti possano configurare il controllo di accesso alle tabelle Python e SQL, un'area di lavoro di Azure Databricks deve abilitare il controllo di accesso alle tabelle per l'area di lavoro di Azure Databricks e negare agli utenti l'accesso ai cluster non abilitati per il controllo di accesso alle tabelle.

  1. Passare alla pagina delle impostazioni.
  2. Fare clic sulla scheda Sicurezza.
  3. Attivare l'opzione Table Controllo di accesso .

Applicare il controllo di accesso alle tabelle

Per assicurarsi che gli utenti accingassero solo ai dati a cui si desidera accedere, è necessario limitare gli utenti ai cluster con il controllo di accesso alle tabelle abilitato. In particolare, è necessario assicurarsi che:

  • Gli utenti non dispongono dell'autorizzazione per creare cluster. Se creano un cluster senza controllo di accesso alle tabelle, possono accedere a qualsiasi dato da tale cluster.
  • Gli utenti non dispongono dell'autorizzazione CAN ATTACH TO per qualsiasi cluster non abilitato per il controllo di accesso alle tabelle.

Per altre informazioni, vedere Autorizzazioni di calcolo.

Creare un cluster abilitato per il controllo di accesso alle tabelle

Il controllo di accesso alle tabelle è abilitato per impostazione predefinita nei cluster con modalità di accesso condiviso.

Per creare il cluster usando l'API REST, vedere Creare un nuovo cluster.

Impostare i privilegi per un oggetto dati

Vedere Privilegi del metastore Hive e oggetti a protezione diretta (legacy).