亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創(chuang)

AOneID權限服務(概念篇)

2024-11-12 09:34:14
71
0

概述

AOneID是天翼云AOne產品系列中的IDaaS(身份即服務,Identifier as a Service)創新成果,目標是打造一個強大且基于IDaaS理念的身份管理系統,
它能夠無縫鏈接企業成員與應用程序,使得員工只需單一身份,就能安全高效地訪問所有企業應用。在AOneId中,用戶可以通過預配置的認證選項和
便捷的應用集成功能,輕松搭(da)建(jian)自(zi)定義的用戶管理體系。

作為標準的IDaaS解決方案,向應用程序提供權限管理是其核心功能之一。然而,由于可能需要針對客戶的特定應用進行定制開發,這常常使人感到挑
戰(zhan)重重。本文意在揭示(shi)這一既神(shen)秘又(you)強大的(de)功能模塊(kuai),逐步揭開它的(de)面紗(sha)。

相關概念

在開(kai)始(shi)之前,我們先問一(yi)個問題:

什么是權限?

這個問題在不(bu)同的(de)場(chang)景下,有很多種(zhong)表述,如果(guo)你去問KIMI“權限的(de)定義”時(shi),會(hui)得到這樣的(de)回答(da):

權限(Permission)在不同的(de)上下文中有著不同的(de)定義,但通常它指的(de)是在計算(suan)機科(ke)學(xue)、網絡安(an)全和組織(zhi)管理中,對(dui)特(te)定資源的(de)訪問和操作的(de)授(shou)權

簡單來講,就是

是(shi)否禁止或允許(xu)某人對某種(zhong)(zhong)資源進行某種(zhong)(zhong)操作

經過技(ji)術化建模,我們可以得到(dao)一些技(ji)術概念(nian)。

效果

效(xiao)果(guo)(Effect)指的是(shi)(shi)是(shi)(shi)否(fou)允(yun)許(Allow)或者禁止(Deny),如果(guo)是(shi)(shi)允(yun)許,則表明(ming)具備權限(xian)(xian),如果(guo)是(shi)(shi)禁止,表明(ming)不具備權限(xian)(xian)。

動作和資源

所(suo)謂動作(Action)指的是(shi)(shi)上面所(suo)說的“某(mou)種操作”,資源(Resource)指的是(shi)(shi)上面所(suo)說的“某(mou)種資源”,之所(suo)以在這里(li)并(bing)列提起,是(shi)(shi)因為動作和資源的分界

并非很(hen)嚴格,需要(yao)根(gen)據具體的場景(jing)來(lai)做規劃。

案例1

例如(ru)(ru),在(zai)API權(quan)限(xian)場景,我們可(ke)以(yi)把Http方(fang)法(Method)作為Action來編(bian)碼,把接口(kou)路徑作為資源來編(bian)碼。假(jia)設(she)我們現在(zai)有(you)一個API接口(kou),權(quan)限(xian)可(ke)以(yi)設(she)計(ji)如(ru)(ru)下:

Action Resource 說明
GET /org/{orgId} 獲取指定機構的信息
PUT /org/{orgId} 全量更新指定機構的屬性
DELETE /org/{orgId} 刪除指定的機構
PATCH /org/{orgId} 更新指定機構的某個屬性

案例2

例如,在工(gong)具(ju)欄場景,我們可以(yi)把接口路徑來做為(wei)Action,把操作對象作為(wei)Resource,權限設計可以(yi)如下:

Action Resource 說明
/org/get {orgId} 獲取指定機構的信息
/org/update {orgId} 全量更新指定機構的屬性
/org/delete {orgId} 刪除指定的機構
/org/patch {orgId} 更新指定機構的某個屬性

授權實體

授權實體(ti)(Entity)指的是(shi)(shi)上面所說“某(mou)(mou)人(ren)”及其擴展或分組(zu)。例(li)如“某(mou)(mou)人(ren)”不一定是(shi)(shi)用戶(hu)(hu),也可以(yi)是(shi)(shi)應用,“某(mou)(mou)人(ren)”不一定是(shi)(shi)某(mou)(mou)個具體(ti)用戶(hu)(hu),而是(shi)(shi)一個群體(ti)(機構、用戶(hu)(hu)組(zu)等)。

用戶

用(yong)戶是授(shou)權實(shi)體的(de)一種(zhong),指的(de)是具(ju)體的(de)用(yong)戶。

應用

應用(yong)是授權實體的(de)(de)一種(zhong),指(zhi)的(de)(de)是平(ping)臺上的(de)(de)應用(yong),屬于“某人”概念上的(de)(de)擴展(zhan)。

用戶組

用戶組(zu)是(shi)授權(quan)實體的(de)一(yi)種(zhong),指的(de)是(shi)一(yi)組(zu)用戶,屬于“某人”概(gai)念的(de)分組(zu)。

機構

機(ji)(ji)構(gou)是授權實體的(de)一種,屬于(yu)“某(mou)人”概念的(de)分(fen)組。和用戶(hu)組不同的(de)是,機(ji)(ji)構(gou)是樹(shu)形結構(gou)的(de)分(fen)組,父機(ji)(ji)構(gou)的(de)授權需要自動(dong)擴(kuo)展到子機(ji)(ji)構(gou)。

權限策略

權(quan)限策(ce)略(Policy)定義了(le)一些列的權(quan)限規(gui)(gui)則(ze),這些規(gui)(gui)則(ze)為(wei)最(zui)終的權(quan)限校驗提供了(le)依據(ju)。每條策(ce)略都明確(que)表達了(le)一條規(gui)(gui)則(ze):

是否禁止或允(yun)許某(mou)(mou)人對某(mou)(mou)種資源進行某(mou)(mou)種操(cao)作(zuo)

在AoneID中(zhong),權(quan)限策略表達(da)如下:

屬性 說明
entity_type 授權實體類型,包括:角色(role),用戶(user),用戶組(team),機構(org)
entity_id 授權實體的ID,根據實體類型不同而表達不同含義,例如如果entity_type為user,則表示為用戶id
action_expr 動作表達式,支持*通配符
resource_expr 資源表達式,支持*通配符
eff_date 生效時間
exp_date 失效時間
effect 效果

從上述的表達中,可以看出三點(dian):

1、在(zai)策略中,并(bing)不需要枚舉所有(you)(you)的動作和資源(yuan),而(er)是可(ke)以使用(yong)通配符來匹配資源(yuan),例如/org/*可(ke)以代表(biao)所有(you)(you)以/org/為(wei)前綴的接口路徑;

2、策(ce)略(lve)是有有效期的,可以進行(xing)臨(lin)時(shi)授權;

3、可以(yi)直(zhi)接指定授權(quan)對象進行直(zhi)接授權(quan),也可以(yi)通過角色(se)(role)進行間接授權(quan);

在實際的權(quan)限校驗中,一(yi)次判斷會(hui)匹配(pei)出多條(tiao)策(ce)略(lve)(lve),這些策(ce)略(lve)(lve)往(wang)往(wang)是(shi)相互(hu)沖突,相互(hu)覆(fu)蓋的,這一(yi)點(dian)在后面進行討(tao)論

角色

角(jiao)色(se)是權(quan)限策略(lve)的組(zu)合,一個角(jiao)色(se)可以包含多條策略(lve),同時(shi),也可以將角(jiao)色(se)授權(quan)給(gei)多個授權(quan)對象(用戶(hu),用戶(hu)組(zu),機(ji)構,應用等(deng)),這種授權(quan)可以稱為間接授權(quan)。

間接授權在實(shi)操中更(geng)有(you)效率,但沒(mei)有(you)直(zhi)接授權靈活,兩者可以(yi)搭(da)配靈活使用。

令人遺(yi)憾(han)的是,AOneID當前版(ban)本(ben)雖然模型上(shang)支(zhi)持直接(jie)授權,但在界面上(shang)并不支(zhi)持直接(jie)授權

權限空間

上面的概念只是RBAC的基本思(si)想,對于所有(you)人都不是很陌生。

RBAC(Role-Based Access Control,基于角(jiao)色的(de)訪(fang)問控制)是(shi)一(yi)種(zhong)廣(guang)泛使(shi)用(yong)的(de)訪(fang)問控制策略(lve),它通過角(jiao)色來分(fen)配(pei)權限(xian),而不是(shi)直(zhi)接將權限(xian)分(fen)配(pei)給單個用(yong)戶。

RBAC的(de)核(he)心思想是用戶通過成為適當角色(se)的(de)成員來獲得對資源的(de)訪(fang)問權(quan)限。這種模型簡化了權(quan)限管理(li),提高了安全性(xing),并使得權(quan)限分配更加靈活。

但是這些對于IDaaS來說,是否夠了呢?

IDaaS一(yi)大核(he)心功能是(shi)應(ying)用集(ji)成,對(dui)于IDaaS來說(shuo),應(ying)用集(ji)成中的身份認證(單點(dian)登錄)只是(shi)基(ji)本訴求,它更希望的是(shi)為(wei)應(ying)用來提供(gong)權(quan)限服務(wu),那么問題來了,應(ying)用A來了,

對它的動作(zuo)(zuo)和(he)資(zi)源(yuan)表達(da)成方(fang)(fang)案A,應用B來了(le),對它的動作(zuo)(zuo)和(he)資(zi)源(yuan)表達(da)成方(fang)(fang)案B,那(nei)么(me)很(hen)容(rong)易造成代碼和(he)表達(da)式上的沖突。

針(zhen)對這個問題,AOneID引入了(le)“權限(xian)空(kong)間(jian)”的概(gai)念,所(suo)謂權限(xian)空(kong)間(jian),是一(yi)種用于管理和(he)隔離權限(xian)資源(yuan)的機制。權限(xian)分組允(yun)許開發者將資源(yuan)、角色(se)和(he)權限(xian)授(shou)權統(tong)一(yi)組合在(zai)一(yi)起,

以適應(ying)復雜的組(zu)織架構和業(ye)務(wu)場景(jing)。

權限空(kong)(kong)間(jian)對動(dong)作、資源、策(ce)略(lve)、角色進行(xing)了(le)隔離,應用A根(gen)據(ju)他自己的(de)業務(wu)特點(dian),規劃(hua)了(le)空(kong)(kong)間(jian)A,應用B根(gen)據(ju)自己的(de)業務(wu)特點(dian),規劃(hua)了(le)空(kong)(kong)間(jian)B,有效的(de)避(bi)免了(le)兩(liang)者的(de)沖(chong)突。

0條評論
0 / 1000
段歪歪
3文章數
3粉絲(si)數
段歪歪
3 文章 | 3 粉絲
段歪歪
3文(wen)章數
3粉(fen)絲數
段歪歪
3 文章(zhang) | 3 粉絲
原創

AOneID權限服務(概念篇)

2024-11-12 09:34:14
71
0

概述

AOneID是天翼云AOne產品系列中的IDaaS(身份即服務,Identifier as a Service)創新成果,目標是打造一個強大且基于IDaaS理念的身份管理系統,
它能夠無縫鏈接企業成員與應用程序,使得員工只需單一身份,就能安全高效地訪問所有企業應用。在AOneId中,用戶可以通過預配置的認證選項和
便捷的應用集成功能,輕松搭建自定(ding)義的用戶管(guan)理體系。

作為標準的IDaaS解決方案,向應用程序提供權限管理是其核心功能之一。然而,由于可能需要針對客戶的特定應用進行定制開發,這常常使人感到挑
戰重(zhong)重(zhong)。本文意在(zai)揭(jie)示這一既神秘又強大的(de)功能(neng)模(mo)塊,逐步揭(jie)開(kai)它的(de)面(mian)紗(sha)。

相關概念

在開(kai)始之前,我們先(xian)問(wen)一個問(wen)題(ti):

什么是權限?

這個問題在(zai)不同的(de)場景下,有(you)很多種表(biao)述(shu),如果你去(qu)問KIMI“權限的(de)定義”時,會得到這樣(yang)的(de)回答:

權限(Permission)在(zai)不(bu)同的(de)上下(xia)文中有(you)著不(bu)同的(de)定義,但通常它(ta)指的(de)是在(zai)計算(suan)機科學、網(wang)絡安全和(he)組織管理中,對特定資(zi)源的(de)訪問(wen)和(he)操作的(de)授權

簡單來講,就是

是否(fou)禁止(zhi)或允(yun)許某人(ren)對某種資(zi)源進行某種操作

經過技術化建模(mo),我們(men)可以(yi)得到(dao)一些技術概念(nian)。

效果

效果(guo)(Effect)指的是(shi)是(shi)否允許(xu)(xu)(Allow)或者禁(jin)止(Deny),如(ru)果(guo)是(shi)允許(xu)(xu),則表(biao)明(ming)具(ju)備權(quan)限,如(ru)果(guo)是(shi)禁(jin)止,表(biao)明(ming)不具(ju)備權(quan)限。

動作和資源

所謂動作(zuo)(Action)指的是(shi)上面所說的“某(mou)種操作(zuo)”,資源(yuan)(yuan)(Resource)指的是(shi)上面所說的“某(mou)種資源(yuan)(yuan)”,之(zhi)所以在這(zhe)里并列提起,是(shi)因(yin)為動作(zuo)和資源(yuan)(yuan)的分界

并非很嚴格(ge),需要根據(ju)具體的場景(jing)來做(zuo)規劃。

案例1

例如,在API權限場景,我(wo)們(men)(men)可(ke)以把Http方法(Method)作(zuo)為Action來編(bian)碼,把接(jie)口(kou)路徑(jing)作(zuo)為資源來編(bian)碼。假設(she)我(wo)們(men)(men)現在有(you)一(yi)個API接(jie)口(kou),權限可(ke)以設(she)計如下:

Action Resource 說明
GET /org/{orgId} 獲取指定機構的信息
PUT /org/{orgId} 全量更新指定機構的屬性
DELETE /org/{orgId} 刪除指定的機構
PATCH /org/{orgId} 更新指定機構的某個屬性

案例2

例如(ru),在工具欄場景,我(wo)們可(ke)以(yi)把接口路徑來(lai)做為(wei)Action,把操作對(dui)象作為(wei)Resource,權限設計可(ke)以(yi)如(ru)下(xia):

Action Resource 說明
/org/get {orgId} 獲取指定機構的信息
/org/update {orgId} 全量更新指定機構的屬性
/org/delete {orgId} 刪除指定的機構
/org/patch {orgId} 更新指定機構的某個屬性

授權實體

授權實體(ti)(Entity)指的(de)是(shi)(shi)上面所說“某(mou)人(ren)”及(ji)其擴展或(huo)分(fen)組。例如“某(mou)人(ren)”不(bu)一(yi)定是(shi)(shi)用(yong)(yong)戶,也可以(yi)是(shi)(shi)應用(yong)(yong),“某(mou)人(ren)”不(bu)一(yi)定是(shi)(shi)某(mou)個(ge)具體(ti)用(yong)(yong)戶,而是(shi)(shi)一(yi)個(ge)群體(ti)(機(ji)構、用(yong)(yong)戶組等(deng))。

用戶

用(yong)戶是授權實體的(de)一種,指的(de)是具體的(de)用(yong)戶。

應用

應用(yong)是授權實(shi)體(ti)的一(yi)種,指的是平臺上的應用(yong),屬于“某人”概念(nian)上的擴展。

用戶組

用戶組(zu)(zu)是授權實體的(de)一種,指的(de)是一組(zu)(zu)用戶,屬于“某人”概念的(de)分組(zu)(zu)。

機構

機(ji)(ji)構是(shi)授權(quan)實體的(de)一種,屬于“某人”概念的(de)分(fen)組。和用戶組不同的(de)是(shi),機(ji)(ji)構是(shi)樹形結構的(de)分(fen)組,父機(ji)(ji)構的(de)授權(quan)需要(yao)自動擴展到子(zi)機(ji)(ji)構。

權限策略

權限(xian)策(ce)略(Policy)定義了(le)一(yi)些(xie)列的權限(xian)規(gui)則,這些(xie)規(gui)則為(wei)最終的權限(xian)校(xiao)驗(yan)提供了(le)依據。每條策(ce)略都明確表達了(le)一(yi)條規(gui)則:

是否禁止(zhi)或允許某人對某種資(zi)源進行某種操(cao)作(zuo)

在AoneID中,權限策(ce)略表達(da)如下:

屬性 說明
entity_type 授權實體類型,包括:角色(role),用戶(user),用戶組(team),機構(org)
entity_id 授權實體的ID,根據實體類型不同而表達不同含義,例如如果entity_type為user,則表示為用戶id
action_expr 動作表達式,支持*通配符
resource_expr 資源表達式,支持*通配符
eff_date 生效時間
exp_date 失效時間
effect 效果

從上述的表達中,可以看出三點:

1、在策(ce)略中,并不需要枚舉(ju)所有的動作和資(zi)源(yuan),而是可以(yi)使用(yong)通配符來(lai)匹配資(zi)源(yuan),例如/org/*可以(yi)代表所有以(yi)/org/為前綴(zhui)的接口路(lu)徑;

2、策略是有(you)有(you)效期的,可以(yi)進行臨時(shi)授權;

3、可(ke)以直(zhi)接指定授(shou)權對象進(jin)行(xing)直(zhi)接授(shou)權,也(ye)可(ke)以通過角色(role)進(jin)行(xing)間接授(shou)權;

在實(shi)際的(de)(de)權限校(xiao)驗中,一(yi)次判斷會匹配出多條策(ce)略(lve),這(zhe)(zhe)些策(ce)略(lve)往往是相(xiang)互沖(chong)突,相(xiang)互覆蓋的(de)(de),這(zhe)(zhe)一(yi)點在后面進行討論

角色

角色是權限(xian)策略(lve)的(de)組合(he),一個(ge)角色可以(yi)包(bao)含(han)多條策略(lve),同(tong)時,也(ye)可以(yi)將角色授權給多個(ge)授權對象(xiang)(用(yong)戶(hu),用(yong)戶(hu)組,機構,應用(yong)等),這種(zhong)授權可以(yi)稱為間接(jie)授權。

間接授權(quan)(quan)在實操中更有效率,但沒有直接授權(quan)(quan)靈(ling)活(huo),兩者可以搭配靈(ling)活(huo)使(shi)用。

令人遺憾的(de)是,AOneID當前(qian)版本(ben)雖然(ran)模(mo)型上支持直接授權,但在(zai)界(jie)面上并不支持直接授權

權限空間

上面的概念只是RBAC的基本思想,對于所有人(ren)都不是很陌生。

RBAC(Role-Based Access Control,基(ji)于角色(se)的(de)(de)訪(fang)問控制)是一種廣(guang)泛使用(yong)的(de)(de)訪(fang)問控制策(ce)略,它通過(guo)角色(se)來分配權限,而(er)不是直接將權限分配給(gei)單個用(yong)戶。

RBAC的核心思想是用戶(hu)通(tong)過成為適當角色的成員來獲得對資(zi)源(yuan)的訪問權(quan)限。這(zhe)種模型簡化了權(quan)限管理,提(ti)高了安全(quan)性,并使得權(quan)限分配更(geng)加靈活(huo)。

但是這(zhe)些對于IDaaS來(lai)說,是否夠了呢(ni)?

IDaaS一大核心(xin)功能是應用集成,對(dui)于(yu)IDaaS來說,應用集成中的(de)身份(fen)認證(zheng)(單點登錄)只是基本(ben)訴(su)求,它更希望的(de)是為應用來提供權限服務,那(nei)么問(wen)題來了,應用A來了,

對它的(de)(de)動作和資(zi)源(yuan)表(biao)達成方案(an)A,應用B來了,對它的(de)(de)動作和資(zi)源(yuan)表(biao)達成方案(an)B,那么(me)很容易造成代碼和表(biao)達式上(shang)的(de)(de)沖突。

針對這個問題,AOneID引入了“權(quan)限(xian)空間”的(de)概念,所謂權(quan)限(xian)空間,是一(yi)種用于管理和隔離權(quan)限(xian)資(zi)源的(de)機(ji)制。權(quan)限(xian)分組允(yun)許(xu)開發者將資(zi)源、角色和權(quan)限(xian)授權(quan)統(tong)一(yi)組合在一(yi)起,

以(yi)適(shi)應復雜的組織架構和(he)業務場景。

權限(xian)空(kong)間對動作、資源、策略、角色進行(xing)了(le)隔(ge)離,應(ying)用A根(gen)據他自己的(de)業務特(te)點,規劃了(le)空(kong)間A,應(ying)用B根(gen)據自己的(de)業務特(te)點,規劃了(le)空(kong)間B,有(you)效(xiao)的(de)避免了(le)兩者(zhe)的(de)沖突。

文章來自個人專欄
文(wen)章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
1
0