統一目錄權限和可獲得的對象
本文描述了統一目錄權限模型。了解這個模型不同於蜂巢metastore,明白了統一目錄和遺留蜂巢metastore一起工作。
請注意
本文指的是統一目錄權限和繼承模型權限模型1.0版。如果你創建統一目錄metastore公共預覽期間(2022年8月25日之前,),你可以升級到特權模式版本1.0升級到特權的繼承
管理權限
權限可以授予通過metastore管理員,一個對象的所有者,或者目錄的所有者或模式包含對象。您可以管理權限metastore對象通過使用SQL命令,統一目錄CLI,或者在數據瀏覽器。學習如何使用數據瀏覽器來管理權限看到的,管理統一編目數據瀏覽權限。
在SQL管理特權,你使用格蘭特和撤銷語句在筆記本或磚SQL查詢編輯器,使用的語法:
格蘭特privilege_type在securable_object來主要
地點:
privilege_type
是一個統一目錄權限類型securable_object
是一個統一目錄中可獲得的對象主要
是一個用戶,服務主體(由其applicationId價值),或組。看到主要。
例如,下麵的命令授予一組命名金融進入模式創建表命名默認的與父目錄命名主要:
格蘭特創建表在模式主要。默認的來金融;
關於授予特權使用SQL命令的更多信息,見統一目錄中的特權和可獲得的對象。
你也可以通過使用管理權限磚起程拓殖提供者和databricks_grants。
在統一目錄中可獲得的對象
可獲得的對象是一個對象中定義的統一目錄metastore權限可以授予一個主體。可獲得的對象統一目錄層次。
可獲得的對象是:
METASTORE元數據:頂層容器。每個統一目錄metastore公開了一個三級名稱空間(
目錄
。模式
。表
),組織您的數據。目錄:對象層次結構的第一層,用來組織你的數據資產。
模式:也稱為數據庫,模式是第二層的對象層次結構,包含表和視圖。
表:在對象層次結構的最低水平,表外部雲存儲(存儲在外部的位置在你的選擇)管理表(存儲在雲存儲中存儲容器創建明確磚)。
視圖:一個隻讀對象創建從一個或多個表,包含在一個模式。
外部位置:一個對象,該對象包含一個引用存儲憑證和雲存儲路徑,包含在一個統一目錄metastore。
存儲憑證:一個對象,該對象封裝了一個長期的雲憑據提供訪問包含在一個統一的雲存儲目錄metastore。
函數:一個用戶定義的函數,它是包含在一個模式。
分享:邏輯分組表你打算使用三角洲分享分享。包含在一個聯合目錄metastore。
收件人:對象識別一個組織或一組用戶可以使用三角洲有數據共享與他們分享。這些對象包含在一個聯合目錄metastore。
提供者:一個對象代表了一個組織,使數據共享使用三角洲共享。這些對象包含在一個聯合目錄metastore。
繼承模型
可獲得的對象統一目錄層次和特權是繼承了下行。最高水平的對象權限繼承目錄。這意味著授予特權在目錄或模式自動授予的特權目錄內的所有當前和未來的對象或模式。授予的權限統一目錄metastore不繼承。
例如,以下命令授予選擇
在所有表和視圖特權在目錄的任何模式主要到組金融:
格蘭特選擇在目錄主要來金融;
類似地,您可以執行撥款模式為一個更小範圍的訪問:
格蘭特選擇在模式主要。默認的來金融;
繼承模型提供了一種簡單的方法來設置默認為您的數據訪問規則。例如以下命令啟用機器學習團隊創建表內模式和閱讀彼此的表:
創建目錄毫升;創建模式毫升。team_sandbox;格蘭特USE_CATALOG在目錄毫升來ml_team;格蘭特USE_SCHEMA在模式毫升。team_sandbox來ml_team;格蘭特創建表在模式毫升。team_sandbox來ml_team;格蘭特選擇在模式毫升。team_sandbox來ml_team;
在統一目錄權限類型
下麵的表總結了特權類型適用於每個目錄中可獲得的對象:
可獲得的 |
特權 |
---|---|
Metastore |
|
目錄 |
以下特權類型適用於可獲得的對象在一個目錄中。你可以在目錄級別授予這些權限將它們應用到相關的目錄內的當前和未來的對象。
|
模式 |
以下特權類型適用於在一個模式中可獲得的對象。你可以在模式級別授予這些權限將它們應用到相關的當前和未來的對象內的模式。
|
表 |
|
視圖 |
|
外部位置 |
|
存儲憑證 |
|
函數 |
|
分享 |
|
收件人 |
沒有一個 |
提供者 |
沒有一個 |
當你metastore管理特權,不包括在SQL命令metastore名稱。統一目錄上的特權授予或撤銷metastore附加到您的工作區。例如,下麵的命令授予一組命名工程的能力在metastore附著在工作區中創建一個目錄:
格蘭特創建目錄在METASTORE來工程
所有權限
適用對象類型:目錄
,外部位置
,存儲憑證
,模式
,函數
,表
,視圖
授予或撤銷所有權限適用於使用可獲得的和它的子對象沒有顯式地指定它們。當時這個擴大到所有可用的特權權限檢查。
請注意
這種特權時強大的應用在更高水平的層次結構。例如,目錄上的所有特權授予主要分析師
會給分析師團隊所有特權在每個對象(模式、表、視圖、函數)的目錄。
創建外部表
適用對象類型:外部位置
,存儲憑證
允許用戶創建外部表直接在雲租戶使用外部位置或存儲憑證。磚建議授予這種特權在外部位置而不是存儲憑證(因為這是局限於一個路徑,它允許更多的控製,用戶可以創建外部表在你的雲租戶)。
創建函數
適用對象類型:模式
允許用戶創建一個函數的模式。由於權限繼承,創建函數
也可以被授予一個目錄,它允許用戶創建一個函數在任何現有或未來模式目錄中。
用戶也必須有使用目錄
在它的父目錄使用模式
在母公司模式。
創建供應商
適用對象類型:統一目錄metastore
允許用戶創建一個三角洲metastore提供者共享對象。提供者標識一個組織或一組用戶共享數據使用三角洲共享。提供者創建執行由用戶在接收方的磚帳戶。看到共享數據安全地使用三角洲共享。
創建收件人
適用對象類型:統一目錄metastore
允許用戶創建一個三角洲metastore中的接收方對象共享。一個接收方識別一個組織或一組用戶可以使用三角洲有數據共享與他們分享。收件人創建執行由用戶在提供者的磚帳戶。看到共享數據安全地使用三角洲共享。
創建表
適用對象類型:模式
允許用戶創建一個表的模式。由於權限繼承,創建表
也可以被授予一個目錄,它允許用戶在任何現有的或未來的模式中創建一個表的目錄。
用戶也必須有使用目錄
在它的父目錄和特權使用模式
特權在母公司模式。
創建視圖
適用對象類型:模式
允許用戶創建一個視圖的模式。由於權限繼承,創建視圖
也可以被授予一個目錄,它允許用戶在任何現有的或未來的模式中創建一個視圖的目錄。
用戶也必須有使用目錄
在它的父目錄使用模式
在母公司模式。
執行
適用對象類型:函數
允許用戶調用一個用戶定義的函數,如果用戶也有使用目錄
在它的父目錄使用模式
在母公司模式。
由於繼承特權,您可以授予一個用戶執行
權限目錄或模式,自動授予用戶執行
特權的所有當前和未來的功能目錄或模式。
修改
適用對象類型:表
允許用戶添加、更新和刪除數據或從表中如果用戶也有選擇
在桌子上一樣使用目錄
在它的父目錄使用模式
在母公司模式。
由於繼承特權,您可以授予一個用戶修改
權限目錄或模式,自動授予用戶修改
特權的所有當前和未來的表目錄或模式。
選擇
適用對象類型:表
,視圖
,分享
如果應用到一個表或視圖,允許用戶選擇表或視圖,如果用戶也有使用目錄
在它的父目錄使用模式
在母公司模式。如果應用到一個共享,允許收件人選擇的份額。
由於繼承特權,您可以授予一個用戶選擇
特權在目錄或模式,自動授予用戶選擇
特權在所有當前和未來的表和視圖的目錄或模式。
使用目錄
適用對象類型:目錄
這種特權不授權訪問目錄本身,但需要用戶與目錄中的任何對象。例如,選擇一個表的數據,用戶需要選擇
在那張桌子和特權使用目錄
它的父目錄以及上的特權使用模式
母公司模式上的特權。
這是用於允許目錄所有者能夠限製多少個人模式和表所有者可以共享數據。例如,一個表所有者授予選擇
到另一個用戶不允許用戶讀取訪問表,除非他們也理所當然使用目錄
它的父目錄以及上的特權使用模式
母公司模式上的特權。