新建角色

说明: D:\02-素材\png图标素材\零售图标套装系列\Iconbase图标系列\TupperWare\baloom.png

·          普通用户在新建角色时,需要走流程审批,待审批人审批通过后才能触发新建角色的操作。系统超级管理员或安全管理员新建角色时,无需审批,会直接触发新建角色的操作。

·          在同一个集群中,角色名称具有唯一性,在同一集群中创建多个角色时名称不能重复。

·          仅开启“安全管理/权限管理”且运行正常的集群可执行新建角色的操作。

·          仅开启“Kerberos认证”与“权限管理”的集群可以配置KafkaSolr组件的权限(集群中已安装KafkaSolr组件)。

·          为集群新建角色时,选择组件栏只显示当前版本中支持权限控制的组件,且不同组件控制的资源不同,支持的权限控制粒度也不同,详情请以实际页面为准。

·          在新建角色添加组件资源时,不检验资源格式的合法性。

·          新建Redis权限的角色时,Redis权限不支持与其他组件的权限同时配置在一个角色中,且一个角色中仅支持创建一条Redis权限。

·          新建拥有Hive权限的角色时,若要使用数据脱敏和行级过滤则必须首先配置数据库表的select权限。

 

集群在使用过程中,根据实际需要,可为某集群执行新建角色的操作,且可为其分配对应的组件权限。

  1. 在集群权限的左侧导航树中选择[角色管理],进入角色管理页面。

  1. 在角色管理页面,单击<新建角色>按钮,进入新建角色页面。

  1. 根据提示配置对应参数项的值,如下:

  1. 配置完成后,单击<确定>按钮即可完成新建角色。

表-1 组件权限类型对应的常用组件操作

组件

权限类型

对应的组件常用操作

Elasticsearch

read

查询索引中数据

index

在索引中插入数据

create

在索引中插入数据,等同于index权限

delete

删除索引中数据

creat_index

创建索引

【说明】创建Elasticsearch索引的用户不具有索引的所有权限,操作对应索引时也需要被授予相应的权限

delete_index

删除索引

view_index_metadata

查看索引元数据,当index为“*”时生效

monitor

监控索引信息,如(_stats_segments等)

【说明】manage权限包含monitor权限的命令,即拥有manage权限的时候monitor权限也会同时生效

manage

管理索引信息,(如_refresh_cache/clear等)

all

all权限默认包含其它所有权限,当index为“*”时,默认拥有集群所有权限

HDFS

read

文件(夹)的访问等相关操作,如:hdfs dfs -cat 操作

write

数据写入等相关操作,如:hdfs dfs -touch 操作

execute

文件(夹)执行等相关操作,可以和readwrite权限结合使用。如:hdfs dfs -ls操作需要readexecute权限

YARN

submit-app

提交任务到队列,yarn application可查看该用户的所有任务

admin-queue

包含submit-app权限,同时yarn application可查看该用户的所有任务和该队列上的所有任务

Hive

Hive的数据库表权限同样也适用于ImpalaSpark组件,即ImpalaSpark SQL也支持对库表的访问权限控制)

select

库表查询等相关操作,如:selectexportshowdescribe

【说明】对于Impala组件,不支持export语法

update

插入或更新库表等相关操作,如:insertinsert overwritedeleteupdateload

【说明】对于ImpalaSpark组件,不支持updatedelete语法

create

创建库表等相关操作,如:create tablecreate database

【说明】库表的创建者默认不拥有库表的使用权限,但是通过权限管理功能可授予其使用权限

drop

删除库表等相关操作,如:drop table

alter

修改库表等相关操作,如:alter table

【说明】对于Impala组件,当修改表名称(alter table)时,需要拥有all权限

index

索引等相关操作,如:create index

【说明】使用ImpalaSpark SQL操作数据库时,不支持索引,无需赋予index权限

use

执行show databaseuse database等操作

【说明】使用ImpalaSpark SQL操作数据库时,无需赋予use权限

all

支持以上所有操作

DLH

select

库表查询等相关操作,如:selectexportshowdescribe

update

插入或更新库表等相关操作,如:insertinsert overwritedeleteupdateload

create

创建库表等相关操作,如:create tablecreate database

【说明】库表的创建者默认不拥有库表的使用权限,但是通过权限管理功能可授予其使用权限

drop

删除库表等相关操作,如:drop table

alter

修改库表等相关操作,如:alter table

index

索引等相关操作,如:create index

use

执行show databaseuse database等操作

all

支持以上所有操作

HBase

(说明:所有用户默认可执行existssplit操作)

read

数据读取等相关操作,如:getscan

write

数据写入等相关操作,如:putdelete

create

表创建、删除等操作,如:createdisableenabledropcompactmajor_compactalter

【说明】库表的创建者默认不拥有库表的使用权限,但是通过权限管理功能可授予其使用权限

admin

拥有readwritecreate权限,并且可执行命名空间等相关操作,如:create_namespacedrop_namespacesnapshotclone_snapshotrestore_snapshottruncate

Kafka

publish

执行publish操作

consume

执行consume操作

Solr

query

查询索引中的数据,如/select

update

更新索引中的数据,如/update

solr_admin

默认包含其他所有权限

others

包含/query/admin/file/admin/mbeans

Redis

read

查询键等相关操作,如:gethgetlrangeexists

write

新增或删除键等相关操作,如:setmsetrpushxadddelhdel

admin

实例的相关管理操作,如:aclsaveconfigshutdown

string

键的值为字符串对象时,对应的读写相关操作,如:getsetdecrgetsetappend

list

键的值为列表对象时,对应的读写相关操作,如:rpushllensortlrem

hash

键的值为哈希对象时,对应的读写相关操作,如:hgethsethdelhsetnx

set

键的值为集合对象时,对应的读写相关操作,如:sscansaddsmovesdiff

sortedset

键的值为有序集合对象时,对应的读写相关操作,如:zaddzrangezcardzunionzscore

all

支持以上所有操作

【说明】-1中的各组件权限对应的组件操作仅列举了常用操作,各组件的其他操作对应的权限类型请以实际为准。

 

下面以HDFS操作对应的权限进行简单示例:

举例:hdfs dfs -touch /test3/dir/file2,要求拥有/test3/dir目录的写权限

举例:hdfs dfs -cat /test3/dir/file,要求拥有/test3/dir/file文件的读权限

举例:hdfs dfs -put /tmp/data /test3/dir/data,要求拥有/test3/dir目录的写权限

举例:hdfs dfs -ls /test3/dir,要求拥有/test3/dir目录的读、执行权限

举例:hdfs dfs -find /test3/dir/ -name file,要求拥有/test3/dir目录的读、执行权限

举例:hdfs dfs -du -s -h /test3/dir,要求拥有/test3/dir目录的读、执行权限

举例:hdfs dfs -df -h /test3/dir/,不需要拥有/test3/dir目录的相关权限

 

表-2 Hive数据脱敏策略

数据脱敏策略

策略规则

详细说明

MASK

对字母和数字脱敏

  • stringx替代小写字母,X替代大写字母,n替代数字

  • int1替代数字

  • date"1900-01-01"替代原值

  • decimalNULL值替代原值

MASK_SHOW_LAST_4

后四位不脱敏

  • string:仅显示后四位,其他用x代替

  • int:仅显示后四位,其他用1代替;

  • date"1900-01-01"替代原值

  • decimalNULL值替代原值

MASK_SHOW_FIRST_4

前四位不脱敏

  • string:仅显示前四位,其他用x代替

  • int:仅显示前四位,其他用1代替

  • date"1900-01-01"替代原值

  • decimalNULL值替代原值

MASK_HASH

显示HASH

  • stringHash值替代原值

  • int/date/decimalNULL值替代原值

MASK_NULL

显示NULL

NULL值替代原值

MASK_NONE

显示原值

显示原值

MASK_DATE_SHOW_YEAR

脱敏时间信息

  • stringx替换数字

  • int1替代数字

  • date:显示日期年份,月份和日期均用01代替

  • decimalNULL值替代原值