Ranger2.4+OpenLdap 用户权限管理

2023-12-10 19:59

本文主要是介绍Ranger2.4+OpenLdap 用户权限管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

使用openldap做统一用户管理
使用ranger做用户权限管理
对Hdfs,Hive,Spark,Trino,Yarn进行权限控制

openLdap用户

执行以下命令,添加用户,用户组

用户用户用户
shuguoliubeiguanyuzhangfei
weiguocaocaocaopicaozhi
wuguoshunquanshuncelvmeng
user='zhangfei'  #替换用户名
EXAMPLE_GROUP='shuguo'  #替换用户所属组USER_UID=$((2000+$RANDOM%999))OPENLDAP_ROOT_DN='cn=admin,dc=example,dc=com'
OPENLDAP_ROOT_PASSWORD='Admin1234!'
OPENLDAP_USERS_BASE_DN='ou=users,dc=example,dc=com'
COMMON_DEFAULT_PASSWORD='Admin1234!'
OPENLDAP_BASE_DN='dc=example,dc=com'ldapsearch -D "$OPENLDAP_ROOT_DN" -w $OPENLDAP_ROOT_PASSWORD -b "cn=$EXAMPLE_GROUP,ou=groups,$OPENLDAP_BASE_DN" >& /dev/null
if [ "$?" != "0" ]; thenGROUP_GID=$((3000+$RANDOM%999))echo "用户组不存在 --${GROUP_GID}"
elseGROUP_GID=`ldapsearch -D "$OPENLDAP_ROOT_DN" -w $OPENLDAP_ROOT_PASSWORD -b "ou=groups,$OPENLDAP_BASE_DN" -s sub "(&(objectClass=posixGroup)(cn=$EXAMPLE_GROUP))" gidNumber | grep "^gidNumber:" | awk '{print $2}'`echo "用户组存在 --${GROUP_GID}"
fi# add user
cat << EOF | ldapadd -D "$OPENLDAP_ROOT_DN" -w $OPENLDAP_ROOT_PASSWORD
dn: uid=$user,$OPENLDAP_USERS_BASE_DN
objectClass: posixAccount
objectClass: top
objectClass: inetOrgPerson
uid: $user
displayName: $user
sn: $user
homeDirectory: /home/$user
cn: $user
uidNumber: $USER_UID
gidNumber: $GROUP_GID
userPassword: $(slappasswd -s $COMMON_DEFAULT_PASSWORD)
EOF#检查是否有groups,如果不存在就创建,如果存在就直接把刚刚的用户添加到groups中
ldapsearch -D "$OPENLDAP_ROOT_DN" -w $OPENLDAP_ROOT_PASSWORD -b "cn=$EXAMPLE_GROUP,ou=groups,$OPENLDAP_BASE_DN" >& /dev/null
if [ "$?" != "0" ]; thenecho '不存在,需要创建'cat << EOF | ldapadd -D "$OPENLDAP_ROOT_DN" -w $OPENLDAP_ROOT_PASSWORD
dn: cn=$EXAMPLE_GROUP,ou=groups,$OPENLDAP_BASE_DN
cn: $EXAMPLE_GROUP
objectclass: top
objectclass: posixGroup
gidNumber: $GROUP_GID
memberUid: $user
EOF
elseecho '已经存在添加用户'cat << EOF | ldapmodify -D "$OPENLDAP_ROOT_DN" -w $OPENLDAP_ROOT_PASSWORD
dn: cn=$EXAMPLE_GROUP,ou=groups,$OPENLDAP_BASE_DN
changetype: modify
add: memberUid
memberUid: $user
EOF
fi

查看openldap用户,用户组
ldapsearch -x -D “cn=admin,dc=example,dc=com” -w ‘Admin1234!’ -b “ou=groups,dc=example,dc=com”

# shuguo, groups, example.com
dn: cn=shuguo,ou=groups,dc=example,dc=com
cn: shuguo
objectClass: top
objectClass: posixGroup
gidNumber: 3563
memberUid: liubei
memberUid: guanyu
memberUid: zhangfei# weiguo, groups, example.com
dn: cn=weiguo,ou=groups,dc=example,dc=com
cn: weiguo
objectClass: top
objectClass: posixGroup
gidNumber: 3358
memberUid: caocao
memberUid: caopi
memberUid: caozhi# wuguo, groups, example.com
dn: cn=wuguo,ou=groups,dc=example,dc=com
cn: wuguo
objectClass: top
objectClass: posixGroup
gidNumber: 3847
memberUid: shunquan
memberUid: shunce
memberUid: lvmeng

master sssd节点用户,用户组同步

sudo systemctl restart sssd
sudo sss_cache -ESSD同步成功:
[hadoop@ip-10-0-29-52 ~]$ id liubei
uid=2117(liubei) gid=3563(shuguo) groups=3563(shuguo)
[hadoop@ip-10-0-29-52 ~]$ id guanyu
uid=2664(guanyu) gid=3563(shuguo) groups=3563(shuguo)
[hadoop@ip-10-0-29-52 ~]$ id zhangfei
uid=2937(zhangfei) gid=3563(shuguo) groups=3563(shuguo)[hadoop@ip-10-0-29-52 ~]$ id caocao
uid=2838(caocao) gid=3358(weiguo) groups=3358(weiguo)
[hadoop@ip-10-0-29-52 ~]$ id caopi
uid=2210(caopi) gid=3358(weiguo) groups=3358(weiguo)
[hadoop@ip-10-0-29-52 ~]$ id caozhi
uid=2137(caozhi) gid=3358(weiguo) groups=3358(weiguo)[hadoop@ip-10-0-29-52 ~]$ id shunquan
uid=2689(shunquan) gid=3847(wuguo) groups=3847(wuguo)
[hadoop@ip-10-0-29-52 ~]$ id shunce
uid=2092(shunce) gid=3847(wuguo) groups=3847(wuguo)
[hadoop@ip-10-0-29-52 ~]$ id lvmeng
uid=2215(lvmeng) gid=3847(wuguo) groups=3847(wuguo)

重启ranger-sync服务

sudo ranger-usersync restart

ranger-admin查看同步成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传UQ(img-80dMfTh3-1689216967321)(typora-user-images\image-20230711160030717.png)(typora-user-images\image-20230711160030717.png)]在这里插入图片描述
hue手动添加用户组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G3brgqxu-1689216967324)(typora-user-images\image-20230712101401039.png)]

测试场景

测试用户:

只给liubei用户权限

测试组:

给weiguo组权限

测试role:

创建role,并绑定guanyu用户,绑定wuguo组,然后给role权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-99w9esLP-1689216967325)(typora-user-images\image-20230711160356065.png)]

Hadoop 插件

hadoop fs -mkdir /ranger-test

hadoop fs -chown hadoop:hadoop /ranger-test

hadoop fs -chmod 700 /ranger-test

该文件夹除了hadoop用户以外都没有权限查看

未授权:

用户

用户liubei 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vZhBfko6-1689216967326)(typora-user-images\image-20230711161600762.png)]

weiguo组中用户caocao 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o3onp62P-1689216967327)(typora-user-images\image-20230711161938944.png)]

Role

用户guanyu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hfbuuuIc-1689216967328)(typora-user-images\image-20230711162325710.png)]

wuguo组中shunquan 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X62sgIMi-1689216967329)(typora-user-images\image-20230711162433543.png)]

授权:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d4PFuvqu-1689216967330)(typora-user-images\image-20230711162604122.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ejsc8Ylf-1689216967330)(typora-user-images\image-20230711162647529.png)]

sudo ./disable-hdfs-plugin.sh

sudo ./enable-hdfs-plugin.sh

插件可能需要重装一下,重启服务

用户

用户liubei 权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2sfosAYZ-1689216967330)(typora-user-images\image-20230711163308535.png)]

weiguo组中用户caocao 权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UtYITJ9q-1689216967331)(typora-user-images\image-20230711163329805.png)]

Role

用户guanyu权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7SWGsu4m-1689216967331)(typora-user-images\image-20230711163201815.png)]

wuguo组中shunquan 权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IHmvu5Mx-1689216967332)(typora-user-images\image-20230711163141973.png)]

Hive 插件

未授权:

将ranger权限全部清空

用户

用户liubei 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1WqmM3dZ-1689216967332)(typora-user-images\image-20230711164421758.png)]

weiguo组中用户caocao 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xYzAxCL8-1689216967333)(typora-user-images\image-20230711165430868.png)]

Role

用户guanyu权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ayRnCFrT-1689216967333)(typora-user-images\image-20230711170628395.png)]

wuguo组中shunquan 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tmcr4MDc-1689216967334)(typora-user-images\image-20230711170122898.png)]

授权:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-scZDNVSs-1689216967334)(typora-user-images\image-20230711170906007.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3NOL7DKm-1689216967334)(typora-user-images\image-20230711170923277.png)]

sudo ./disable-hive-plugin.sh
sudo ./enable-hive-plugin.sh
重启一下hive相关服务

用户

用户liubei 权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OsaEztnS-1689216967335)(typora-user-images\image-20230711172649395.png)]

weiguo组中用户caocao 权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7l3cDcTn-1689216967335)(typora-user-images\image-20230711172457435.png)]

Role

用户guanyu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DbYaBLNP-1689216967335)(typora-user-images\image-20230711172603188.png)]

wuguo组中shunquan 权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rIoaTyGM-1689216967336)(typora-user-images\image-20230711172537903.png)]

Spark 插件

未授权:

将ranger权限全部清空

用户

用户liubei 权限被禁止

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user liubei

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EFt4YwyO-1689216967336)(typora-user-images\image-20230711175124237.png)]

weiguo组中用户caocao 权限被禁止

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user caocao

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mzlt8WSm-1689216967336)(typora-user-images\image-20230711175023640.png)]

Role

用户guanyu权限被禁止

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user guanyu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LReQeOh-1689216967337)(typora-user-images\image-20230711174908535.png)]

wuguo组中shunquan 权限被禁止

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user shunquan

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ceYqT5ji-1689216967337)(typora-user-images\image-20230711174754637.png)]

授权:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jy4aKgLz-1689216967337)(typora-user-images\image-20230711174632672.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iuoh0t6Y-1689216967338)(typora-user-images\image-20230711174649300.png)]

用户

用户liubei 权限被允许

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user liubei

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7UDHUiJf-1689216967338)(typora-user-images\image-20230711174303608.png)]

weiguo组中用户caocao 权限被允许

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user caocao

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AKFQdMi7-1689216967339)(typora-user-images\image-20230711174411539.png)]

Role

用户guanyu权限被允许

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user guanyu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wnlHKPY2-1689216967339)(typora-user-images\image-20230711174505923.png)]

wuguo组中shunquan 权限被允许

spark-sql --master yarn --deploy-mode client --conf 'spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension' --proxy-user shunquan

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ljQIW2En-1689216967339)(typora-user-images\image-20230711174613767.png)]

Trino 插件

未授权:

将ranger权限全部清空

用户

用户liubei 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQoGAwFf-1689216967340)(typora-user-images\image-20230712103443079.png)]

weiguo组中用户caocao 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PmfHxAUa-1689216967340)(typora-user-images\image-20230712103513863.png)]

Role

用户guanyu权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9t9B4VMF-1689216967340)(typora-user-images\image-20230712103537517.png)]

wuguo组中shunquan 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lftTbvl3-1689216967341)(typora-user-images\image-20230712103603777.png)]

授权:

https://blog.csdn.net/qq_36096641/article/details/127518912

注意Trino的权限需要对每一访问层级进行设置,比如

catalog 级别

catalog + schema 级别

catalog + schema + table 级别

并且需要配置用户可访问information_schema这个trino元数据库,这样才能访问其它的表
————————————————

catalog级别:
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CxAyvXo2-1689216967341)(typora-user-images\image-20230712110036058.png)]

information_schema元数据库:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FKfsOwDZ-1689216967342)(typora-user-images\image-20230712110118510.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZHgG1Rp-1689216967342)(typora-user-images\image-20230712110135690.png)]

catalog + schema 级别:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aODpflKb-1689216967343)(typora-user-images\image-20230712110215801.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eMtHRtZQ-1689216967345)(typora-user-images\image-20230712110230747.png)]

catalog + schema + table 级别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FNdaPGdN-1689216967345)(typora-user-images\image-20230712103838413.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jK0VIU9s-1689216967346)(typora-user-images\image-20230712103858276.png)]

用户

用户liubei 权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iNTZ8Pb7-1689216967346)(typora-user-images\image-20230712105611704.png)]

weiguo组中用户caocao 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3M01KlXe-1689216967346)(typora-user-images\image-20230712105909860.png)]

trino-plugin支持组失败,修改配置/usr/lib/trino/etc/access-control.properties,
请参考:https://blog.csdn.net/qq_40616823/article/details/123008319#:~:text=%E9%80%9A%E8%BF%87debug%E5%8F%91%E7%8E%B0this.useUgi%E9%BB%98%E8%AE%A4%E6%98%AFfalse

添加:ranger.use_ugi=true

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BWkslpzS-1689216967346)(typora-user-images\image-20230712144655315.png)]

Role

用户guanyu权限被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Opcl28IC-1689216967347)(typora-user-images\image-20230712105803756.png)]

wuguo组中shunquan 权限被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XrfAXHG5-1689216967347)(typora-user-images\image-20230712105838952.png)]

trino-plugin支持组失败,修改配置/usr/lib/trino/etc/access-control.properties,
请参考:https://blog.csdn.net/qq_40616823/article/details/123008319#:~:text=%E9%80%9A%E8%BF%87debug%E5%8F%91%E7%8E%B0this.useUgi%E9%BB%98%E8%AE%A4%E6%98%AFfalse

添加:ranger.use_ugi=true

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SKozZDSE-1689216967347)(typora-user-images\image-20230712145738028.png)]

Yarn 插件

yarn配置队列

[{"classification": "yarn-site","properties": {"yarn.scheduler.capacity.queue-mappings-override.enable": "true","yarn.acl.enable": "true"}},{"classification": "capacity-scheduler","properties": {"yarn.scheduler.capacity.queue-mappings": "u:hadoop:default,u:caocao:weiguo,u:liubei:shuguo,u:shunquan:wuguo,u:guanyu:shuguo,u:zhangfei:shuguo,u:shunce:wuguo,u:lvmeng:wuguo,u:caopi:weiguo,u:caozhi:weiguo","yarn.scheduler.capacity.root.queues": "default,shuguo,weiguo,wuguo","yarn.scheduler.capacity.root.capacity": "100","yarn.scheduler.capacity.root.acl_administer_queue": "","yarn.scheduler.capacity.root.acl_submit_applications": "","yarn.scheduler.capacity.root.default.capacity": "10","yarn.scheduler.capacity.root.default.maximum-capacity": "60","yarn.scheduler.capacity.root.default.acl_administer_queue": "hadoop","yarn.scheduler.capacity.root.default.acl_submit_applications": "caocao,liubei,shunquan,guanyu,zhangfei,shunce,lvmeng,caopi,caozhi","yarn.scheduler.capacity.root.shuguo.capacity": "30","yarn.scheduler.capacity.root.shuguo.maximum-capacity": "70","yarn.scheduler.capacity.root.shuguo.acl_administer_queue":"hadoop","yarn.scheduler.capacity.root.shuguo.acl_submit_applications": "","yarn.scheduler.capacity.root.weiguo.capacity": "30","yarn.scheduler.capacity.root.weiguo.maximum-capacity": "70","yarn.scheduler.capacity.root.weiguo.acl_administer_queue": "hadoop","yarn.scheduler.capacity.root.weiguo.acl_submit_applications": "","yarn.scheduler.capacity.root.wuguo.capacity": "30","yarn.scheduler.capacity.root.wuguo.maximum-capacity": "70","yarn.scheduler.capacity.root.wuguo.acl_administer_queue": "hadoop","yarn.scheduler.capacity.root.wuguo.acl_submit_applications": "","yarn.scheduler.capacity.resource-calculator": "org.apache.hadoop.yarn.util.resource.DominantResourceCalculator"}}
]

配置如下(注意:配置的ranger.add-yarn-authorization=false会无视下面这个配置):

liubei,guanyu,zhangfei 默认提交到shuguo

caocao,caopi,caozhi 默认提交到weiguo

shunquan,shunce,lvmeng 默认提交到wuguo

但是都没有权限提交,需要ranger授权才行

未授权:

将ranger权限全部清空

并配置

By default, fallback to YARN ACLs are enabled. If access cannot be determined by Ranger policies, authorization will fall back to YARN ACLs. If this behavior needs to be changed, modify YARN plugin config - ranger.add-yarn-authorization.

默认情况下,允许回退到YARN acl。如果访问不能由Ranger策略确定,则授权将返回到YARN acl。如果需要修改此行为,请修改YARN plugin config - ranger.add-yarn-authorization。

禁用yarn默认的ACL,都从ranger-yarn通过

sudo vim /usr/lib/hadoop-yarn/etc/hadoop/ranger-yarn-security.xml

<property><name>ranger.add-yarn-authorization</name><value>false</value>
</property>

sudo systemctl restart hadoop-yarn-resourcemanager.service

提前准备用户在hdfs上的文件

hadoop fs -mkdir /user/liubei
hadoop fs -chown liubei:liubei /user/liubeihadoop fs -mkdir /user/caocao
hadoop fs -chown caocao:caocao /user/caocaohadoop fs -mkdir /user/guanyu
hadoop fs -chown guanyu:guanyu /user/guanyuhadoop fs -mkdir /user/shunquan
hadoop fs -chown shunquan:shunquan /user/shunquan

用户

用户liubei 提交到shuguo权限被禁止

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user liubei \
--queue shuguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QA6gRf8w-1689216967347)(typora-user-images\image-20230712163733534.png)]

weiguo组中用户caocao 提交到weiguo权限被禁止

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user caocao \
--queue weiguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RXde9W71-1689216967348)(typora-user-images\image-20230712163702484.png)]

Role

用户guanyu提交到wuguo 权限被禁止

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user guanyu \
--queue wuguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oRvoSE3c-1689216967348)(typora-user-images\image-20230712163640343.png)]

wuguo组中shunquan提交到wuguo 权限被禁止

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user shunquan \
--queue wuguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0sfDqLTC-1689216967348)(typora-user-images\image-20230712163909424.png)]

授权:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4y8nIbKn-1689216967349)(typora-user-images\image-20230712164401200.png)]

授权用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ohDWwVy-1689216967350)(typora-user-images\image-20230712164430254.png)]

授权组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S04ULrWH-1689216967351)(typora-user-images\image-20230712164454420.png)]

授权role

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gb6Y18TV-1689216967351)(typora-user-images\image-20230712164528064.png)]

用户

用户liubei 提交到shuguo权限被允许

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user liubei \
--queue shuguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xJxbBbvd-1689216967351)(typora-user-images\image-20230712164701975.png)]

weiguo组中用户caocao 提交到weiguo权限被允许

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user caocao \
--queue weiguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FbeojX8V-1689216967351)(typora-user-images\image-20230712164749898.png)]

Role

用户guanyu提交到wuguo 权限被允许

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user guanyu \
--queue wuguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hB4n7SBp-1689216967352)(typora-user-images\image-20230712164848638.png)]

wuguo组中shunquan提交到wuguo 权限被允许

spark-submit \
--master yarn \
--deploy-mode cluster \
--proxy-user shunquan \
--queue wuguo \
--class  org.apache.spark.examples.SparkPi  /usr/lib/spark/examples/jars/spark-examples.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z4gdEbDj-1689216967352)(typora-user-images\image-20230712164938673.png)]

Spark Sql+结合Livy

由于spark sql在hue上通过livy进行提交

因此:配置sudo vim /etc/livy/conf/livy.conf

livy.impersonation.enabled: true

使得根据对应的hue用户初始化session环境

tail -f /var/log/livy/livy-livy-server.out

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l8QDcf9m-1689216967352)(typora-user-images\image-20230712171433955.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kh0er2mf-1689216967353)(typora-user-images\image-20230712171407268.png)]

由于初始环境的时候,并没有指定配置

–conf ‘spark.sql.extensions=org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension’ ,因此并不能管住权限

修改sudo vim /etc/spark/conf/spark-defaults.conf,添加配置

spark.sql.extensions org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension

重新初始化session,并查看spark webui,可以看到配置如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-INJeC03t-1689216967353)(typora-user-images\image-20230712172321077.png)]

未授权

将ranger权限全部清空

用户

用户liubei 提交到shuguo,但是查询被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZNlxLR8S-1689216967354)(typora-user-images\image-20230712175719148.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GTz0cJs7-1689216967354)(typora-user-images\image-20230712175746074.png)]

weiguo组中用户caocao提交到weiuo,但是查询被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P1yCcxrA-1689216967354)(typora-user-images\image-20230712175524358.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-taAWtbEO-1689216967355)(typora-user-images\image-20230712175551530.png)]

Role

用户guanyu在livy初始化环境的时候失败,因为guanyu默认提交的队列为shuguo,但是ranger并没有给其权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yehXsBs7-1689216967355)(typora-user-images\image-20230712175316891.png)]

wuguo组中shunquan提交到wuguo ,但是查询被禁止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lGTVOPWo-1689216967355)(typora-user-images\image-20230712175051672.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mGF7SNpn-1689216967356)(typora-user-images\image-20230712175011601.png)]

授权

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tSUVGUaz-1689216967356)(typora-user-images\image-20230711174649300.png)]

用户

用户liubei 提交到shuguo,并且查询被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qoga1B5N-1689216967356)(typora-user-images\image-20230712173302678.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ueysfpH-1689216967357)(typora-user-images\image-20230712172909916.png)]

weiguo组中用户caocao提交到weiuo,并且查询被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-akEk8PfX-1689216967357)(typora-user-images\image-20230712173244536.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CqjW5qmw-1689216967358)(typora-user-images\image-20230712173407261.png)]

Role

用户guanyu在livy初始化环境的时候失败,因为guanyu默认提交的队列为shuguo,但是ranger并没有给其权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kif0mVdt-1689216967358)(typora-user-images\image-20230712173943719.png)]

wuguo组中shunquan提交到wuguo ,并且查询被允许

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f6O4mgIs-1689216967358)(typora-user-images\image-20230712174245110.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NAWfkqyL-1689216967359)(typora-user-images\image-20230712174339478.png)]

这篇关于Ranger2.4+OpenLdap 用户权限管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478197

相关文章

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Redis实现RBAC权限管理

《Redis实现RBAC权限管理》本文主要介绍了Redis实现RBAC权限管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1. 什么是 RBAC?2. 为什么使用 Redis 实现 RBAC?3. 设计 RBAC 数据结构

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D