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:

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-Konfigurationspark.databricks.pyspark.iptable.outbound.whitelisted.ports auf die Ports festlegen, die Sie zugriffen 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-65535d. 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.

  1. Navigieren Sie zur Seite Einstellungen.
  2. Klicken Sie auf die Registerkarte Sicherheit .
  3. 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)