账号授权和细粒度授权
在身份管理体系中,认证解决"你是谁"的问题,而授权解决"你能做什么"的问题。竹云 IDaaS 提供两种授权能力:账号授权和细粒度授权。
什么是账号授权
账号授权描述的是 IDaaS 用户 与 应用账号 之间的绑定关系。
核心概念
一个 IDaaS 用户在不同应用系统中可以拥有多个应用账号,形成 1 : N 的关系:
IDaaS 用户 (张三)
├── 应用 A 账号: zhangsan@a.com
├── 应用 B 账号: zs001
└── 应用 C 账号: 13800138000授权动作与效果
| 维度 | 说明 |
|---|---|
| 授权动作 | 管理员为某个用户分配访问某个应用的权限 |
| 授权效果 | 该用户使用指定账号访问目标应用 |
账号授权解决了"用户能访问哪些应用"的问题,是应用级权限管理的基础。
什么是细粒度授权
细粒度授权(又称数据范围授权)是在账号授权基础上的进一步细化。它解决的是:同一应用内,不同用户能看到和操作的数据范围不同。
典型场景
| 场景 | 说明 |
|---|---|
| 区域隔离 | 华北区销售只能查看华北客户数据,华东区销售只能查看华东客户数据 |
| 职级隔离 | 普通员工只能查看自己的数据,部门经理可以查看全部门数据,高管可以查看全公司数据 |
| 项目隔离 | 项目成员只能访问所属项目的数据,项目经理可以跨项目查看 |
与账号授权的区别
| 对比项 | 账号授权 | 细粒度授权 |
|---|---|---|
| 控制粒度 | 应用级别 | 应用内数据级别 |
| 解决的问题 | 能否访问应用 | 应用内能操作哪些数据 |
| 配置方式 | 绑定用户与应用账号 | 配置数据过滤规则 |
细粒度授权通常需要应用侧配合实现数据过滤,IDaaS 负责将用户的权限范围信息通过令牌或断言传递给应用。