[發明專利]一種用于Spark SQL的用戶權限控制方法和系統在審
| 申請號: | 201810941124.8 | 申請日: | 2018-08-17 |
| 公開(公告)號: | CN109063439A | 公開(公告)日: | 2018-12-21 |
| 發明(設計)人: | 黃寧;包衍 | 申請(專利權)人: | 杭州數夢工場科技有限公司 |
| 主分類號: | G06F21/31 | 分類號: | G06F21/31;G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 羅滿 |
| 地址: | 310024 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 權限 權限管理中心 用戶權限控制 目標數據庫 權限信息 語句 控制權限 權限判斷 預先建立 持久化 多用戶 細粒度 比對 維度 賦予 數據庫 摘取 協同 返回 安全 保證 開發 | ||
本發明公開了一種用于Spark SQL的用戶權限控制方法和系統,該方法包括:預先建立用于對各目標數據庫的相應分權控制權限信息進行匯總和持久化的權限管理中心;各Spark SQL引擎獲取權限管理中心中所有數據庫的全量權限信息;獲取用戶輸入的SQL語句,并摘取該SQL語句的權限元素;將權限元素和全量權限信息進行比對,判斷當前用戶是否有執行當前SQL語句的權限;返回權限判斷結果。通過對各目標數據庫進行不同維度的分權控制,各Spark SQL引擎在獲取用戶輸入的語句時,判斷其是否具有執行該語句的權限,當多用戶協同開發時,每個用戶被賦予的權限不同,各自只能在自身所被賦予的權限內操作,實現了更細粒度的按需的保證用戶各自數據的安全。
技術領域
本發明涉及大數據領域,特別是涉及一種用于Spark SQL的用戶權限控制方法和系統。
背景技術
Spark技術是大數據技術中公認的最有發展、使用最多的一門技術,是當前各行各業相推動和依賴的技術。
Spark作為一個通用引擎,能夠用來完成各種各樣的運算,其中包括SQL查詢、文本處理和機器學習等。在很多行業中,大量數據分析人員每天運行數以萬計的Spark SQL任務作為數據分析和業務決策。而Spark SQL本身是支持認證的,即需要使用Spark SQL的使用者,需要通過用戶名和密碼的方式進行登錄才能正常使用,但是當多用戶協同開發時,每個用戶的權限相同,不能保證各自的數據安全。
因此,如何在用戶使用Spark SQL時,保證用戶自身的數據安全是本領域技術人員目前需要解決的技術問題。
發明內容
本發明的目的是提供一種用于Spark SQL的用戶權限控制方法和系統,可以在用戶使用Spark SQL時,保證用戶自身的數據安全。
為解決上述技術問題,本發明提供了如下技術方案:
一種用于Spark SQL的用戶權限控制方法,包括:
預先建立用于對各目標數據庫的相應分權控制權限信息進行匯總和持久化的權限管理中心;
各Spark SQL引擎獲取所述權限管理中心中所有數據庫的全量權限信息;
獲取用戶輸入的SQL語句,并摘取該SQL語句的權限元素;
將所述權限元素和所述全量權限信息進行比對,判斷當前用戶是否有執行當前SQL語句的權限;
返回權限判斷結果。
優選地,所述獲取用戶輸入的SQL語句,并摘取該SQL語句的權限元素,包括:
獲取用戶輸入的SQL語句;
根據預設的SQL語法定義進行語法解析,生成語法樹;
摘取所述語法樹中需要進行權限控制的元素作為該SQL語句的權限元素。
優選地,所述預先建立用于對各目標數據庫的相應分權控制權限信息進行匯總和持久化的權限管理中心,包括:
預先對各目標數據庫按照庫、表、列進行維度分級,其中,庫級為最大的授權單元,列級為最小的授權單位;
建立用于響應預設授權用戶操作進行權限按級配置的權限管理頁面,所述權限管理頁面包括和預設的目標數據庫的各級授權單元一一對應映射的權限配置單元;
建立所述權限管理中心,通過所述權限管理中心對所述權限管理頁面配置的所有目標數據庫的各自對應的分級的權限信息進行匯總和持久化。
優選地,還包括:
獲取目標群體的用戶的屬性信息;
根據所述屬性信息以及預設的屬性信息特征對所述目標群體的用戶進行角色分類;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州數夢工場科技有限公司,未經杭州數夢工場科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810941124.8/2.html,轉載請聲明來源鉆瓜專利網。





