使用Apache Ranger提供授权 -- 01

本文介绍Apache Ranger在Hadoop集群中实现细粒度访问控制的方法,涵盖基于资源和基于标签的策略,以及如何利用标签进行跨组件资源访问控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Ranger在Hadoop中提供授权

  • Ranger通过用户界面管理访问控制,以确保跨Hadoop数据访问组件进行一致的策略管理。安全管理员可以在数据库,表,列和文件级别定义安全策略,还可以管理基于LDAP的特定组或单个用户的权限。也可以将基于动态条件(例如时间或地理位置)的规则添加到现有策略规则中。Ranger授权模型是可插入的,并且可以使用基于服务的定义轻松扩展到任何数据源。

  • 用户通过身份验证后,必须确定其访问权限。授权定义了用户对资源的访问权限。例如,可以允许用户创建策略和查看报告,但不允许编辑用户和组。您可以使用Ranger设置和管理对Hadoop服务的访问。

  • 使用Ranger,您可以为特定的Hadoop资源(HDFS,HBase,Hive等)创建服务,并将访问策略添加到这些服务。您还可以创建基于标签的服务,并将访问策略添加到这些服务。使用基于标签的策略使您可以控制跨多个Hadoop组件的资源访问,而无需在每个组件中创建单独的服务和策略。您还可以使用Ranger TagSync将Ranger标记存储与外部元数据服务(例如Apache Atlas)进行同步。

Ranger策略概述

Ranger有两种类型的策略:基于资源(resource-based)和基于标签(tag-based)。

  • 基于资源的策略:使用Ranger,您可以配置基于资源的服务(HDFS,HBase,Hive等)并将访问策略添加到这些服务。
  • 基于标签的策略:使用Ranger,您可以创建基于标签的服务并将访问策略添加到这些服务。

基于Ranger标签的策略

基于标签的策略概述

  • 基于Ranger标签的授权的重要功能是将资源分类访问授权分开。例如,包含敏感数据(例如社会保险号,信用卡号或敏感医疗数据)的资源(HDFS文件/目录,Hive数据库/表/列等)可以用PII / PCI / PHI进行标记-作为资源进入Hadoop生态系统或在以后的时间。一旦标记了资源,就将自动执行对标记的授权,从而无需为该资源创建或更新策略。

  • 使用基于标签的策略还使您可以控制跨多个Hadoop组件的资源访问,而无需在每个组件中创建单独的服务和策略。

  • 标签详细信息存储在标签存储中。Ranger TagSync可用于将标签存储与外部元数据服务(例如Apache Atlas)进行同步。

标签存储

  • 与资源关联的标签的详细信息存储在标签存储中。Apache Ranger插件从标记存储中检索标记详细信息,以便在策略评估期间使用。为了最大程度地减少策略评估期间的性能影响(查找资源标签),Apache Ranger插件会缓存标签并定期轮询标签存储区以查找任何更改。检测到更改时,插件将更新缓存。此外,插件将标签详细信息存储在本地缓存文件中-就像策略存储在本地缓存文件中一样。组件重新启动时,如果无法访问标签存储,则插件将使用本地缓存文件中的标签数据。

  • Apache Ranger插件从Ranger Admin管理的商店下载标签详细信息。Ranger Admin将标签详细信息保留在其策略存储中,并为插件提供REST界面以下载标签详细信息。

标签

Ranger标签可以具有属性。基于Ranger标签策略中可以使用标签属性值来影响授权决策。
例如,要拒绝在特定日期之后访问资源:

  1. 将EXPIRES_ON标记添加到资源。
  2. 添加exipry_date标签属性,并将其值设置为到期日期。
  3. 为EXPIRES_ON标签创建一个Ranger策略。
  4. 当in expiry_date标签属性中指定的日期晚于当前日期时,在此策略中添加条件以拒绝访问 。

请注意,EXPIRES_ON标记策略被创建为标记服务实例中的默认策略。

标签同步

  • Ranger TagSync用于将标签存储与外部元数据服务(例如Apache Atlas)进行同步。TagSync是类似于Ranger UserSync进程的守护进程。

  • Ranger TagSync通过更改通知从Apache Atlas接收标签详细信息。在将标签添加到Apache Atlas中的资源,对其进行更新或从中删除时,Ranger TagSync会接收通知并更新标签存储。

标签和策略评估

  • 授权访问请求时,Apache Ranger插件会为正在访问的资源评估适用的Ranger策略。下图显示了策略评估流程的详细信息。后续各节中提供了有关此工作流程中步骤的更多详细信息。

带标签的Apache Ranger策略评估流程:
在这里插入图片描述

找到标签

  • Apache Ranger支持注册上下文丰富器的服务,这些丰富器用于将上下文数据更新到访问请求。

  • Ranger标记服务是基于标记的策略特性的一部分,它添加了一个名为RangerTagEnricher的上下文enricher。此上下文enricher负责为请求的资源查找标记并将标记细节添加到请求上下文。此上下文enricher保持可用标记的缓存;在处理访问请求时,它会找到适用于所请求资源的标记,并将这些标记添加到请求上下文中。上下文enricher通过定期轮询管理员更改来更新缓存。

基于标签策略评估

  • 一旦找到所请求资源的标记列表,Apache Ranger策略引擎将评估适用于这些标记的基于标记的策略。如果其中一个标签的策略导致拒绝,访问将被拒绝。如果没有拒绝任何标记,并且策略允许其中一个标记,则将允许访问。如果没有针对任何标记的结果,或者没有针对资源的标记,则策略引擎将评估基于资源的策略,以做出授权决策。

在条件中使用标签

  • Apache Ranger允许在评估授权策略时使用自定义条件。Apache Ranger策略引擎使各种请求详细信息(例如用户,组,资源和上下文)可用于条件。扩充器添加的请求上下文中的标记可用于条件,并可用于影响授权决策。

  • 标记服务实例中的默认策略EXPIRES_ON标记使用这种条件来检查请求日期是否晚于标记属性expiry_date中指定的值。除非已在Atlas中创建EXPIRES_ON标记,否则此默认策略将不起作用。

Apache Ranger访问条件

  • Apache Ranger访问策略模型由两个主要组件组成:对策略所应用的资源的规范,例如HDFS文件和目录,Hive数据库、表、列,HBase表、列族和列等;以及特定用户和组的访问条件规范

允许、拒绝和排除条件

Apache Ranger支持以下访问条件:

  1. 允许
  2. 从允许中排除
  3. 拒绝
  4. 从拒绝中排除

这些访问条件使您可以设置细粒度的访问控制策略。
例如,您可以允许“财务”组中的所有用户访问“财务”数据库,但是拒绝对“实习生”组中的所有用户进行访问。假设“实习生”组的成员之一“斯科特”需要处理需要访问“财务”数据库的任务。在这种情况下,您可以添加“拒绝拒绝”条件,该条件将允许用户“ scott”访问“财务”数据库。下图显示了如何在Apache Ranger中设置此策略:
在这里插入图片描述

为策略启用拒绝条件

默认情况下,策略中的拒绝条件是禁用的,必须启用后才能使用。

  1. 在Ambari> Ranger> CONFIGS> ADVANCED> Custom ranger-admin-site中,添加:
ranger.servicedef.enableDenyAndExceptionsInPolicies=true
  1. 重新启动Ranger。

访问条件的策略评估

将按特定顺序评估Apache Ranger策略,以确保可预测的结果(如果没有允许访问的访问策略,则通常会拒绝授权请求)。下图显示了策略评估工作流程:
在这里插入图片描述

使用Ranger控制台

打开和关闭Ranger控制台

  • 要打开Ranger控制台,请登录到Ranger门户网站http://your_ranger_server_address >:6080(例如,http://dw-weekfield.hortonworks.com:6080)。要登录,请输入您的用户名和密码,然后单击“登录”。
    在这里插入图片描述
  • 管理员控制台主页
    在这里插入图片描述
  • 管理员登录控制台
    登录后,您的用户名将显示在游侠控制台的右上角
    在这里插入图片描述
    要退出游骑兵控制台,请单击您的用户名,然后选择退出。
    在这里插入图片描述

Ranger控制台导航

  • 当您登录到Ranger控制台时,将显示基于资源的策略的服务管理器页面。您可以使用此页面为Hadoop资源(HDFS、HBase、Hive等)创建服务,并向这些资源添加访问策略。
    在这里插入图片描述
  • 单击顶部菜单中的Access Manager将打开基于资源的策略页面的服务管理器,并显示一个子菜单,其中包含指向基于资源的策略、基于标记的策略和报告的链接(当您将鼠标移到Access Manager链接上时,也会显示该子菜单)
    在这里插入图片描述
  • Access Manager > Resource Based Policies – 打开基于资源的策略页面的服务管理器。您可以使用此页面为资源(HDFS、HBase、Hive等)创建服务,并向这些服务添加访问策略。
    在这里插入图片描述
  • Access Manager > Tag Based Policies – 打开基于标记的策略页面的服务管理器。可以使用此页面创建基于标记的服务,并向这些服务添加访问策略。使用基于标记的策略使您能够跨多个Hadoop组件控制对资源的访问,而无需在每个组件中创建单独的服务和策略。
    在这里插入图片描述
  • Access Manager > Reports – 打开报告页面。您可以使用此页面为基于策略名称、资源、组和用户名的资源和基于标记的策略生成用户访问报告。
    在这里插入图片描述
  • Audit – 您可以使用审计页面在资源级别监视用户活动,还可以根据用户、组或时间设置条件审计。审计页面包括访问、管理、登录会话、插件选项卡、插件状态、用户同步情况等。
    在这里插入图片描述
  • Settings – 允许您管理和分配用户和组的策略权限。在设置上单击或传递鼠标会显示一个子菜单,其中有指向用户/组和权限页的链接。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@TangXin

路漫漫其修远兮,吾将上下而求索

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值