使集群表訪問控製

請注意

本文包含引用白名單,磚不使用的一個術語。從軟件中刪除這個詞時,我們就將它從這篇文章。

本文描述了如何啟用集群表訪問控製。

關於如何設置權限的信息數據對象一旦啟用訪問控製表在一個集群中,明白了數據對象的權限

使集群表訪問控製

表訪問控製有兩個版本:

  • SQL-only表訪問控製限製用戶的SQL命令。你是局限於Apache火花的SQL API,因此不能使用Python, Scala, R,抽樣api,或客戶直接從雲存儲讀取數據,比如DBUtils

  • Python和SQL表訪問控製,它允許用戶運行SQL、Python和PySpark命令。你是局限於火花的SQL API和DataFrame API,因此不能使用Scala, R,抽樣api,或客戶直接從雲存儲讀取數據,比如DBUtils

重要的

即使表啟用訪問控製集群,磚管理員訪問文件級數據。

SQL-only表訪問控製

這個版本的表訪問控製限製用戶的SQL命令。

啟用SQL-only表訪問控製集群和集群隻使用SQL命令的限製,設置以下標誌的集群火花相依:

spark.databricks.acl。sqlOnly真實

請注意

訪問SQL-only表訪問控製不受影響的啟用訪問控製表在管理控製台中設置。設置控件的workspace-wide支持Python和SQL表訪問控製。

Python和SQL表訪問控製

這個版本的表訪問控製允許用戶運行Python命令使用DataFrame API以及SQL。當上啟用一個集群,集群的用戶:

  • 隻能使用火花SQL API訪問火花或DataFrame API。在這兩種情況下,訪問表和視圖由管理員根據磚的限製數據治理模型

  • 必須作為low-privilege用戶集群節點上運行的命令禁止訪問文件係統的敏感部分或創建網絡連接端口80和443。

    • 隻有內置的火花函數可以創建網絡連接端口80和443。

    • 隻有管理員用戶或用戶任何文件特權可以從外部數據庫通過讀取數據PySpark JDBC連接器

    • 如果你想讓Python程序能夠訪問額外的出站端口,可以設置火花配置spark.databricks.pyspark.iptable.outbound.whitelisted.ports你想要的港口允許訪問。支持格式的配置值(端口(端口):[、港口港[:]]…],例如:21日,22日,9000:9999。端口必須在有效的範圍內,也就是說,0 - 65535

試圖繞過這些限製將失敗與一個例外。這些限製是通過集群用戶不能訪問未經授權的數據。

需求

之前用戶可以配置Python和SQL表訪問控製、數據磚管理員必須:

  • 啟用訪問控製表的磚工作區。

  • 拒絕用戶訪問集群不支持訪問控製表。在實踐中,這意味著否認大多數用戶創建集群和拒絕用戶的權限可以連接到允許集群不支持訪問控製表。

對這些需求的更多信息,請參閱啟用表訪問控製您的工作區

為表創建一個集群啟用訪問控製

當您創建一個集群時,單擊使表訪問控製,隻允許Python和SQL命令選擇。此選項隻可用高並發集群。

啟用訪問控製表

使用REST API來創建集群,明白了創建集群為表啟用訪問控製的例子

設置數據對象上的特權

看到數據對象的權限