Ranger管控UDF
更新时间 2026-04-17 09:31:09
最近更新时间: 2026-04-17 09:31:09
本章节主要介绍如何通过Ranger进行UDF管控。
在大数据平台中,UDF常用于扩展SQL的表达能力,例如字符串处理、脱敏转换、时间计算等。但如果缺少统一的权限管控,部分高风险UDF可能被滥用,进而带来数据泄露、越权访问或不符合规范的计算行为。因此,需要通过Ranger对UDF的访问进行统一治理,实现对函数使用范围的精细化控制。
操作步骤
1、登录Ranger的WebUI界面。
2、点击Hadoop SQL下的Hive页签,您可以对Hive UDF进行权限管控:
1)点击右上角的“Add New Policy”添加新策略。
2)Ranger Hive可以配置UDF权限,例如配置一个用户是否可以使用、创建UDF,具体配置见下图。
具体参数说明如下:
| 参数名称 | 描述 |
|---|---|
| Policy Name | 策略名称,可自定义,不能与本服务内其他策略名称重复。 |
| Policy Label | 为当前策略指定一个标签,您可以根据这些标签搜索报告和筛选策略。 |
| database | 将适用该策略的列Hive数据库名称。 |
| udf | 指定UDF的名称。 |
| Description | 策略描述信息。 |
| Audit Logging | 是否审计此策略。 |
| Allow Conditions | 策略允许条件,配置本策略内允许的权限及例外。 如需添加多条权限控制规则,可单击+按钮添加。 如需当前条件中的用户或用户组管理本条策略,可勾选“Delegate Admin”,这些用户将成为受委托的管理员。被委托的管理员可以更新、删除本策略,它还可以基于原始策略创建子策略。 |
| Deny Conditions | 策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类似。 |
3)如果该函数由 Hive 注册,且函数类型为 UDAF,则在 Ranger 配置 Policy 时需要特别注意 Database 字段的填写方式。此类函数的库名前需要补充前缀 @_。例如,若函数的限定名称为 test_db.test_function,则在 Policy 配置页面中,Database 应填写为 @_test_db。