Aktivieren der Hive-Metastore-Tabellenzugriffssteuerung in einem Cluster (Legacy)
In diesem Artikel wird beschrieben, wie Sie die Tabellenzugriffssteuerung für den integrierten Hive-Metastore in einem Cluster aktivieren.
Informationen zum Festlegen von Berechtigungen für sicherungsfähige Hive-Metastore-Objekte, nachdem die Tabellenzugriffssteuerung für einen Cluster aktiviert wurde, finden Sie unter Hive-Metastore-Berechtigungen und sicherungsfähige Objekte (Legacy).
Hinweis
Bei der Hive-Metastore-Tabellenzugriffssteuerung handelt es sich um ein Legacy-Datengovernancemodell. Databricks empfiehlt, aus Gründen der Einfachheit und des kontozentrierten Governancemodells stattdessen Unity Catalog zu verwenden. Sie können ein Upgrade der vom Hive-Metastore verwalteten Tabellen auf den Unity Catalog-Metastore durchführen.
Aktivieren der Tabellenzugriffssteuerung für einen Cluster
Die Tabellenzugriffssteuerung ist in zwei Versionen verfügbar:
- SQL tabellenbasierte Zugriffssteuerung, die Benutzer auf SQL Befehle beschränkt.
- Python und SQL Tabellenzugriffssteuerung, mit der Benutzer SQL-, Python- und PySpark-Befehle ausführen können.
Die Tabellenzugriffssteuerung wird mit der Machine Learning-Runtime nicht unterstützt.
Wichtig
Auch wenn die Tabellenzugriffssteuerung für einen Cluster aktiviert ist, haben Arbeitsbereich-Administratoren für Azure Databricks Zugriff auf Daten auf Dateiebene.
Zugriffssteuerung für reine SQL-Tabellen
Diese Version der Tabellenzugriffssteuerung schränkt Benutzer auf SQL-Befehle ein.
Um die reine SQL-Tabellenzugriffssteuerung auf einem Cluster zu aktivieren und diesen Cluster auf die Verwendung von SQL-Befehlen zu beschränken, setzen Sie das folgende Flag in der Spark-Conf des Clusters:
spark.databricks.acl.sqlOnly true
Hinweis
Der Zugriff auf SQL ausschließliche Tabellenzugriffssteuerung wird von der Einstellung Tabelle Access Control aktivieren auf der Administratoreinstellungsseite nicht beeinflusst. Diese Einstellung steuert nur die arbeitsbereichsweite Aktivierung von Python und SQL Tabellenzugriffssteuerung.
Zugriffssteuerung (GA) für Python und SQL-Tabellen
Mit dieser Version der Tabellenzugriffssteuerung können Benutzer Python-Befehle ausführen, die die DataFrame-API sowie SQL verwenden. Wenn es in einem Cluster aktiviert ist, verwenden Benutzer in diesem Cluster:
- Kann nur mithilfe der Spark-SQL-API oder der DataFrame-API auf Spark zugreifen. In beiden Fällen wird der Zugriff auf Tabellen und Sichten von Administratoren gemäß den Azure Databricks-Berechtigungen eingeschränkt, die Sie für Hive-Metastore-Objekte gewähren können.
- Muss seine Befehle auf Clusterknoten als Benutzer mit geringen Rechten ausführen, der nicht auf sensible Teile des Dateisystems zugreifen oder Netzwerkverbindungen mit anderen Ports als 80 und 443 herstellen darf.
- Nur integrierte Spark-Funktionen können Netzwerkverbindungen an anderen Ports als 80 und 443 erstellen.
- Nur Arbeitsbereichadministratorbenutzer oder Benutzer mit ANY FILE-Berechtigung können Daten aus externen Datenbanken über den PySpark JDBC-Connector lesen.
- Wenn Python-Prozesse auf zusätzliche ausgehende Ports zugreifen können sollen, können Sie die Spark-Konfiguration
spark.databricks.pyspark.iptable.outbound.whitelisted.ports
auf die Ports festlegen, für die Sie den Zugriff erlauben möchten. Das unterstützte Format des Konfigurationswerts ist[port[:port][,port[:port]]...]
, z. B.21,22,9000:9999
. Der Port muss innerhalb des gültigen Bereichs liegen,0-65535
d. h. .
Versuche, diese Einschränkungen zu umgehen, schlagen mit einer Ausnahme fehl. Diese Einschränkungen gelten, sodass Benutzer niemals über den Cluster auf nicht privilegierte Daten zugreifen können.
Aktivieren der Tabellenzugriffssteuerung für Ihren Arbeitsbereich
Bevor Benutzer die Zugriffssteuerung für Python- und SQL-Tabellen konfigurieren können, muss ein Azure Databricks-Arbeitsbereich die Zugriffssteuerung für den Azure Databricks-Arbeitsbereich aktivieren und Benutzern den Zugriff auf Cluster verweigern, die nicht für die Tabellenzugriffssteuerung aktiviert sind.
- Navigieren Sie zur Seite Einstellungen.
- Klicken Sie auf die Registerkarte Sicherheit .
- Aktivieren Sie die Option Tabellenzugriffssteuerung.
Erzwingen der Tabellenzugriffssteuerung
Um sicherzustellen, dass Ihre Benutzer nur auf die Daten zugreifen, die sie benötigen, müssen Sie ihre Benutzer auf Cluster mit aktivierter Tabellenzugriffssteuerung beschränken. Insbesondere sollten Sie Folgendes sicherstellen:
- Benutzer verfügen nicht über die Berechtigung zum Erstellen von Clustern. Wenn sie einen Cluster ohne Tabellenzugriffssteuerung erstellen, können sie auf alle Daten aus diesem Cluster zugreifen.
- Benutzer verfügen nicht über die KANN ANFÜGEN-Berechtigung für Cluster, die nicht für die Tabellenzugriffssteuerung aktiviert sind.
Weitere Informationen finden Sie unter Berechnen von Berechtigungen .
Erstellen eines Clusters mit aktivierter Zugriffssteuerung für Tabellen
Die Tabellenzugriffssteuerung ist in Clustern mit dem Modus „Gemeinsamer Zugriff“ standardmäßig aktiviert.
Informationen zur Erstellung eines Clusters über die REST-API finden Sie unter Erstellen eines neuen Clusters.
Festlegen von Berechtigungen für ein Datenobjekt
Weitere Informationen finden Sie unter Hive-Metastore-Berechtigungen und sicherungsfähige Objekte (Legacy)