如何开启guardian管理inceptor存储过程权限

  其他常见问题
内容纲要

概要描述

Guardian提供了管理Inceptor存储过程权限的功能,但此功能默认为不开启,需要通过如下方式开启
本次实验说明:实现hdfs用户对存储过程param只有访问权限,没有执行权限

详细说明

问题描述

  1. 创建存储过程
    通过hive用户在 default数据库 中创建 存储过程param ,存储过程如下:

    CREATE OR REPLACE PROCEDURE param(p_in STRING,p_out string)
    IS
    BEGIN
    DBMS_OUTPUT.PUT_LINE("IN param:"||p_in)
    p_out := 'ab'
    end
  2. 给普通用户赋予对该存储过程的访问权限
    在guardian页面对 hdfs 用户赋予对存储过程param的 ACCESS(访问)权限,但没有EXEC_FUNC(执行)权限
  3. 登录inceptor验证
    使用hdfs用户登录inceptor

    查看存储过程param,可以查看

    执行存储过程param,也可以执行,说明guardian授权没有生效

    解决方案

    找到inceptor server所在的节点,如本次实验是在 mll01节点

    登录终端,在 /etc/inceptor/conf/guardian-site.xml 文件末尾加入如下参数:

    vi /etc/inceptor1/conf/guardian-site.xml
    
    guardian.client.inceptor.enable.plsql.check
    true
    


    8180页面重启inceptor

    验证

    重新用hdfs用户登录inceptor,再次执行存储过程param,报没有权限的错,通过guardian管控存储过程生效

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。