系统策略针对所有云数据库HBase资源进行RAM授权,您也可以根据业务需求自定义授权策略,仅向RAM用户授予指定实例的具体操作权限。本文介绍如何自定义RAM授权策略。

RAM授权HBase资源的方式

创建自定义RAM授权策略的方法具体请参见创建自定义权限策略

目前RAM对HBase进行授权的资源类型仅支持dbinstance(实例)一种。在通过RAM进行授权时,可以在策略的Resource字段中进行描述,资源的描述方式如下:
资源类型 授权策略中的资源描述方式
dbinstance acs:hbase:$regionid:$accountid:dbinstance/$dbinstanceid
参数说明如下:
参数名称 说明
regionid 地域ID。
accountid 云账号ID。
dbinstanceid 实例ID。

授权示例

示例:授权RAM用户查看所有实例,但是仅能创建实例和扩容某个实例的存储,到期时间为2020年8月17日。

{
    "Statement": [
        {
            "Action": [
                "hbase:CreateCluster",
                "hbase:ResizeDiskSize"
            ],
            "Effect": "Allow",
            "Resource": [
                "acs:hbase:<regionid>:<dbinstance>:<accountid>/<dbinstanceid>"
            ],
            "Condition": {
                "DateLessThan": {
                    "acs:CurrentTime": "2020-08-17T23:59:59+08:00"
                }
            }
        },
        {
            "Action": [
                "hbase:Describe*"
            ],
            "Effect": "Allow",
            "Resource": [
                "acs:hbase:<regionid>:<dbinstance>:<accountid>/<dbinstanceid>"
            ],
            "Condition": {
                "DateLessThan": {
                    "acs:CurrentTime": "2020-08-17T23:59:59+08:00"
                }
            }
        }
    ],
    "Version": "1"
}
说明 更多详细的权限设置请参见权限策略语法和结构

HBase API的鉴权规则

当RAM用户通过API进行资源访问时,HBase后台向RAM进行权限检查,以确保调用者拥有响应权限。每个API会根据涉及到的资源以及API的语义来确定需要检查哪些资源的权限。例如:API为CreateCluster,鉴权规则为acs:hbase:$regionid:$accountid:dbinstance/$dbinstanceid