Skip to main content

Role设置

Role的介绍

Role是一组权限点(permissions,注意,role配置本身是不包括permission的,需结合policy配置);

一个role包含一组用户、用户组或其他role。

Role的典型场景

  • 创建一个FinReadOnly的role,选择一组用户或用户组,然后创建一个policy,对finance库的所有表有read权限,role选择FinReadOnly;
  • 创建一个FinWriteOnly的role,对finance库的所有表有write权限;
  • 创建一个FinReadWrite的role,对finance库的所有表有read+write权限,此时,此role实际上包含2个role:FinReadOnly和FinWriteOnly
  • 当某个用户组FinReporting需要读取finance库的所有表时,可修改FinReadOnly的配置,将FinReporting用户组加进来;
  • 写入、读写权限类似,仅需修改这个role 的配置即可。

Role能解决什么问题?

假设上面的典型场景,如果没有Role的概念,要如何解决?

1、配置一个policy_r,分配finance的只读权限, 选择用户组fin_r

2、配置一个policy_w,分配finance的写权限,选择用户组fin_w

3、配置一个policy_rw,分配finance的读、写权限,选择用户组fin_rw

4、当某个用户组FinReporting需要读取finance库的所有表时,编辑policy_r,增加用户组FinReporting,此时其用户组为fin_r、FinReporting

Role的作用

在策略很多的时候,会造成拉取变慢,影响 SQL 执行引擎的整体性能;客户端比较多的情况下,客户端插件同时拉取的时候,对 Ranger Admin 的压力也会很大,机器带宽也会成为瓶颈。通过Role的管理可降低policy的编辑频率,当用户范围变更时,无需编辑policy,只需调整role的范围就可以达到目的。

Role的使用

通过数据安全-设置模块进行Role管理,通过Role去管理用户、用户组,将用户、用户组、其他Role添加至Role中,配置好后可以将其添加至对应的策略中,支持对Role的新增、编辑、删除、查看详情、查询操作。

img

img