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 configurare i privilegi su oggetti proteggibili del metastore Hive dopo che il controllo di accesso alle tabelle è stato abilitato su un cluster, vedere i privilegi del metastore Hive e gli oggetti proteggibili (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 di 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.
- il 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 Runtime di Machine Learning.
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 SQL esclusivo
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 spark del cluster :
spark.databricks.acl.sqlOnly true
Nota
L'accesso al controllo di accesso solo alle tabelle SQL non è influenzato dall'impostazione di amministrazione Abilita controllo di accesso alle tabelle 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 di Spark su
spark.databricks.pyspark.iptable.outbound.whitelisted.ports
, inserendo le 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-65535
ovvero .
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 amministratore dell'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.
- Andare alla pagina Impostazioni.
- Fare clic sulla scheda Sicurezza.
- Attivare l'opzione controllo accesso tabella.
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 privilegi su un oggetto dati
Vedere Privilegi del metastore Hive e oggetti a protezione diretta (legacy).