在NIST標(biāo)準(zhǔn)草案的定義為:“零信任(ZT)提供一套概念和思想,在可能淪陷的網(wǎng)絡(luò),盡量減少信息系統(tǒng)和服務(wù)中每次請求訪問策略的不確定性。零信任架構(gòu)(ZTA)是一種利用零信任概念且包含組件關(guān)系、工作流規(guī)劃、訪問策略的企業(yè)網(wǎng)絡(luò)安全計(jì)劃。這定義集中于問題的癥結(jié),即防止未授權(quán)訪問數(shù)據(jù)和服務(wù)的目標(biāo),并使訪問控制執(zhí)行盡可能細(xì)粒度”。
由于傳統(tǒng)的IAM是基于RBAC且靜態(tài)授權(quán)模式的,所以基于細(xì)粒度用IAM已無法滿足。我們先看下典型的RBAC概念圖:
當(dāng)用戶2需要增加權(quán)限時(shí)該概念圖已無法解決,需要重新創(chuàng)建新的角色與新權(quán)限關(guān)聯(lián)后再賦予給用戶2。意味著業(yè)務(wù)的變化會引起新的角色層次結(jié)構(gòu)的變化,而且角色數(shù)量會隨著用戶數(shù)量的增加而增加,時(shí)間一久導(dǎo)致用戶對應(yīng)角色的積累賦予其過多的權(quán)限,存在角色用戶管理問題。
我們知道通常應(yīng)用都由身份、認(rèn)證、授權(quán)三部分組成,IAM只不過是對各個(gè)應(yīng)用進(jìn)行整合和集中管理,簡化了IT,本質(zhì)上并沒有脫離RBAC的模式,用戶想要訪問應(yīng)用系統(tǒng)就需要擁有一個(gè)身份;訪問前驗(yàn)證身份的合法性就是認(rèn)證,認(rèn)證有多種,包括用戶密碼、數(shù)字證書、動態(tài)令牌、二維碼、人臉識別等多種認(rèn)證方式;能否進(jìn)行訪問就是訪問控制,訪問應(yīng)用里的功能需要事先的授權(quán),而現(xiàn)在基于RBAC的模式已無法解決零信任架構(gòu)下細(xì)粒度授權(quán)和授權(quán)動態(tài)控制問題,而這兩個(gè)問題恰是我們需要重構(gòu)IAM的原因。
這是IAM需要重構(gòu)的第一個(gè)原因,IAM只解決了粗粒度授權(quán)的問題,但在零信任架構(gòu)下是不滿足業(yè)務(wù)要求的,因此IAM授權(quán)部分需要由策略管理點(diǎn)(PAP)來完成,IAM通過策略實(shí)施點(diǎn)(PEP)獲取相應(yīng)的顆粒度權(quán)限,由授權(quán)中心完成對第三方應(yīng)用(客體)的細(xì)粒度授權(quán)控制。
主體訪問客體前進(jìn)行單點(diǎn)登錄,即身份驗(yàn)證,統(tǒng)一認(rèn)證平臺通過PEP獲取動態(tài)粗粒度的權(quán)限,對身份進(jìn)行驗(yàn)證;訪問代理通過PEP進(jìn)行訪問決策;決策通過后允許訪問客體,客體再通過PEP獲取動態(tài)的細(xì)粒度功能權(quán)限,從而實(shí)現(xiàn)細(xì)粒度授權(quán)的訪問控制。
這是IAM需要重構(gòu)的第二個(gè)原因,動態(tài)授權(quán)在零信任架構(gòu)下是基于策略來完成的,基于PDP的策略包含權(quán)限數(shù)據(jù)和策略數(shù)據(jù),權(quán)限數(shù)據(jù)又包含參與決策的所有權(quán)限信息,與權(quán)限信息相關(guān)的客體、主體、環(huán)境等屬性都可以作為決策的依據(jù);策略數(shù)據(jù)就是決策的方法了,包含決策算法和策略邏輯運(yùn)算,這里會引用到權(quán)限數(shù)據(jù)和請求數(shù)據(jù)。
當(dāng)主體訪問并通過單點(diǎn)登錄時(shí),訪問代理的PEP會攜帶主體屬性、環(huán)境屬性、客體屬性作為請求數(shù)據(jù)給到PDP進(jìn)行請求決策,PDP會根據(jù)請求屬性動態(tài)的給出權(quán)限評估,不同的屬性相同的組合或相同屬性不同組合都會有不同的評估結(jié)果,從而實(shí)現(xiàn)授權(quán)的動態(tài)控制,而不用關(guān)心業(yè)務(wù)發(fā)生變更導(dǎo)致權(quán)限不同而帶來策略的改變。
在零信任架構(gòu)下,重構(gòu)IAM是實(shí)現(xiàn)授權(quán)部分的擴(kuò)展需要,也是IAM基于RBAC發(fā)展的方向,RBAC解決了基于角色授權(quán)問題,ABAC解決了基于屬性授權(quán)問題,而RBAC又是ABAC中的一種特例,在ABAC基礎(chǔ)上再增加策略完成動態(tài)時(shí)時(shí)授權(quán),就該叫PBAC了,這也就是零信任架構(gòu)下授權(quán)中心組件要完成的事情。