日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

本文為您介紹如何開啟HBase ACL(授權(quán))。

背景信息

HBase在不開啟授權(quán)的情況下,任何賬號對HBase集群可以進行任何操作,例如disable table、drop table、major compact等。

對于沒有Kerberos認證的集群,即使開啟了HBase授權(quán),用戶也可以偽造身份訪問集群服務(wù)。所以建議創(chuàng)建高安全模式(即支持Kerberos)的集群,詳情請參見Kerberos概述

基本概念

授權(quán)(ACL)就是將對某個范圍的資源的操作權(quán)限授予某個實體。

在HBase 中,上述對應(yīng)的三個概念分別為:

  • 某個范圍(Scope)的資源

    名稱

    描述

    Superuser

    超級賬號可以進行任何操作,運行HBase服務(wù)的賬號默認是Superuser,也可以在hbase-site.xml中配置hbase.superuser的值來添加超級賬號。

    Global

    Global Scope擁有集群所有table的Admin權(quán)限。

    Namespace

    在Namespace Scope進行相關(guān)權(quán)限控制。

    Table

    在Table Scope進行相關(guān)權(quán)限控制。

    ColumnFamily

    在ColumnFamily Scope進行相關(guān)權(quán)限控制。

    Cell

    在Cell Scope進行相關(guān)權(quán)限控制。

  • 操作權(quán)限

    名稱

    描述

    Read(R)

    讀取某個Scope資源的數(shù)據(jù)。

    Write (W)

    寫數(shù)據(jù)到某個Scope的資源。

    Execute (X)

    在某個Scope執(zhí)行協(xié)處理器。

    Create (C)

    在某個Scope創(chuàng)建或刪除表等操作。

    Admin(A)

    在某個Scope進行集群相關(guān)操作,如balance、assign等。

  • 某個實體

    名稱

    描述

    User

    對某個用戶授權(quán)。

    Group

    對某個用戶組授權(quán)。

操作步驟

  1. 進入hbase-site.xml頁簽。

    1. 登錄EMR on ECS

    2. 在頂部菜單欄處,根據(jù)實際情況選擇地域和資源組

    3. 在EMR on ECS頁面,單擊目標(biāo)集群操作列的集群服務(wù)

    4. 集群服務(wù)頁面,單擊HBase服務(wù)區(qū)域的配置

    5. 單擊hbase-site.xml頁簽。

  2. hbase-site.xml頁簽,新增或修改以下配置項。

    Key

    Value

    hbase.security.authorization

    true

    hbase.coprocessor.master.classes

    org.apache.hadoop.hbase.security.access.AccessController

    hbase.coprocessor.region.classes

    org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController

    hbase.coprocessor.regionserver.classes

    org.apache.hadoop.hbase.security.access.AccessController,org.apache.hadoop.hbase.security.token.TokenProvider

  3. 重啟HBase服務(wù)。

    1. 單擊右上角的更多操作 > 重啟

    2. 在彈出的對話框中,輸入執(zhí)行原因,單擊確定

    3. 確認對話框中,單擊確定

  4. 授權(quán)(ACL)。

    • grant授權(quán)

      grant <user> <permissions> [<@namespace> [<table> [<column family> [<column qualifier>]]]
      • user和group的授權(quán)方式一樣,但group需要加一個前綴@

        grant 'test','R','tbl1'   #給用戶test授予表tbl1的讀權(quán)限。
        grant '@testgrp','R','tbl1' #給用戶組testgrp授予表tbl1的讀權(quán)限。
      • namespace需要加一個前綴@

        grant 'test','C','@ns_1'  #給用戶test授予namespace ns_1的CREATE權(quán)限。
    • revoke回收

      revoke 'trafodion'  #回收trafodion用戶的所有權(quán)限。
    • user_permission查看權(quán)限

      user_permission 'TABLE_A'  #查看TABLE_A表的所有權(quán)限。