基于ranger的presto账号权限管理及事件监听方案

背景:我司为解决hive数据分析慢问题,部署了presto 347版本集群。同时即席分析平台采用开源产品superset 1.0版本。

为满足公司业务场景,需开发以下功能解决认证及审计等问题。

  • jdbc等连接方式(开发同学专用)需验证ranger账号密码并通过ranger进行库表权限验证。
  • superset登录(数据分析同学使用)需验证公司sso账号,且superset端所有同学共用一个presto数据源连接,需单独设计权限认证方式。
  • 开发事件监听器,用于用户SQL查询情况审计等。

一、账号密码认证

经调研presto支持Password Authenticator接口的开发,可以在createAuthenticatedPrincipal()方法中实现自己的认证逻辑,最终返回

Principal对象用于之后的 System Access Control权限验证。经调研presto 347版本已支持 ranger的权限验证,ranger最低版本为2.0.0。

还有一个问题就是通过 presto jdbc传输密码必须开启https认证。我们为规避繁琐的服务端证书认证环节采用nginx做转发的方案完成。

即客户端开启ssl认证,nginx安装证书接收https请求并转发http请求到服务端。

具体方案如下:

  1. System Access Control权限认证采用ranger方案。
  2. 基于Password Authenticator接口开发ranger账号密码认证逻辑。
  3. 部署nginx做请求转发。

下面分别介绍下各步骤的具体实现:

1.配置权限认证

第一步配置属性文件:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值