目标:匿名(不需要登录)即可访问superset图表(我的环境是在docker中)

一,superset角色介绍

角色权限介绍

Admin:拥有所有权限。
Alpha:能访问所有数据源,增加或者更改数据源,但不能给更改其他用户权限。
Gamma:必须结合其他能访问数据源的角色才能访问数据。这个角色所能访问的切片和看板,也是基于能访问数据源所创建的切片和看板。
sql_lab:能访问SQL Lab菜单。
Public:默认没有任何权限。

二、具体实现

1.最终目标:使grama和public权限一致(默认public没有任何权限);

方法一:在config.py中添加配置 PUBLIC_ROLE_LIKE_GAMMA = True ,然后执行superset init命令
方法二:手工在 superset页面左上角 “用户权限-角色列表”中修改public,使其和grama一样;
方法三:如果熟悉superset元数据表结构,直接sql命令修改

本次操作采用的方法一,具体情况:我的superset在10.10.10.208上的docker中。操作步骤

a、root进入10.10.10.208,docker ps -a 记住容器ID和容器名在这里插入图片描述
b、进入superset的docker,找到config.py文件

docker exec -it --user root 156e13ff85e3 /bin/bash

在这里插入图片描述
c、编辑config.py。默认docker中没有vi或者vim,可以安装vi(vim)或者将文件拷贝到宿主机,我采用了后者

//docker cp 容器名:容器中文件  宿主机要存放文件的位置
docker cp superset:/usr/local/lib/python3.6/site-packages/superset/config.py .

d、宿主机编辑config.py,再将文件放回docker

docker cp config.py superset:/usr/local/lib/python3.6/site-packages/superset/config.py

e、docker中执行superset init。在浏览器上可以看到public和grama权限一致

2.将匿名用户所需要的数据库和表分配给public(本文将所有库表权限都给到public),下图为public角色添加的库表权限
在这里插入图片描述

3.验收

在浏览器新tab打开创建的superset,不需要登录就可以看到;

原文地址:https://blog.csdn.net/WANTAWAY314/article/details/108621177

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐