You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何导出Superset用户列表及各仪表盘的用户信息?

Superset 1.16.3 用户列表及仪表盘关联用户导出方案

一、导出用户列表

Superset 1.16.3的UI默认没有直接导出用户列表的按钮,可通过以下两种方式实现:

  • 调用Superset API:使用GET /api/v1/security/users/接口获取用户数据,再自行转换为CSV或Excel格式。示例请求(需携带有效授权令牌):
    curl -X GET "http://your-superset-url/api/v1/security/users/" -H "Authorization: Bearer your-access-token"
    
  • 直接查询数据库:用户信息存储在ab_user表中,执行SQL查询后导出结果:
    SELECT id, username, email, first_name, last_name, is_active FROM ab_user;
    
    注:需具备数据库访问权限,部分部署环境表前缀可能有差异,以实际情况为准。

二、导出仪表盘对应的用户信息

仪表盘关联的用户信息分为授权用户和访问用户两类,UI无直接导出入口,可通过以下方式获取:

1. 仪表盘授权用户

通过关联权限表查询拥有仪表盘访问权限的用户,SQL示例:

SELECT DISTINCT u.username, u.email
FROM ab_user u
JOIN ab_user_role ur ON u.id = ur.user_id
JOIN ab_role r ON ur.role_id = r.id
JOIN ab_permission_view_role pvr ON r.id = pvr.role_id
JOIN ab_permission_view pv ON pvr.permission_view_id = pv.id
JOIN ab_view_menu vm ON pv.view_menu_id = vm.id
WHERE vm.name LIKE 'Dashboard:%' 
  AND pv.permission_id = (SELECT id FROM ab_permission WHERE name = 'can_show')
-- 如需指定单个仪表盘,添加条件:AND vm.name = 'Dashboard:your-dashboard-id'

2. 仪表盘访问用户

若Superset开启访问日志(默认开启),可查询logs表获取访问过指定仪表盘的用户,SQL示例:

SELECT DISTINCT u.username, u.email, l.dttm
FROM logs l
JOIN ab_user u ON l.user_id = u.id
WHERE l.action = 'dashboard' AND l.dashboard_id = your-dashboard-id;

注意事项

  • 数据库查询操作需确保有对应权限,避免误操作影响系统运行。
  • API调用需先通过/api/v1/security/login/接口获取有效访问令牌。

内容的提问来源于stack exchange,提问作者Jinqi Liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:52:35