本文介紹如何集成HBase到Ranger,以及如何配置權限。
前提條件
已創建選擇了HBase和Ranger服務的集群,創建集群詳情請參見創建集群。
操作步驟
- 進入集群服務頁面。
- 登錄EMR on ECS控制臺。
- 在頂部菜單欄處,根據實際情況選擇地域和資源組。
- 單擊目標集群操作列的集群服務。
- Ranger啟用HBase。
- 在集群服務頁面,單擊Ranger-plugin服務區域的狀態。
- 在服務概述區域,打開enableHBase開關。
- 在彈出的對話框中,單擊確定。
- 在Ranger UI頁面查看HBase Service。
- 重啟HBase。
- 在集群服務頁面,選擇 。
- 選擇 。
- 在彈出的對話框中,輸入執行原因,單擊確定。
- 在確認對話框中,單擊確定。
設置管理員賬號
- 進入Ranger UI頁面,詳情請參見訪問Ranger UI。
- 在Ranger UI頁面,單擊配置好的emr-hbase。
- 設置管理員賬號的權限(admin權限),用于執行管理命令。例如balance、compaction、flush或split等。因為當前服務已經存在權限策略,所以您只需單擊右側的圖標,在User中添加需要設置的賬號即可。另外也可以修改其中的權限(例如只保留admin權限)。HBase賬號必須默認設置為管理員賬號。如果使用Phoenix,則需在Ranger的HBase中新增如下策略。
參數 示例 HBase Table SYSTEM.* HBase Column-family 星號(*) HBase Column 星號(*) Select Group public Permissions Read、Write、Create和Admin
權限配置示例
例如,給test用戶授予表foo_ns:test的Create、Write和Read權限。
- 進入Ranger UI頁面,詳情請參見訪問Ranger UI。
- 在Ranger UI頁面,單擊配置好的emr-hbase。
- 單擊右上角的Add New Policy。
- 根據您的實際需求配置相關參數。
參數 描述 Policy Name 策略名稱,可以自定義。 HBase Table 表對象,格式為 ${namespace}:${tablename}
。可輸入多個,填寫一個需按一次Enter鍵。本文示例配置為foo_ns:test。如果${namespace}是default,則不需要加default。支持通配符星號(*)。例如,foo_ns:*表示foo_ns下的所有表。說明 目前不支持default:*
。HBase Column-family 列簇。例如配置為 *
。HBase Column 列名。例如配置為 *
。Select Group 指定添加此策略的用戶組。 Select User 指定添加此策略的用戶。例如,test。 Permissions 選擇授予的權限。例如,Read、Write、Create和Admin。 - 單擊Add。添加Policy后,實現了對test用戶的授權。test用戶即可以對foo_ns:test表進行訪問。說明 添加、刪除或修改Policy后,需要等待約一分鐘至授權生效。