实现基于角色的访问控制(RBAC)
Posted Authing认证云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现基于角色的访问控制(RBAC)相关的知识,希望对你有一定的参考价值。
认证是识别请求方是谁的过程;
授权是知道了请求方是谁之后,判断其是否具备某些权限的过程;
认证手段有:传统密码、验证码登录、丰富的第三方登录(微信、小程序、微博、GitHub、支付宝、QQ 等,未来还会有更多),以及企业级的 LDAP、SAML、OIDC 等。
授权手段有:完整的 OAuth、OIDC 流程。
老版本的用户角色(deprecated)
RBAC
ABAC(未来即将支持)
YES :当前支持。
In future release :已加入未来规划,不久后将会支持。
To be determined :还在设计是否需要添加此功能。
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
系统性、可重复性的权限指派
更方便的用户权限审计,快速定位问题
快速地添加、修改角色,甚至可以调用 API 实现
减少授予用户权限时发生错误的可能性
引入第三方用户/新用户/未登录用户时,赋予他们预先配置好的角色,比如 guest 分组
分组:Employee, Contractor
角色:Vacation Requester, Invoice Submitter, Express Submitter
权限:Read vacation requests, Create vacation requests 等
角色是一组权限的集合。
分组侧重于管理用户,一个分组通常拥有多个角色,分组内的用户会继承分组内所有角色的所有权限。
Group
admin: 系统管理员,通常包含系统维护者。
employee: 正式雇员。
employer: 面试官。
hr
intern: 实习生
ops_engineer: 运维工程师
Role
Invoice Submitter: 具备发票报销的相关权限。
Vacation Requester: 具备申请假期的相关权限。
Production Server Operator: 具备线上服务器的操作权限。
HR App User: 具备使用 HR 系统的相关权限。
employee 拥有发票报销和申请假期角色,但是不具备线上服务器的操作权限。
ops_engineer 拥有发票报销、申请假期、线上服务器的角色。
以上是关于实现基于角色的访问控制(RBAC)的主要内容,如果未能解决你的问题,请参考以下文章