「增长分析」权限系统是以角色为基础的权限管理设计(RBAC),通过用户关联角色、角色关联权限的方法来间接地赋予用户权限。
增长分析的权限由角色进行管理,角色包括下列维度:
维度 | 说明 |
---|---|
身份 | 决定了用户在火山引擎增长分析中的合法使用深度,比如是否可以禁用事件、是否可以看到全部看板等; |
应用 | 决定了用户可以对集团下哪些已接入的应用进行查看和操作; |
产品 | 决定了用户可以使用火山引擎增长分析的哪些功能 |
功能 | 开放的产品中可以使用哪些功能,没有相关功能的角色在产品中无法看到相应功能的菜单,也无法通过链接访问对应功能 |
数据权限 | 可以配置增长分析中哪些数据可以被该角色使用(仅对成员类角色生效) |
用户 | 包含哪些用户 |
增长分析预置了3个默认身份。
身份名称 | 描述 |
---|---|
集团管理员 | 可以使用集团内所有应用、所有产品的所有功能,并且进行几乎所有操作,仅对应用内部分用户自行创建的私有资源没有可见及操作权限(例如不能看到和操作成员自己创建的私人看板)。集团创建者为第一个集团管理员,其他集团管理员无法改变其默认身份,但其身份可以进行转移。 |
应用管理员 | 在所管理的应用内权限与集团管理员一致。应用管理员由集团管理员指定。 |
成员 | 仅拥有被授予的应用内的分析相关功能的操作权限。 |
用户的权限集合,指的是在一个集团内,一个用户身上所有角色权限的并集。
示例,如果某集团有以下三个角色:
角色名称 | 身份 | 开放的应用 | 开放的产品 |
---|---|---|---|
分析师 | 管理员 | 抖音,火山小视频,图虫web | 增长分析 |
AB实验RD | 管理员 | 全部 | 增长分析 |
头条运营 | 成员 | 今日头条 | 增长分析 |
用户A具有分析师和头条运营的角色,则他的权限集合如下:
角色名称 | 身份 | 开放的应用 | 开放的产品 |
---|---|---|---|
分析师 | 管理员 | 抖音,火山小视频,图虫web | 增长分析 |
头条运营 | 成员 | 今日头条 | 增长分析 |
用户B具有AB实验RD和头条运营的角色,则他的权限集如下:
角色名称 | 身份 | 开放的应用 | 开放的产品 |
---|---|---|---|
AB实验RD | 管理员 | 全部 | 增长分析 |
头条运营 | 成员 | 今日头条 | 增长分析 |
一级 功能模块 | 二级 菜单权限 | 三级 操作权限 | 集团管理员 | 应用管理员 | 成员 |
---|---|---|---|---|---|
集团管理 | 应用接入 | ✓ | ✕ | ✕ | |
集团信息 | ✓ | ✕ | ✕ | ||
角色管理 | ✓ | ✕ | ✕ | ||
用户管理 | ✓ | ✓ 不能操作集团管理员身份 | ✕ | ||
数据管理 | 分析主体 | 查看 | ✓ | ✓ | ✓ |
创建 | ✓ | ✓ | ✕ | ||
编辑 | ✓ | ✓ | ✕ | ||
删除 | ✓ | ✓ | ✕ | ||
一般事件 | 查看 | ✓ | ✓ | ✓ | |
编辑展示名和描述 事件开关 字典 | ✓ | ✓ | ✕ | ||
事件属性 | 查看 | ✓ | ✓ | ✓ | |
编辑展示名和描述 对某事件开关 修改属性类型 字典 | ✓ | ✓ | ✕ | ||
公共属性 - SaaS 用户属性 - OP | 查看 | ✓ | ✓ | ✓ | |
编辑展示名和描述 属性开关 字典 | ✓ | ✓ | ✕ | ||
会话管理 | 查看 | ✓ | ✓ | ✓ | |
编辑/创建 | ✓ | ✓ | ✕ | ||
自定义 Session | 查看 | ✓ | ✓ | ✓ | |
编辑/创建 | ✓ | ✓ | ✕ | ||
圈选事件 | 查看 | ✓ | ✓ | ✓ | |
编辑/创建 | ✓ | ✓ | ✕ | ||
业务对象 | 查看 | ✓ | ✓ | ✓ | |
编辑/创建 | ✓ | ✓ | ✕ |
集团管理中不含个人功能:我的工单、信息中心及个人资料
看板权限可以查看:看板权限说明
图表的默认可见范围为对成员私有。其它成员身份的用户在产品内只能通过 有权限访问的看板 查看到他人的图表,但只能看到自己有权限的数据。可以通过看板进入图表,能发起自己有权限的查询,但无法保存。
具体操作权限列举如下:
图表相关操作 | 图表归属权 | 该「用户身份」是否有相关操作权限 | ||
---|---|---|---|---|
集团管理员(集团内) | 管理员(有权限的应用内) | 成员 | ||
发起查询 | 本人 | ✅ | ✅ | ✅ |
他人 | ✅ | ✅ | ✅ | |
另存为 | 本人 | ✅ | ✅ | ✅ |
他人 | ✅ | ✅ | ✅ | |
下载详细数据 | 本人 | ✅ | ✅ | ✅ |
他人 | ✅ | ✅ | ✅ | |
添加监控 | 本人 | ✅ | ✅ | ✅ |
他人 | ❌ | ❌ | ❌ | |
添加到看板 | 本人 | ✅ | ✅ | ✅ |
他人 | ❌ | ❌ | ❌ | |
显微镜 | 本人 | ✅ | ✅ | ✅ |
他人 | ✅ | ✅ | ✅ | |
查看图表 | 本人 | ✅ | ✅ | ✅ |
他人 | ✅ | ✅ | ✅ | |
保存图表 | 本人 | ✅ | ✅ | ✅ |
他人 | ❌ | ❌ | ❌ | |
删除图表 | 本人 | ✅ | ✅ | ❌ |
他人 | ❌ | ❌ | ❌ | |
查看别人通过看板分享的图表 | 他人 | ✅ | ✅ | ✅ |
查看别人分享的未保存查询图表 | 他人 | ✅ | ✅ | ✅ |
分群操作 | 分群归属 | 集团管理员(集团内) | 管理员(有权限应用内) | 成员 |
---|---|---|---|---|
创建 | 不限 | ✓ | ✓ | ✓ |
查看样本 | 不限 | ✓ | ✓ | ✓ |
复制 | 不限 | ✓ | ✓ | ✓ |
用于分析 | 不限 | ✓ | ✓ | ✓ |
导出 | 不限 | ✓ | ✓ | ✓ |
刷新、计数 | 自己 | ✓ | ✓ | ✓ |
编辑 | 自己 | ✓ | ✓ | ✓ |
删除 | 自己 | ✓ | ✓ | ✓ |
刷新、计数 | 他人 | ✓ | ✓ | |
编辑 | 他人 | |||
删除 | 他人 | ✓ | ✓ |
操作 | 归属 | 集团管理员(集团内) | 管理员(有权限应用内) | 成员 |
---|---|---|---|---|
查看 | 不限 | ✓ | ✓ | ✓ |
创建 | 不限 | ✓ | ✓ | ✓ |
复制 | 不限 | ✓ | ✓ | ✓ |
编辑 | 不限 | ✓ | ✓ | ✓ |
删除 | 不限 | ✓ | ✓ | ✓ |
操作 | 分群归属 | 集团管理员(集团内) | 管理员(有权限应用内) | 成员 |
---|---|---|---|---|
查看 | 不限 | ✓ | ✓ | ✓ |
创建 | 不限 | ✓ | ✓ | ✓ |
编辑 | 不限 | ✓ | ✓ | ✓ |
删除 | 不限 | ✓ | ✓ | ✓ |
操作 | 归属 | 集团管理员(集团内) | 管理员(有权限应用内) | 成员 |
---|---|---|---|---|
查看 | 不限 | ✓ | ✓ | ✓ |
创建 | 不限 | ✓ | ✓ | ✓ |
编辑 | 不限 | ✓ | ✓ | ✓ |
删除 | 不限 | ✓ | ✓ | ✓ |
数据范围:始终基于所属图表的创建者的最新权限范围计算的结果校验。
事件属性:计算时检测到无权限时将监控设置为禁用,系统会发送站内提醒。
数据权限是权限系统中针对“成员”角色进行的数据范围限制和属性脱敏的设置:
当角色的身份是成员时,可进行数据权限的管理:
包含 | 不含 | |
---|---|---|
查询及功能 | 所有与用户和角色有关的查询,具体为:所有基本分析(包含被添加到看板后)所有高级分析(包含被添加到看板后)用户分群监控告警 | 行为细查自定义查询OpenAPI推送运营、错误分析、抖音分析数据管理(一般事件管理、事件属性管理、公共属性管理) |
事件 | 一般事件, 虚拟事件, 圈选事件 | 被禁用的事件 |
属性种类 | 事件属性(需增加特殊属性:事件发生时间 event_date + time/server_time)公共属性用户属性(仅私有化) | 被禁用的属性业务对象属性用户分群新老用户 |
属性类型 | string, int, float, datetime | list |
一般事件、虚拟事件和圈选事件(部分事件包含所选属性)中没有相关属性的事件,查询和计算方式均按照相关属性值按 null 处理,也参与权限过滤;
公共属性和事件属性的查询和计算方式,均按照全部用户以及符合事件属性条件的数据处理。
以如下数据为例:
虚拟事件ID | 事件ID | 商品类别 | 城市 | 金额 | 模块 | 事件发生时间 |
---|---|---|---|---|---|---|
1 | 1 | 鞋帽 | 北京 | 66 | 首页 | 2020年11月1日 |
1 | 2 | 衣服 | 南京 | 50 | 商城页 | 2020年11月2日 |
1 | 3 | 上海 | 2020年11月3日 | |||
2 | 4 | 眼镜 | 深圳 | 8 | 商城页 | 2020年11月4日 |
2 | 5 | 衣服 | 北京 | 81 | 商城页 | 2020年11月4日 |
用户受限条件为:金额 > 10
加粗展示内容代表根据查询条件及数据范围限制得到的结果。
条件1:受限用户查询一般事件ID = 3。没有得到任何结果。
虚拟事件ID | 事件ID | 商品类别 | 城市 | 金额 | 模块 | 事件发生时间 |
---|---|---|---|---|---|---|
1 | 1 | 鞋帽 | 北京 | 66 | 首页 | 2020年11月1日 |
1 | 2 | 衣服 | 南京 | 50 | 商城页 | 2020年11月2日 |
1 | 3 | 上海 | 2020年11月3日 | |||
2 | 4 | 眼镜 | 深圳 | 8 | 商城页 | 2020年11月4日 |
2 | 5 | 衣服 | 北京 | 81 | 商城页 | 2020年11月4日 |
条件2:受限用户查询虚拟事件ID = 1。得到第2、3行。
虚拟事件ID | 事件ID | 商品类别 | 城市 | 金额 | 模块 | 事件发生时间 |
---|---|---|---|---|---|---|
1 | 1 | 鞋帽 | 北京 | 66 | 首页 | 2020年11月1日 |
1 | 2 | 衣服 | 南京 | 50 | 商城页 | 2020年11月2日 |
1 | 3 | 上海 | 2020年11月3日 | |||
2 | 4 | 眼镜 | 深圳 | 8 | 商城页 | 2020年11月4日 |
2 | 5 | 衣服 | 北京 | 81 | 商城页 | 2020年11月4日 |
某个用户存在多个有属性条件限制的角色时,遵循条件之间各自生效的原则,其最终数据范围由每个角色的属性条件限制的结果聚合决定。也就是各个角色(或个人)的属性条件限制得到的结果取并集并去重。
结合下面的数据举例,默认情况下,所有数据都可查询( 加粗展示 )。
ID | 商品类别 | 城市 | 金额 | 模块 | 事件发生时间 |
---|---|---|---|---|---|
1 | 鞋帽 | 北京 | 66 | 首页 | 2020年11月1日 |
2 | 衣服 | 南京 | 50 | 商城页 | 2020年11月2日 |
3 | 衣服 | 上海 | 101 | 首页 | 2020年11月3日 |
4 | 眼镜 | 深圳 | 8 | 商城页 | 2020年11月4日 |
5 | 衣服 | 北京 | 81 | 商城页 | 2020年11月4日 |
例1:相同条件时,角色R1仅允许查看“城市=北京”的数据,角色R2仅允许查看“城市=南京”的数据。两个角色都给到用户U1时,两个授权彼此应各自生效,即用户既能查看“城市=南京”的数据,也能查看“城市=北京”的数据。
用户 | 角色 | 属性条件限制 | |||
---|---|---|---|---|---|
U1 | R1 | 城市 = 北京 | |||
U1 | R2 | 城市 = 南京 | |||
U1 | 最终 | 城市 = 南京, 北京 | |||
ID | 商品类别 | 城市 | 金额 | 模块 | 事件发生时间 |
1 | 鞋帽 | 北京 | 66 | 首页 | 2020年11月1日 |
2 | 衣服 | 南京 | 50 | 商城页 | 2020年11月2日 |
3 | 衣服 | 上海 | 101 | 首页 | 2020年11月3日 |
4 | 眼镜 | 深圳 | 8 | 商城页 | 2020年11月4日 |
5 | 衣服 | 北京 | 81 | 商城页 | 2020年11月4日 |
例2:不同条件时,角色R3仅允许查看“城市=北京”的数据,角色R4仅允许查看“模块=首页”的数据。两个角色都给到用户U2时,两个授权彼此应各自生效,即用户能查看“城市=北京”和“模块=首页”的数据。
用户 | 角色 | 属性条件限制 | |||
---|---|---|---|---|---|
U2 | R3 | 城市 = 北京 | |||
U2 | R4 | 模块 = 首页 | |||
U2 | 最终 | 城市 = 北京 或 模块 = 首页 | |||
ID | 商品类别 | 城市 | 金额 | 模块 | 事件发生时间 |
1 | 鞋帽 | 北京 | 66 | 首页 | 2020年11月1日 |
2 | 衣服 | 南京 | 50 | 商城页 | 2020年11月2日 |
3 | 衣服 | 上海 | 101 | 首页 | 2020年11月3日 |
4 | 眼镜 | 深圳 | 8 | 商城页 | 2020年11月4日 |
5 | 衣服 | 北京 | 81 | 商城页 | 2020年11月4日 |
例3:有时候单个角色中的条件会非常多,而且不同角色的条件之间逻辑关系有可能也不同。但依然遵循条件之间各自生效的原则。
用户 | 角色 | 属性条件限制 | |||
---|---|---|---|---|---|
U3 | R5 | 城市 = 南京 且 模块 = 商城页 且 金额 < 66 | |||
U3 | R6 | 模块 = 首页 或 金额 > 100 或 金额 < 8 | |||
U3 | 最终 | (城市 = 南京 且 模块 = 商城页 且 金额 < 66 )或 (模块 = 首页 或 金额 > 100) | |||
ID | 商品类别 | 城市 | 金额 | 模块 | 事件发生时间 |
1 | 鞋帽 | 北京 | 66 | 首页 | 2020年11月1日 |
2 | 衣服 | 南京 | 50 | 商城页 | 2020年11月2日 |
3 | 衣服 | 上海 | 101 | 首页 | 2020年11月3日 |
4 | 眼镜 | 深圳 | 8 | 商城页 | 2020年11月4日 |
5 | 衣服 | 北京 | 81 | 商城页 | 2020年11月4日 |
当用户属于多个角色,而多个角色配置了不同的脱敏规则时,最终应取限制的并集后作用于用户。
举例如下:
角色A | 角色B | 最终限制 | |
---|---|---|---|
Case1 | 限制属性A | 限制属性B | 限制属性A,B |
Case2 | 限制属性A | 限制属性A |
属性类型 | 是否支持 | 脱敏显示的方式 |
---|---|---|
事件属性(含预置和自定义) | 支持 | 对值进行脱敏 |
用户属性 | 支持 | 同上 |
业务对象 | 支持 | 同上 |
虚拟属性 | 支持 | 参数:* 脱敏显示:不影响虚拟属性本身的可用性* 禁止使用:虚拟属性无效结果:* 进行脱敏 |
配置了维度字典的属性(含预置属性和用户自定义属性) | 支持 | 对翻译后的值进行脱敏 |
配置了脱敏显示的属性 | 配置了禁用过滤及分组的属性 | |
---|---|---|
指标计算结果 | 私有化4.5版本后无法查询数值类型指标 | 不适用 |
分组后的数据明细 | 脱敏显示 | 不适用 |
分组后的数据下载 | 脱敏显示 | 不可选 |
用户列表及属性导出 | 脱敏显示 | 不可选 |
用户细查的事件详情 | 脱敏显示 | 不可见 |
SQL 自定义查询的结果 | 脱敏显示 | 报错没有结果 |
查询API | 脱敏返回 | 报错没有结果 |
特别说明:
在数据管理中被禁用的事件和属性包括:一般事件、虚拟事件中包含的一般事件、事件属性和事件公共属性在数据管理中被禁用,或虚拟事件被删除。
处理方式如下:
在数据管理中被禁用(或虚拟事件被删除) | |
---|---|
一般事件、 虚拟事件 、虚拟事件 中的一般事件 | 查看禁用前已创建的图表: * 图表提示异常,无法查看和操作,所以属性条件限制不用对其生效 禁用后新建图表查询: * 属性条件限制仅对未禁用的事件生效 查看禁用前已创建的监控: * 状态应被关闭置为禁用 * 无法编辑 |
属性 | 查看禁用前已创建的图表查询: * 图表提示异常,无法查看和操作,所以属性条件限制不用对其生效 禁用后新建的图表查询: * 属性条件限制仅对未禁用的属性生效 |