在Ranger policies中Deny-conditions 和excludes介绍

1简介

Apache Ranger为Enterprise Hadoop生态系统提供集中安全性,包括细粒度访问控制和集中审计。当前版本的Apache Ranger,0.5支持授权策略,允许在满足指定条件时访问资源 - 条件包括用户/组,访问类型和自定义条件。但是,该模型不支持可以明确拒绝访问资源的策略。此外,该模型不支持允许(或拒绝)访问更广泛的组(如员工,每个人)的策略,但不包括可能属于更广泛组的特定用户/组。

对于Apache JIRA RANGER-606,Apache Ranger策略模型已得到增强,能够明确拒绝访问并指定允许和拒绝条件的排除。本文档介绍了这些增强功能的各种细节以及一些示例。

2政策模型

Apache Ranger策略包含两个主要部分:

  1. 适用策略的资源规范 - HDFS文件/目录,Hive数据库/表/列,HBase表/列 - 系列,列等资源
  2. 应该允许访问的条件规范,例如用户/组,访问类型和自定义条件

虽然上述第一部分与此增强功能保持不变,但政策模型已更新为支持4类条件(上述第二部分),如下所示:

  1. 允许条件(已存在于当前版本和早期版本中)
  2. 拒绝条件
  3. 不在允许条件范围内
  4. 不包括拒绝条件

有关使用这些条件来确定授权请求的访问权限的详细信息,请参阅下面的“ 策略评估 ”部分。

2.1 Apache Ranger版本-0.5

0.5版及更早版本中的Apache Ranger策略模型支持可明确允许访问资源的策略。以下屏幕截图有助于了解Apache Ranger 0.5版本中的一些策略的详细信息:

2.1.1 /财务文件夹访问的HDFS策略:允许财务组中的用户

 

2.1.2财务数据库访问的Hive策略:允许财务组中的用户

 

2.2增强的政策模型

RANGER-606中的策略模型增强功能增加了在给定条件下明确拒绝访问的功能,并指定了allow-conditions和deny-conditions的排除。让我们使用上一节中使用的相同策略,但添加条件明确拒绝访问实习生组中的用户。

请注意,在RANGER-876更新后,拒绝策略仅适用于service-def已enableDenyAndExceptionsInPolicies设置为选项的服务true,如下所示:

{

  "name": "hdfs",

  "description": "HDFS Repository",

  "options": {

   "enableDenyAndExceptionsInPolicies": "true"

  }

}

 有关更新service-def的REST API的详细信息,请参阅此Wiki。 

2.2.1 / finance文件夹访问的HDFS策略:允许财务组中的用户拒绝实习生组中的所有用户

HDFS策略允许财务组中的用户访问/ finance文件夹的内容,但拒绝访问实习生组中的用户。实习生组中的用户即使属于财务组,也将被拒绝访问。

2.2.2财务数据库访问的Hive策略:允许财务组中的用户拒绝实习生组中的所有用户

Hive策略允许所有财务组用户访问财务数据库的内容,但拒绝访问实习生组中的用户。实习生组中的用户即使属于财务组,也将被拒绝访问。


2.2.2财务数据库访问的Hive策略:允许财务组中的用户拒绝除用户scott之外的实习生组中的所有用户

假设其中一个用户,即实习生和财务小组中的scott,负责一项需要选择访问财务数据库的任务。要启用此访问权限,应通过添加拒绝排除来更新数据库的授权策略,如下所示:

2.2.3 Hive策略拒绝为实习生组中的用户访问hr,客户和供应商数据库

Hive策略拒绝为实习生组中的用户访问hr,客户和供应商数据库。实习生组中的用户即使属于可能有权访问这些数据库的其他组,也将被拒绝访问。

 

3政策评估

当支持的策略模型仅允许条件时,策略评估的顺序不会影响最终结果。Apache Ranger策略引擎评估了资源的所有策略,直到其中一个策略允许访问。当没有允许访问的策略时,通常会拒绝授权请求。 

在策略模型中引入拒绝条件需要以特定顺序评估策略,以确保最终结果是可预测的。下图捕获了策略评估流程:

以下是上图的文字版本:

  • Apache Ranger策略引擎按以下顺序评估所访问资源的策略:
    • 评估所有拒绝条件
    • 当请求与策略中的拒绝条件匹配时:
      • 如果策略没有拒绝 - 排除或者如果请求与策略中的任何拒绝排除不匹配,则访问将被拒绝
      • 否则,继续评估下一个拒绝条件
    • 当任何拒绝条件未拒绝访问时,请评估所有允许条件
    • 当请求与策略中的允许条件匹配时:
      • 如果策略没有允许排除,或者请求与策略中的任何allow-exclude不匹配,则允许访问
      • 否则,继续评估下一个允许条件
    • 如果没有allow-condition匹配请求,则访问结果将不确定。在这种情况下,大多数组件将拒绝访问。但是,HDFS和YARN等组件会回退到其本机ACL以确定访问权限

参考文献:https://cwiki.apache.org/confluence/display/RANGER/Deny-conditions+and+excludes+in+Ranger+policies

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值