Non-root users with correct query privileges are unable to select a empty timesereis
- 主要语言
- Java
- 星标
- 6.4k
- 派生
- 1.2k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 115
描述
How to reproduce:
```sql
# user: root
CREATE USER steve 'steve'
GRANT ROLE application_role PRIVILEGES 'SET_STORAGE_GROUP','CREATE_TIMESERIES','INSERT_TIMESERIES','READ_TIMESERIES','DELETE_TIMESERIES','DROP_FUNCTION','CREATE_FUNCTION','CREATE_TRIGGER','DROP_TRIGGER','START_TRIGGER','STOP_TRIGGER' ON root.test
GRANT application_role TO steve
```
```sql
# user: steve
select sin(s1) from root.test where time >= 2021-01-01 and time<= 2021-01-31 23:59:59
```
Then, you will get:

贡献指南
调研方向
首先,以用户 steve 的身份复现 SQL 设置和 SELECT,然后在空的 root.test 时间序列上将其行为与 root 用户进行比较。查看已关闭的 pull request #4423 以了解之前的上下文;完成的标准是,具有所列查询权限的非 root 用户可以从空的时间序列中进行 SELECT,而不会出现授权错误。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, sql
- 领域
- authorization, databases
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100