IAM是什么以及要怎么設(shè)計(jì)?
? 對(duì)于IAM大家了解嗎?什么是? IAM?? IAM又有什么用途呢?下邊這篇文章可以找到這些問(wèn)題的答案,大家一起看看吧!
一、IAM的定義
1. IAM是什么?
IAM就是身份與訪問(wèn)管理,身份和訪問(wèn)管理(IAM)是一個(gè)框架,用于為企業(yè)Web應(yīng)用程序,API,企業(yè)用戶(hù)生命周期管理和企業(yè)應(yīng)用程序?qū)ν獠坑脩?hù)/供應(yīng)商的訪問(wèn)權(quán)限實(shí)施額外的安全層。
IAM可以控制基于用戶(hù)或角色的企業(yè)應(yīng)用程序的訪問(wèn),并啟用單點(diǎn)登錄以實(shí)現(xiàn)與集成IAM的企業(yè)應(yīng)用程序無(wú)縫地進(jìn)行用戶(hù)身份驗(yàn)證。它驗(yàn)證用戶(hù)訪問(wèn)請(qǐng)求,并且可以授予或拒絕對(duì)整個(gè)企業(yè)范圍內(nèi)受保護(hù)的Web和應(yīng)用程序資源的權(quán)限。
簡(jiǎn)而言之就是管理企業(yè)內(nèi)所有系統(tǒng)應(yīng)用的登錄認(rèn)證和權(quán)限的集成應(yīng)用,這個(gè)應(yīng)用范圍可大可小。
2. IAM的作用是什么
在介紹IAM是什么的時(shí)候,其實(shí)也是比較清楚了,主要是訪問(wèn)認(rèn)證以及權(quán)限控制集成的一個(gè)應(yīng)用。通過(guò)一個(gè)應(yīng)用控制企業(yè)內(nèi)所有的系統(tǒng)和應(yīng)用,也通過(guò)這個(gè)系統(tǒng)統(tǒng)一管理和認(rèn)證。不但降低了系統(tǒng)風(fēng)險(xiǎn)還減少了重復(fù)開(kāi)發(fā)的問(wèn)題,甚至還解決了用戶(hù)太多賬號(hào)總是忘記賬號(hào)的問(wèn)題。
3. 主要組成
IAM是個(gè)提供認(rèn)證訪問(wèn)和權(quán)限控制的應(yīng)用,它通過(guò)提供訪問(wèn)認(rèn)證、安全校驗(yàn)、權(quán)限判斷等功能為其他應(yīng)用提供服務(wù)。
那么它就會(huì)包含一些基礎(chǔ)通用的功能,類(lèi)似用戶(hù)管理、角色權(quán)限控制、安全和審計(jì)日志等功能,讓專(zhuān)業(yè)的人來(lái)做專(zhuān)業(yè)的事,當(dāng)IAM把這些賬號(hào)管理、用戶(hù)管理、權(quán)限管理、審計(jì)管理的功能做了以后,那么業(yè)務(wù)系統(tǒng)在減少重復(fù)建設(shè)、節(jié)約成本的同時(shí)更加專(zhuān)注于自己核心功能。
4. 范圍
IAM的范圍主要還是要看需要用到什么程度,其實(shí)在搭建之初就要確定要用到什么程度,常見(jiàn)的就是將IAM控制范圍限制于系統(tǒng)管理人員用戶(hù),即公司員工一類(lèi)的用戶(hù);還有一種就是覆蓋比較全面,不單單覆蓋了公司員工還覆蓋了各個(gè)系統(tǒng)的其他用戶(hù),類(lèi)似會(huì)覆蓋C端的用戶(hù)、B端SAAS用戶(hù)等。
二、IAM怎么設(shè)計(jì)
1. 從結(jié)構(gòu)
IAM結(jié)構(gòu)至上而下從租戶(hù)、用戶(hù)池、應(yīng)用、用戶(hù)、組織、權(quán)限、屬性層層配置,通過(guò)各個(gè)模塊對(duì)用戶(hù)在認(rèn)證、權(quán)限等方面進(jìn)行控制。租戶(hù)在saas產(chǎn)品上用的比較頻繁,通常企業(yè)也會(huì)管理saas的租戶(hù),通過(guò)IAM來(lái)限制saas租戶(hù)的訪問(wèn)認(rèn)證,功能更多的IAM甚至?xí)脕?lái)監(jiān)控流量、付費(fèi)情況等。
用戶(hù)池簡(jiǎn)而言之就是某一類(lèi)用戶(hù)的池子,通過(guò)配置池子達(dá)到統(tǒng)一控制的目的。
應(yīng)用指的是我們所操作的系統(tǒng),WEB或者APP等。
有了以上這些元素,我們就可以控制所有系統(tǒng)上用戶(hù)的訪問(wèn)認(rèn)證,我們就可以在一個(gè)應(yīng)用監(jiān)控所有應(yīng)用的情況和用戶(hù)的情況,我們就可以在一個(gè)應(yīng)用精細(xì)化的為用戶(hù)分配權(quán)限,我們甚至可以在一個(gè)應(yīng)用上管理我們的所有系統(tǒng)的審計(jì)日志。
當(dāng)然,我們可以按照自身的需要去控制結(jié)構(gòu),比如我們不需要做SAAS化的產(chǎn)品,我們就可以拿掉租戶(hù)哪個(gè)層級(jí),如果我們不需要管理非內(nèi)部用戶(hù)時(shí),我們甚至可以只保留一個(gè)用戶(hù)池。
2. 功能
IAM最核心的功能是認(rèn)證、賬號(hào)管理、權(quán)限授權(quán)、審計(jì)功能。
認(rèn)證功能:IAM最基本的功能就是認(rèn)證,自建一套認(rèn)證體系,各個(gè)系統(tǒng)能夠通過(guò)IAM交互進(jìn)行認(rèn)證,實(shí)現(xiàn)賬戶(hù)認(rèn)證與業(yè)務(wù)系統(tǒng)剝離,極大的提高了系統(tǒng)安全,減少了業(yè)務(wù)系統(tǒng)賬號(hào)被利用的漏洞。同時(shí),各業(yè)務(wù)系統(tǒng)減少了相同功能的開(kāi)發(fā)成本。
賬號(hào)管理:賬號(hào)管理也是IAM不可或缺的一部分,可以通過(guò)賬號(hào)管理來(lái)對(duì)個(gè)系統(tǒng)登錄賬號(hào)進(jìn)行管控。首先是管控的范圍,可以根據(jù)實(shí)際業(yè)務(wù)情況控制,從小打到大,從少到多。其次,對(duì)于賬號(hào)也可以更精細(xì)化的管理,包含對(duì)賬號(hào)的監(jiān)控、賬號(hào)用戶(hù)的畫(huà)像、賬號(hào)基礎(chǔ)信息的互通等。
權(quán)限授權(quán):將各業(yè)務(wù)系統(tǒng)權(quán)限授權(quán)功能放在IAM上,也是一種降低風(fēng)險(xiǎn)的操作,收攏了權(quán)限過(guò)大的賬號(hào)的配置入口,在一個(gè)平臺(tái)即使監(jiān)控賬號(hào)情況,減少遺監(jiān)控漏導(dǎo)致的安全問(wèn)題也減少了重復(fù)開(kāi)發(fā)的成本問(wèn)題。高權(quán)限管理人員的菜單、功能、按鈕權(quán)限全在一個(gè)管理工作臺(tái)進(jìn)行分配。
審計(jì)功能:記錄賬號(hào)、權(quán)限、認(rèn)證等日志,能夠快速回溯以及在出現(xiàn)問(wèn)題的時(shí)候快速定位問(wèn)題。
3. 樣式交互
在樣式交互上,基于IAM是一個(gè)給管理人員使用的操作系統(tǒng),降低用戶(hù)學(xué)習(xí)成本,提高工作效率是首要考慮的事情。
第二,需要考慮安全問(wèn)題,IAM的功能大多都是權(quán)限極高的功能,在做一些高權(quán)限操作時(shí)需要著重考慮安全性,在這里可以適當(dāng)?shù)臓奚稽c(diǎn)用戶(hù)體驗(yàn),比如可以加上雙因子校驗(yàn)等。
三、設(shè)計(jì)IAM時(shí)容易踩的坑
1. 混淆租戶(hù)和用戶(hù)池的概念
租戶(hù)和用戶(hù)池的概念及其容易混淆,用戶(hù)池指的是一類(lèi)用戶(hù),租戶(hù)更多指的是某一個(gè)組織;在設(shè)計(jì)時(shí)怎么區(qū)分他們兩呢?這種要看具體情況,比如某個(gè)業(yè)務(wù)系統(tǒng)有接口調(diào)用的功能或者采購(gòu)了一整套云系統(tǒng)(包含IAM),那么這個(gè)時(shí)候的租戶(hù)就是使用戶(hù)池的一種;如果單看一整套IAM+業(yè)務(wù)系統(tǒng),那么應(yīng)該是租戶(hù)包含了用戶(hù)池。具體情況要看具體業(yè)務(wù)類(lèi)型。
2. 數(shù)據(jù)權(quán)限和功能權(quán)限耦合嚴(yán)重
很多系統(tǒng)在做功能權(quán)限的時(shí)候和功能權(quán)限是一起做的,比如能看到該功能就有該數(shù)據(jù)權(quán)限。如果業(yè)務(wù)單一,組織單一,那么這種方式是沒(méi)有問(wèn)題的,但是一旦多組織多業(yè)務(wù)形態(tài),那么數(shù)據(jù)權(quán)限和功能權(quán)限還是要?jiǎng)冸x開(kāi),我們這個(gè)時(shí)候可以將數(shù)據(jù)權(quán)限設(shè)置為一種屬性,將某組織的數(shù)據(jù)權(quán)限屬性分配給某個(gè)用戶(hù),就實(shí)現(xiàn)了數(shù)據(jù)權(quán)限隔離。
3. 交互考慮過(guò)少,使用困難
前面已經(jīng)提了一小點(diǎn),在做IAM系統(tǒng)的時(shí)候會(huì)更注重安全可用,而忽視了交互,導(dǎo)致用戶(hù)使用困難,畢竟IAM包含的內(nèi)容很多,稍有不注意就會(huì)導(dǎo)致權(quán)限或功能配置錯(cuò)誤,這種小小的錯(cuò)誤會(huì)被無(wú)限放大,所以交互也是需要考慮的,不然在降低工作效率的同時(shí)還容易出問(wèn)題,這時(shí)候就得不償失了。
四、最后
根據(jù)系統(tǒng)和需求適宜的取舍功能,IAM是一個(gè)功能比較多的系統(tǒng)。當(dāng)然,他也不是按部就班,一定要大而全,還是應(yīng)該結(jié)合實(shí)際業(yè)務(wù)情況和系統(tǒng)情況來(lái)設(shè)計(jì)??梢詮挠脩?hù)范圍、賬號(hào)范圍、功能范圍來(lái)設(shè)計(jì)適配。IAM更多是一個(gè)較為后臺(tái)的系統(tǒng),它不像APP那樣面向所有C端用戶(hù)使用,也不像釘釘那樣面向所有員工使用,它就是一個(gè)在背后默默為安全、為管理而存在的系統(tǒng)。
本文由 @L.Hwang 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!