CDH权限管理-Sentry


CDH集群权限管理

Apache Sentry介绍

Apache SentryCloudera公司发布的一个Hadoop开源组件,它提供了细粒度级、基于角色的授权及多租户管理模式。Sentry当前支持Hive/HCatalogApache SolrImpalaHDFSHbase权限管理;

Apache Sentry组件

Sentry的体系结构中有三个重要组件:BindingPolicy EnginePolicy Provider

Binding

Binding实现对不同的查询引擎授权,Sentry将自己的Hook函数插入到各SQL引擎的编译、执行阶段,这些Hook函数的作用为:

  1. 过滤器:只放行具有相应数据对象访问权限的SQL查询;
  2. 授权接管:通过执行引擎进行grant/revoke管理权限时,实际在Sentry中实现;

对于所有引擎的授权信息存储在Sentry设定的统一数据库中,实现权限的集中管理;

Policy Engine

这是Sentry授权的核心组件,Policy Engine判断从Binding层获取的输入权限要求与服务体提供层以保存的权限描述是否匹配;

Policy Provider

Policy Provider负责从文件或数据库中读取设定的访问权限,提供给Policy Engine进行鉴权匹配;

CDH集群启用Sentry

安装Sentry组件

通过CM直接添加Sentry即可;(需提前创建sentry数据库);

配置Sentry服务,搜索sentry.service.admin.groupsentry.service.allow.connect, 添加各服务同名用户至管理员列表(CDH默认以服务同名用户启动服务),

image-20210621173202208

Sentry集成

  1. Hive配置中搜索hive.server2.enable.doAs,取消该配置勾选;
image-20210621155829187
  1. Hive配置中搜索Enable Stored Notifications in Database,启用该配置项;

    image-20210621160340622
  2. Hive配置中搜索sentry,启用Hive集成Sentry

    image-20210621160649210
  3. 如需开启Hive列级权限控制,搜索sentry-site.xml,添加截图中K-V配置;

image-20210621173814173
  1. Impala配置中搜索Sentry,启用Impala集成Sentry;

    image-20210621161133818
  2. HDFS中搜索dfs.namenode.acls.enabled,启用acls控制;

    image-20210621161721244
  3. HDFS中搜索sentry,启用sentry同步;

    image-20210621161828535
  4. 配置YARN服务,搜索allowed.system.users允许各服务同名账号提交任务至YARN上;

image-20210621172609148
  1. 配置HUE集成Sentry,搜索Sentry并勾选;

    image-20210621172804088

基于Hue使用Sentry授权

  1. 待授权用户需在集群所有节点存在,如不存在,则需手动创建;

  2. Hue中右上角选择管理用户,创建用户及组;

  3. 点击左上角下拉菜单中Security创建Role并进行权限授予;

    image-20210621174417601

文章作者: semon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 semon !
评论
  目录