共用方式為


什麼是 ANY FILE 安全性實體?

安全性實體的許可權 ANY FILE 會授與授權主體直接存取雲端物件記憶體中的檔系統和數據,而不論在架構或數據表等資料庫物件上設定的任何 Hive 數據表 ACL。

的許可權 ANY FILE

您可以使用舊版 Hive 數據表存取控制清單(ACL),將安全性實體上ANY FILE的安全性實體授MODIFY與或SELECT許可權給任何服務主體、使用者或群組。 根據預設,所有工作區管理員都有 MODIFY 許可權 ANY FILE 。 任何具有 MODIFY 許可權的使用者都可以授與或撤銷的許可權 ANY FILE

使用未包含在 Lakehouse 同盟中的自訂數據源或 JDBC 驅動程式時,您必須擁有 ANY FILE 安全性實體的許可權。 請參閱 什麼是 Lakehouse 同盟?

安全性實體的許可權 ANY FILE 無法覆寫 Unity 目錄許可權,也不會授與或擴充 Unity 目錄所控管之數據對象的許可權。 某些驅動程式和自定義安裝的連結庫可能會藉由將所有用戶的數據儲存在一個通用暫存目錄中,來危害用戶隔離。

只有在您使用具有共用存取模式的 ANY FILE SQL 倉儲或叢集時,才會套用安全性實體的許可權。

ANY FILE 會遵守雲端物件記憶體中數據的舊版存取模式,包括計算層級所定義的掛接和記憶體認證。 請參閱 設定 Azure Databricks 雲端物件記憶體的存取。

如何 ANY FILE 與 Unity 目錄互動?

使用已啟用 Unity 目錄的共用叢集或 SQL 倉儲時,存取不受 Unity 目錄控管的記憶體路徑或數據源時,ANY FILE會評估安全性實體的許可權。 安全性實體的許可權 ANY FILE 會在所有 Unity 目錄相關許可權之後進行評估,並作為未使用 Unity 目錄管理的記憶體路徑和連接器連結庫的後援。

Databricks 建議使用 Lakehouse 同盟來設定支援外部數據源的只讀存取權。 Lakehouse 同盟永遠不會要求安全性實體的許可權 ANY FILE 。 請參閱 什麼是 Lakehouse 同盟?

Unity 目錄磁碟區和數據表提供表格式和非表格式數據的完整控管,而且不需要安全性實體的許可權 ANY FILE

使用 URI 管理的任何 Unity 目錄資料存取,都無法使用安全性實體的許可權 ANY FILE 。 請參閱 使用 Unity 目錄連線到雲端物件記憶體。

您必須具備 SELECT 安全性實體的許可權 ANY FILE ,才能在已啟用 Unity 目錄的共用叢集上使用下列模式進行讀取:

  • 使用 URI 的雲端物件記憶體。
  • 儲存在 DBFS 根目錄中或使用 DBFS 掛接的數據。
  • 使用自訂連結庫或驅動程序的數據源。
  • 未設定 Lakehouse 同盟的 JDBC 驅動程式。
  • 不受 Unity 目錄控管的外部數據源。
  • 串流數據源,但 Unity 目錄所控管的數據表和磁碟區,以及使用登錄至 Hive 中繼存放區之數據表名稱的數據流除外。

安全性實體許可權的 ANY FILE 顧慮

安全性實體的許可權基本上會略過資料庫對象上設定的 ANY FILE 舊版Hive數據表 ACL。 當您授與安全性實體的許可權 ANY FILE 時,請使用自由裁量權,如果您尚未將所有數據表完全移轉至 Unity 目錄,但仍依賴舊版 Hive 數據表 ACL 來管理數據的存取權。

在安全性實體上 ANY FILE 授與的許可權絕不會略過 Unity 目錄數據控管。 不過,具有安全性實體許可權 ANY FILE 的使用者已擴充設定及存取不受 Unity 目錄控管的數據源的能力。

的限制 ANY FILE

ANY FILE 是未在資訊架構中回報的舊版安全性實體。