我們有:
磚工作區溢價Azure
ADLS Gen2存儲原始數據,處理數據(表)和文件CSV、模型等。
我們要做的:
我們有用戶想研究磚來創建和使用Python的算法。我們有中央表是原始數據被攝入(工作)和用戶使用飼料的算法。
這些中央表維護的管理員和用戶隻能讀。在發展的過程中用戶還需要使用其他文件(例如CSV,模型文件等),因此需要一個存儲在ADLS訪問文件。
現在,用戶很喜歡SQL之間切換的能力,Python等等。提取所需的數據從中央表與SQL DF和轉換為熊貓做他們的東西,可能會把它帶回一個表。
主要的問題是,我不能把表訪問控製和憑據透傳(限製)。用戶應該一方麵能夠隻看到和查詢表訪問(不更新、刪除、刪除等),另一方麵,他們應該能夠自由地處理文件在另一個區域(ADLS容器)。
我已經花了不少時間在選項來限製訪問我的頭在工作區中以各自獨立的不同組的用戶和訪問。但是我還沒有找到理想的解決方案,。
這是我試過的。
訪問控製表
限製訪問某些表/視圖/等。但工作隻在HC集群和進一步訪問文件隻能掛載使用服務主體。所有其他用戶也將對數據的訪問。- >不是一種選擇
憑據透傳
工作和限製單個用戶的訪問在一個山以及直接(abfss: / /…)。我可以創建一個DB管理表,使用掛載位置。- >大但
工作不能模仿,因此山,因此表的訪問。我試圖添加一個服務主體用戶(scim-sp)和改變工作業主服務主體。但這並不奏效。我看到的唯一的選擇是直接創建表不是山,但位置abfss: / /……但理想我願與管理表使用一個山- >來源
問題是,用戶看到的數據庫和表,他們可能沒有訪問(ADLS)。更糟糕的是他們可以刪除表和DBs(不是底層數據)。,更糟糕的是更糟糕的是,他們可以用相同的名稱創建一個表,但在另一個位置,因此搞砸其他流程/工作運行數據的表。
JDBC / ODBC連接
供參考:表與憑證管理和位於山透傳不能通過JDBC訪問。他們必須位於abfss: / /和服務主體關鍵配置(見最佳實踐)必須配置集群中的火花。
這是我的情況,我錯過了一些選項。任何想法都是受歡迎的。
鏈接:
最佳實踐:https://docs.microsoft.com/en-us/azure/databricks/security/data-governance
表的訪問控製:https://docs.microsoft.com/en-us/azure/databricks/security/access-control/table-acls/
憑據透傳:https://docs.microsoft.com/en-us/azure/databricks/security/credential-passthrough/adls-passthrough
我們有同樣的問題,沒能找到任何組合,滿足我們的需要。
我們不得不分開在兩個不同的用例工作空間,提到:
“分析”工作仍有問題,用戶”可以“減少表自隻能使用憑證透傳,沒有安全蜂巢。然而,至少它不幹擾工作流程。
在兩個不同的工作空間,我們現在需要一份工作(由Azure Devops啟動管道)來創建這些表“蜂巢”在分析工作區(很明顯,不理想)。我們不想打擾“外部”蜂巢。
我們還被告知,統一編目可以“潛在”解決這個問題(似乎並不100%確定)。然而,並沒有發布日期據我所知。