資料地址:http://down.51cto.com/data/2459472
rbac規(guī)范 解決不規(guī)范和不確定的問題
3.術(shù)語(yǔ)
{
組件 component 四個(gè)RBAC特征集之一(核心RBAC 層次RBAC 靜態(tài)職責(zé)分離關(guān)系 動(dòng)態(tài)職責(zé)分離關(guān)系)
對(duì)象 object 需要進(jìn)行訪問控制的系統(tǒng)資源
操作 operation 一個(gè)程序的可執(zhí)行映像,被調(diào)用時(shí)為用戶執(zhí)行的某些功能 GET
權(quán)限 permission 對(duì)受RBAC保護(hù)的一個(gè)或多個(gè)對(duì)象執(zhí)行某個(gè)操作的許可
角色 role 組織語(yǔ)境中的一個(gè)工作職能
用戶 user 進(jìn)行資源或服務(wù)訪問的實(shí)施主體
會(huì)話 session 用戶到其激活的角色集合的一個(gè)映射
職責(zé)分離 separation of duty 限制用戶獲取存在利益沖突的權(quán)限集的約束
}
4.縮略語(yǔ)
{
1.RBAC 基于角色的訪問控制
2.SSD
3.DSD
4.USERS
5.ROLES
6.OBJS
7.OPS
8.SESSIONS
9.PRMS
10.ACL 訪問控制列表
}
5.一致性
核心RBAC是必選組件 ,角色層次、靜態(tài)約束、動(dòng)態(tài)約束是可選組件
6.RBAC參考模型
每個(gè)模型組件的定義:一些基本的元素集、一些基于上述基本元素集的RBAC關(guān)系、一些映射函數(shù)(給定某個(gè)元素集的實(shí)例元素下得到另一個(gè)元素集的某些實(shí)例元素)
{
1.核心RBAC
{
五個(gè)基本數(shù)據(jù)元素:users roles objs ops prms 權(quán)限分給角色 角色分給用戶
用戶會(huì)話集 會(huì)話是 從用戶到該用戶的角色集的某個(gè)激活角色子集的映射
一個(gè)會(huì)話只能關(guān)聯(lián)一個(gè)用戶
一個(gè)用戶可以同時(shí)擁有多個(gè)會(huì)話
會(huì)話保存該用戶激活的角色子集,包含該用戶激活的角色的可用權(quán)限,權(quán)限包含相關(guān)的操作 權(quán)限包含相關(guān)對(duì)象
規(guī)范
1.users、roles、ops、objs。
2.用戶/角色多對(duì)多映射
3.給出分配給角色r的用戶
4.權(quán)限集
5.權(quán)限/角色多對(duì)多映射
6.給出分配給角色r的權(quán)限
7.權(quán)限到操作的映射
8.權(quán)限到對(duì)象的映射
9.會(huì)話集
10.會(huì)話s到對(duì)應(yīng)用戶的映射
11.會(huì)話s到其激活的角色集的映射
12.會(huì)話s到其擁有權(quán)限集的映射
}
2.層次RBAC
{
角色層次有效的反應(yīng)組織內(nèi)權(quán)威和責(zé)任的結(jié)構(gòu)
r1繼承r2,則r1擁有r2全部權(quán)限和自己的權(quán)限
某些分布式RBAC實(shí)現(xiàn)中,角色層次集中管理,權(quán)限/角色分配非集中管理
兩種角色層次類型:通用角色層次、受限角色層次(一個(gè)角色可以擁有一個(gè)或者多個(gè)直接祖先,但只能有一個(gè)直接后代,一個(gè)樹)
通用角色層次擴(kuò)展的規(guī)范:
1.繼承的角色之間的偏序關(guān)系 r1>=r2 r1擁有r2的所有權(quán)限且r1的用戶將是r2的用戶
2.角色層次存在的情況下,角色到該角色授權(quán)用戶的映射
3.角色層次下角色到授權(quán)權(quán)限的映射
}
3.帶約束的RBAC
{
靜態(tài)職責(zé)分離關(guān)系
無(wú)角色層次的靜態(tài)職責(zé)分離
(rs,n) 用戶不能同時(shí)被rs中的n個(gè)或多個(gè)角色分配
有角色層次的靜態(tài)職責(zé)分離
(rs,n) 基于角色的授權(quán)用戶,而不是直接分配了該角色的用戶進(jìn)行重新定義
動(dòng)態(tài)職責(zé)分離關(guān)系
}
}
7.RBAC系統(tǒng)和管理功能規(guī)范
功能規(guī)范描述
創(chuàng)建和維護(hù)RBAC元素集和RBAC關(guān)系的管理操作
進(jìn)行管理查詢的管理查看函數(shù)
創(chuàng)建和維護(hù)用戶會(huì)話的RBAC屬性和進(jìn)行訪問控制決策的系統(tǒng)函數(shù)
{
核心RBAC
{
管理函數(shù)
1.AddUser 當(dāng)新建的用戶尚不存在時(shí),該命令可用 ,命令執(zhí)行后 users更新
2.DeleteUser 當(dāng)且僅當(dāng)被刪除的用戶在users中可用,
被執(zhí)行后 users數(shù)據(jù)集 ua數(shù)據(jù)集 assigned_users函數(shù)被更新
一個(gè)正處在會(huì)話中的用戶被刪除,不做定義,可以強(qiáng)制也可以等待會(huì)話結(jié)束
3.AddRole 當(dāng)且僅當(dāng)要?jiǎng)?chuàng)建的角色不存在可用
被執(zhí)行后 roles數(shù)據(jù)集、assigned_users assigned_permissions函數(shù)被更新
4.DeleteRole 當(dāng)且僅當(dāng)被刪除的角色存在時(shí)可用
被執(zhí)行后 會(huì)話中的被集火的角色如何處理未定義
roles數(shù)據(jù)集、assigned_users assigned_permissions函數(shù)被更新
5.AssignUser 給用戶分配角色 當(dāng)且僅當(dāng)用戶屬于users 角色屬于roles可用
被執(zhí)行后 UA數(shù)據(jù)集、assigned_users被更新
6.DeassignUser 用戶移除角色 當(dāng)且僅當(dāng)用戶屬于users 角色屬于roles 且user已經(jīng)被分配給該role可用
被執(zhí)行后 UA數(shù)據(jù)集、assigned_users被更新
7.GrantPermission 給角色分配對(duì)一個(gè)對(duì)象執(zhí)行某個(gè)操作的權(quán)限 當(dāng)且僅當(dāng)操作、對(duì)象代表一個(gè)權(quán)限且角色在roles中。實(shí)際實(shí)現(xiàn)中可能實(shí)現(xiàn)為授予對(duì)應(yīng)該角色的組相應(yīng)的權(quán)限,即修改對(duì)象的ACL
被執(zhí)行后 PA數(shù)據(jù)集 assigned_permissions函數(shù)被更新
8.RevokePermission 撤銷分配給角色的權(quán)限集中的某個(gè)權(quán)限 當(dāng)且僅當(dāng)操作代表一個(gè)權(quán)限且已經(jīng)分配給該角色 實(shí)際實(shí)現(xiàn)可能會(huì)修改對(duì)象的ACL表
被執(zhí)行后 PA數(shù)據(jù)集 assigned_permissions函數(shù)被更新
系統(tǒng)函數(shù)
1.CreateSession
}
層次RBAC
{
}
靜態(tài)職責(zé)分離關(guān)系
{
}
動(dòng)態(tài)職責(zé)分離關(guān)系
{
}
}
第六章 從元素集、關(guān)系、管理查詢的角度吧RBAC參考模型定義為四個(gè)模型組件
附件1
從管理操作、會(huì)話管理、管理查看的功能規(guī)范的角度討論抽象的模型
1.核心RBAC功能規(guī)范
{
三類功能規(guī)范函數(shù)
1.管理函數(shù)
核心RBAC基本元素:users、roles、ops、objs。
ops和objs由部署RBAC的底層系統(tǒng)定義,
管理員可以創(chuàng)建、刪除users、roles的成員, 并創(chuàng)建角色、操作與對(duì)象之間的聯(lián)系
AddUser DeleteUser user
AddRole DeleteRole role
AssignUser DeassignUser UA user-role
GrantPermission RevokePermission PA perm-role
2.支持系統(tǒng)函數(shù)
會(huì)話管理、訪問控制決策
CreateSession 創(chuàng)建會(huì)話并給會(huì)話指定一組缺省激活角色
AddActiveRole 向會(huì)話的激活角色集中添加一個(gè)角色
DropActiveRole 從會(huì)話的激活角色集中刪除一個(gè)角色
CheckAccess 判斷會(huì)話主體是否可以對(duì)某個(gè)對(duì)象執(zhí)行某個(gè)操作
3.查看函數(shù)
PA UA實(shí)例被建立后,應(yīng)該可以從用戶和角色的角度去查看他們的內(nèi)容
可選函數(shù)O
UserPermission O 返回用戶的可用權(quán)限
SessionRoles O 返回會(huì)話的激活角色集
SessionPermissions O 返回會(huì)話可用的權(quán)限
RoleOperationsOnObject O 返回給定角色針對(duì)給定對(duì)象可以執(zhí)行的操作
UserOperationsOnObject O 返回給定用戶針對(duì)給定對(duì)象可以執(zhí)行的操作
強(qiáng)制函數(shù)M
AssignedUsers M 返回分配了給定角色的用戶
AssignedRoles M 返回分配給了給定用戶的角色
}
2.層次RBAC功能規(guī)范
{
1.層次管理函數(shù)
包含核心RBAC的所有管理函數(shù),且DeassignUser的語(yǔ)義需要重新定義(只可以刪除直接授權(quán)的角色 還是可以刪除任何被授權(quán)的角色沒有給出規(guī)定)
層次RBAC需要額外的管理函數(shù):
創(chuàng)建和刪除現(xiàn)存角色間的直接繼承關(guān)系、、把一個(gè)新創(chuàng)建的角色加入現(xiàn)存的角色層次中
AddInHeritance 在現(xiàn)存的兩個(gè)角色之間創(chuàng)建直接繼承關(guān)系
DeleteInheritance 刪除兩個(gè)現(xiàn)存的角色之間的直接繼承關(guān)系 隱含繼承關(guān)系是否打破沒有給出要求,自行定義
AddAsendant 創(chuàng)建新角色,并把它指定為一個(gè)現(xiàn)存角色的直接祖先
AddDescendant 創(chuàng)建一個(gè)角色,并把它指定為一個(gè)現(xiàn)存角色的直接后代
---支持通用角色層次(允許多重繼承)和首先角色層次(一個(gè)樹,每個(gè)角色只有一個(gè)直接后代)
2.支持系統(tǒng)函數(shù)
CreateSession AddActiveRole 因?yàn)榻巧珜哟蔚拇嬖谛枰匦露x
CreateSession 創(chuàng)建的激活角色集包含直接給用戶分配的角色和這些角色繼承的角色
AddActiveRole 用戶可以激活 直接分配的角色和繼承的角色。繼承的角色是自動(dòng)激活還是必須顯示的激活不做明確要求
3.查看函數(shù)
包含核心RBAC且增加如下函數(shù)
AuthorizedUser 返回分配了給定角色或該角色繼承的角色的用戶(給定角色的授權(quán)用戶)
AuthorizedRoles 返回給定用戶北直街分配的角色和繼承這些角色的角色(給定用戶的授權(quán)角色)
可選函數(shù)
RolePermissions 返回給定角色直接或繼承來(lái)的權(quán)限
UserPermissions 返回給定用戶直接分給的角色或繼承自其他角色獲得的權(quán)限
RoleOperationsOnObject 返回給定角色擁有的針對(duì)給定對(duì)象執(zhí)行的操作(直接或繼承來(lái)的)
UserOperationsOnObject 返回給定用戶可以執(zhí)行的針對(duì)給定對(duì)象的操作(通過(guò)直接分配的角色或這些角色繼承的角色)
}
3.靜態(tài)職責(zé)分離關(guān)系功能規(guī)范
{
1.管理函數(shù)
SSD限制用戶同事可以分配的角色,AssignUser應(yīng)該不違背任何SSD約束
一個(gè)SSD關(guān)系有三元組組成: SSD_Set_Name role_set SSD_Card
SSD_Set_Name 指定了要限制用戶/角色分配以貫徹利益沖突策略的事務(wù)或商業(yè)過(guò)程的名稱
role_set 是 SSD_Set_Name 對(duì)應(yīng)的角色集
SSD_Card 給出了閾值
非角色層次SSD RBAC管理函數(shù)
CreateSSDSet 創(chuàng)建一個(gè)命名的SSD關(guān)系
DeleteSSDSet 刪除一個(gè)現(xiàn)存的SSD關(guān)系
AddSSDRoleMember 添加一個(gè)角色到給定SSD角色集
DeleteSSDRoleMember 從一個(gè)給定的SSD角色集刪除一個(gè)角色
SertSSDCardinality 為給定的SSD角色集設(shè)置閾值
--角色層次SSD只需要針對(duì)角色層次的組合約束和SSD約束都應(yīng)該滿足
2.支持系統(tǒng)函數(shù)
和核心RBAC一直
3.查看函數(shù)
核心RBAC和如下函數(shù):
SSDRoleSets 返回SSD RBAC中的命名SSD關(guān)系
SSDRoleSetRoles 返回與給定命名角色集關(guān)聯(lián)的角色
SSDRoleSetCardinality 返回與命名的給定角色集關(guān)聯(lián)的閾值
}
4.動(dòng)態(tài)職責(zé)分離關(guān)系功能規(guī)范
{
1.管理功能
CreateDSDSet
DeleteDSDSet
AddDSDRoleMember
DeleteDSDRoleMember
SetDSDCardinality
2.支持系統(tǒng)函數(shù)
CreateSession AddActiveRole DropActiveRole不能違反DSD約束
3.查看函數(shù)
DSDRoleSets
DSDRoleSetRoles
DSDRoleSetCardinality
}
4.功能規(guī)范包
RBAC是一項(xiàng)提供諸多訪問控制管理特征的技術(shù)
第六章定義的一個(gè)功能組件族:核心RBAC 層次RBAC 靜態(tài)職責(zé)分離關(guān)系 動(dòng)態(tài)職責(zé)分離關(guān)系
每個(gè)功能組件包含三部分:創(chuàng)建和維護(hù)RBAC元素集和關(guān)系的管理操作、管理查看函數(shù)、系統(tǒng)級(jí)別的用戶會(huì)話管理和訪問控制策略的函數(shù)
{
(高級(jí)查看是可選的 )
(必選)核心RBAC -> (可選)角色層次RBAC(受限/通用二選一) -> (可選)SSD關(guān)系(遵循依賴 有/無(wú)角色層次與上一選擇對(duì)應(yīng)) -> (可選)DSD關(guān)系 -> 需求包
}
-----------------------------------------------------
組件原理
1.核心RBAC
{
用戶/角色 多對(duì)多
角色/權(quán)限 多對(duì)多
}
2.層次RBAC
{
角色層次是數(shù)學(xué)上的偏序關(guān)系
角色可以擁有重合的權(quán)限
}
3.靜態(tài)職責(zé)分離關(guān)系
對(duì)用戶/角色分配進(jìn)行約束 實(shí)施利益沖突策略
(role_set,n)的對(duì),用戶不能被分配屬于role_set角色集的n個(gè)或更多個(gè)角色
常對(duì)可能違反高層組織職責(zé)分離策略的管理操作施加限制
4.動(dòng)態(tài)職責(zé)分離關(guān)系
和SSD不同的是上下文
DSD通過(guò)限制永不會(huì)話中可以被激活的角色來(lái)限制用戶權(quán)限的可用性
一個(gè)用戶被分配兩個(gè)獨(dú)立的角色,但是這兩個(gè)角色不可以同時(shí)行使權(quán)限
--------------------------
Z語(yǔ)言:
基本單位:模式:說(shuō)明部分+謂詞部分
說(shuō)明部分:定義一些狀態(tài)或模式變量
謂詞部分:定義一般的謂詞公式
-------------------------------------
https://casbin.org/docs/zh-CN/rbac
1.插件
{
1.策略存儲(chǔ)插件
https://github.com/search?q=org%3Acasbin+adapter&unscoped_q=adapter
file gorm xorm mongodb redis protobuf redis json awss3
2.策略同步插件
https://github.com/casbin/etcd-watcher
https://github.com/billcobbler/casbin-redis-watcher
redis etcd
3.角色管理插件
...
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站名稱:RBAC規(guī)范和對(duì)應(yīng)實(shí)現(xiàn)方案推薦-創(chuàng)新互聯(lián)
文章起源:http://www.chinadenli.net/article14/dcsige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、做網(wǎng)站、動(dòng)態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容