本章節(jié)主要介紹 IAM 相關(guān)知識(shí)點(diǎn)以及在 AWS 控制臺(tái)窗口如何創(chuàng)建一臺(tái) Amazon IAM 賬號(hào)。
一、什么是 IAM?
AWS Identity and Access Management (IAM) 是一種 Web 服務(wù),可以幫助你安全地控制對(duì) AWS 資源的訪問。借助 IAM,你可以集中管理控制用戶可訪問哪些 AWS 資源的權(quán)限??梢允褂?IAM 來控制誰通過了身份驗(yàn)證(準(zhǔn)許登錄)并獲得授權(quán)(擁有權(quán)限)來使用資源。
IAM 是 Identity and Access Management 的縮寫,即身份與訪問管理,或稱為身份管理與訪問控制。
IAM 主要為了達(dá)到一個(gè)目的:讓恰當(dāng)?shù)娜嘶蛭铮星‘?dāng)?shù)臋?quán)限,訪問恰當(dāng)?shù)馁Y源。其中“人或物”稱為主體(Subject),“資源”稱為客體(Object)。
傳統(tǒng)的 IAM 一般包含如下幾部分,常被稱為4A
或5A
。
- 賬號(hào)(Account)
- 認(rèn)證(Authentication)
- 權(quán)限(Authorization)
- 應(yīng)用(Application)
- 審計(jì)(Audit)
二、IAM 常見種類
2.1 EIAM
EIAM是 Employee Identity and Access Management 的縮寫,指管理企業(yè)內(nèi)部員工的IAM,主要解決員工使用的便捷性和企業(yè)管理的安全性相關(guān)問題。
在產(chǎn)品形態(tài)上,EIAM有以下特點(diǎn):
- 需要集成企業(yè)的云應(yīng)用、本地應(yīng)用
- 需要集成不同的身份源
- SSO和MFA很常用
- 不同企業(yè)所需的訪問控制力度不同
2.2 CIAM
CIAM 是 Customer Identity and Access Management 的縮寫,指管理企業(yè)外部客戶/用戶的IAM,主要解決用戶數(shù)據(jù)的打通和開發(fā)成本與標(biāo)準(zhǔn)化相關(guān)問題。
在產(chǎn)品形態(tài)上,CIAM有以下特點(diǎn):
- 在用戶端常見到的是單點(diǎn)登錄和授權(quán)登錄
- 提供通用的組件給開發(fā)者直接使用
- 更強(qiáng)調(diào)高性能和高可用
2.3 云廠商 IAM
云廠商的IAM,有時(shí)稱為RAM(Resource and Access Management),指管理企業(yè)云資源的 IAM,主要用于管理云資源的訪問控制。
在產(chǎn)品形態(tài)上,云廠商IAM有以下特點(diǎn):
- 強(qiáng)調(diào)授權(quán)的靈活性和企業(yè)管理的安全性
- 支持多種類型的賬號(hào)進(jìn)行認(rèn)證或被調(diào)用
- 一般只關(guān)注管理自家的云資源
三、賬號(hào)(Account)
賬號(hào)是用戶在系統(tǒng)中的數(shù)字化載體,用于標(biāo)識(shí)用戶并訪問受保護(hù)的資源。一般每個(gè)系統(tǒng)都會(huì)有賬號(hào),且不同系統(tǒng)的賬號(hào)數(shù)據(jù)結(jié)構(gòu)各異。
針對(duì)賬號(hào)模塊,IAM 需要解決如下幾個(gè)問題:
- 哪些賬號(hào)/字段代表了用戶?這些賬號(hào)散落在哪里?(身份源)
- 我(IAM)如何將這些賬號(hào)拿過來?(上游賬號(hào)同步)
- 我(IAM)如何關(guān)聯(lián)、映射、使用這些賬號(hào)數(shù)據(jù)?(統(tǒng)一身份源)
- 哪些系統(tǒng)需要用到這些賬號(hào)?我怎么把賬號(hào)給它們?(下游賬號(hào)同步)
三戶模型
說到賬戶
這里要提一下 三戶模型
,并不是房子戶型模型,其實(shí)以前我也不知道,后來研究學(xué)習(xí)才知道三戶模型的來源,下面總結(jié)一下
三戶模型最早是在增強(qiáng)型電信運(yùn)營(yíng)圖(Enhanced Telecom Operations Map,eTOM)中提出,在電信行業(yè)中得到廣泛使用。 三戶指客戶(Customer)、用戶(User)和賬戶(Account)。eTOM 引入是電信行業(yè)營(yíng)銷模型轉(zhuǎn)向“以客戶為中心”的理念而產(chǎn)生的成果。圍繞客戶建立用戶和賬戶,這三個(gè)是相互關(guān)聯(lián)的實(shí)體。近年來,金融行業(yè)也逐步接受和采用了三戶模型。
三戶
的定義下如,供參考:
- 客戶,指自然人或者法人。法人一般被稱之為企業(yè)客戶。如無特指,一般客戶指?jìng)€(gè)人客戶。
- 用戶,指通過注冊(cè)的方式進(jìn)入系統(tǒng),使用系統(tǒng)提供的服務(wù)的實(shí)體,也稱為登錄賬戶,即用戶在系統(tǒng)中登錄憑證和個(gè)人信息。對(duì)應(yīng)的,法人客戶在系統(tǒng)中注冊(cè)后,被稱之為商戶。
- 賬戶,這里特指支付賬戶,指用戶在支付系統(tǒng)中用于交易的資金所有者權(quán)益的憑證。
四、認(rèn)證(Authentication)
廣義的認(rèn)證是一種信用保證形式,指第三方公證機(jī)構(gòu)對(duì)組織/個(gè)人的身份、能力、資質(zhì)等的認(rèn)可。
狹義的認(rèn)證指的是證明“主體是誰”。IAM中的認(rèn)證指的是狹義的認(rèn)證,常見于主體申請(qǐng)?jiān)L問資源時(shí)。
4.1 認(rèn)證場(chǎng)景
IAM 中有三個(gè)主要的場(chǎng)景:
- 未認(rèn)證的主體需要認(rèn)證——登錄
- 已認(rèn)證的主體跳轉(zhuǎn)到其他應(yīng)用時(shí)自動(dòng)認(rèn)證——SSO,單點(diǎn)登錄
- 已認(rèn)證的主體訪問敏感資源時(shí)需要二次認(rèn)證——MFA,多因素認(rèn)證
4.2 認(rèn)證方式
身份鑒別的實(shí)質(zhì)就是證明你就是你
。宏觀上講,身份鑒別的方式有以下幾類:
所知(What you know):也就是通過只有你知道,而別人不知道的信息來驗(yàn)證你的身份。比如“天王蓋地虎,寶塔鎮(zhèn)河妖”這樣的口諭,比如你的互聯(lián)網(wǎng)郵箱的口令。在基于所知進(jìn)行身份鑒別,除了平常要保管好“所知”之外,技術(shù)的關(guān)鍵還在于如何保證既能通過出示“所知”來證實(shí)自己身份,而這個(gè)“所知”又不會(huì)被竊取。
所有(What you have):也就是通過只有你才持有的東西來驗(yàn)證你的是身份。比如:你持有的信用卡、身份證等?;凇八小边M(jìn)行身份鑒別,首先要避免“所有“的丟失,同時(shí)鑒別技術(shù)要能防止“所有”被假冒。
所是(What you are):也就是“天生具有”的東東來證實(shí)你的身份。比如指紋、人像、聲紋、DNA等各種生物特征。基于“所是”進(jìn)行身份鑒別,需特別關(guān)注一個(gè)問題,由于“所是”往往與生俱來,難以再造,因此,需特別防止在鑒別過程中泄露“所是”信息。
某種技術(shù)的復(fù)合運(yùn)用,或者以上二者或三者的組合運(yùn)用。認(rèn)證方式和MFA息息相關(guān),MFA(Multi-Factor Authentication,多因素認(rèn)證)是指使用兩種以上的認(rèn)證來進(jìn)行身份驗(yàn)證,以提高賬號(hào)的安全性。
4.3 認(rèn)證協(xié)議
認(rèn)證協(xié)議主要用于在用戶、業(yè)務(wù)系統(tǒng)、身份認(rèn)證服務(wù)之間傳遞用戶信息,告訴業(yè)務(wù)系統(tǒng)“此用戶是誰”。
主流的認(rèn)證協(xié)議/實(shí)現(xiàn)單點(diǎn)登錄的方案有 Cookie、JWT、SAML、CAS、OIDC等,網(wǎng)上有很多資料,暫不贅述。
認(rèn)證協(xié)議通常和單點(diǎn)登錄息息相關(guān),單點(diǎn)登錄(Single Sign On,SSO)是指在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。
4.4 認(rèn)證源
認(rèn)證源指的是用戶在登錄當(dāng)前系統(tǒng)時(shí),由第三方提供認(rèn)證服務(wù),系統(tǒng)信任第三方的認(rèn)證結(jié)果。例如使用微信登錄某APP,就是將微信作為認(rèn)證源。
IAM 一般會(huì)根據(jù)場(chǎng)景提供 AD/LDAP、企業(yè)微信/釘釘、OA等不同的認(rèn)證源方案。
五、授權(quán)(Authorization)
授權(quán)是將權(quán)力交付給用戶或機(jī)構(gòu)代為行使,此時(shí)使用戶或機(jī)構(gòu)獲得訪問資源的權(quán)限。
5.1 “授權(quán)”范圍
我們以 RBAC 模型為例,授權(quán)其實(shí)要做三件事:
將操作和對(duì)象(也稱資源)打包為權(quán)限,即圖中的權(quán)限(PRMS,Pemission),包括操作(OPS,Operations)和對(duì)象(OBS,Objects)。
將權(quán)限分配給主體(狹義的授權(quán)),即圖中的 Permission Assignment 和 User Assignment。
當(dāng)主體訪問資源時(shí)鑒權(quán),鑒別用戶的身份和判斷權(quán)限。
5.2 權(quán)限分類
權(quán)限其實(shí)就是將操作和對(duì)象打包起來。根據(jù)不同場(chǎng)景、不同要求可以有不同的方案。
個(gè)人習(xí)慣將權(quán)限分為以下四種,控制的力度和精細(xì)度逐漸增加:
應(yīng)用權(quán)限,控制主體能否訪問某個(gè)應(yīng)用,擁有權(quán)限就可以訪問應(yīng)用的所有內(nèi)容,是最粗粒度的訪問控制。
頁面權(quán)限,控制頁面層面的元素是否可見,包括頁面、菜單、按鈕等。做好頁面權(quán)限一般可以滿足企業(yè)內(nèi)部大部分的需求。
操作權(quán)限,控制主體能否執(zhí)行某個(gè)操作,例如可改新增、修改、刪除等,一般和一個(gè)接口對(duì)應(yīng),在主體請(qǐng)求接口時(shí)判斷。頁面權(quán)限和操作權(quán)限也被統(tǒng)稱為功能權(quán)限。
數(shù)據(jù)權(quán)限,控制數(shù)據(jù)的查詢和展示,不同主體看到的數(shù)據(jù)不同,包括行權(quán)限和列權(quán)限。如果說功能權(quán)限是控制“能不能”,數(shù)據(jù)權(quán)限則是控制“有多少”。
5.3 權(quán)限模型
談到授權(quán),談得最多的是權(quán)限模型。但需要注意,權(quán)限模型只是對(duì)權(quán)限進(jìn)行分配的思路和方案,解決“如何將某些權(quán)限分配給某些主體”的問題,不是“授權(quán)”的全部。
具體使用哪種權(quán)限模型,需要根據(jù)場(chǎng)景和需求來定,不要拘泥于權(quán)限模型而忽略實(shí)際業(yè)務(wù)。
下面介紹常見的幾種權(quán)限模型:
- ACL(Access Control Lists,訪問控制列表),通過將主體(用戶或用戶組)直接和權(quán)限(包含操作和資源)關(guān)聯(lián)成列表,控制主體能訪問哪些資源。
- DAC(Discretionary Access Control,自主訪問控制),可以通過ACL或ACM來實(shí)現(xiàn),特點(diǎn)是擁有權(quán)限的主體可以將自身的權(quán)限賦予給其他主體或收回,常見于操作系統(tǒng)。
- MAC(Mandatory Access Control,強(qiáng)制訪問控制),通過對(duì)主體和客體進(jìn)行安全標(biāo)記(密級(jí)),來判斷主體能否對(duì)客體進(jìn)行相關(guān)操作,常見于軍工行業(yè)。
- RBAC(Role Based Access Control,基于角色的訪問控制),通過引入“角色”的概念,將主體和權(quán)限之間的關(guān)系解耦,是常見、成熟、有效的權(quán)限模型。
- ABAC(Attribute Based Access Control,基于屬性的訪問控制),通過動(dòng)態(tài)計(jì)算一個(gè)或一組屬性是否滿足某種條件來進(jìn)行授權(quán)判斷,常用于公有云,不同場(chǎng)景下形態(tài)各異。
5.4 鑒權(quán)
IAM 中的“授權(quán)模塊”還包括“鑒權(quán)”的部分,與“分配權(quán)限”(Assignment,也常稱為授權(quán))相對(duì)應(yīng)。
鑒權(quán)是驗(yàn)證主體是否擁有訪問客體的權(quán)限,完整的鑒權(quán)應(yīng)該包括身份認(rèn)證和權(quán)限決策兩部分。
大多數(shù)情況下完成身份認(rèn)證即完成了鑒權(quán),這部分屬于“認(rèn)證”模塊(英語中Authentication也有鑒權(quán)的意思)。
但在比較復(fù)雜的場(chǎng)景,比如使用 ABAC、零信任時(shí),當(dāng)主體訪問資源時(shí),決策點(diǎn) PDP 需要根據(jù)屬性或策略規(guī)則動(dòng)態(tài)計(jì)算主體是否擁有足夠的權(quán)限,并依據(jù)計(jì)算結(jié)果放行或攔截訪問,此部分也應(yīng)當(dāng)屬于鑒權(quán)。
六、應(yīng)用
狹義的應(yīng)用只是業(yè)務(wù)系統(tǒng)在IAM中的映射,即APP ID和APP Secret。
廣義的應(yīng)用是上文中賬號(hào)、認(rèn)證、授權(quán)的交互對(duì)象和載體,一般作為客體來使用。
6.1 預(yù)集成應(yīng)用
由于應(yīng)用之間的規(guī)范、協(xié)議各有差異,IAM往往會(huì)預(yù)集成一部分應(yīng)用,提前對(duì)接好其賬號(hào)、認(rèn)證、授權(quán)等模塊,方便客戶開箱即用。
針對(duì)普通用戶,IAM一般會(huì)提供統(tǒng)一的應(yīng)用門戶(儀表盤),顯示企業(yè)內(nèi)自己所擁有權(quán)限的所有應(yīng)用,也可以手動(dòng)添加自己的應(yīng)用,方便用戶日常使用。
七、審計(jì)
審計(jì)日志需要記錄用戶的所有操作,需要記錄主體、操作、客體、類型、時(shí)間、地點(diǎn)、結(jié)果等內(nèi)容。
根據(jù)不同的維度可以劃分為不同的操作日志,如操作日志和登錄/登出日志、用戶日志和管理員日志、業(yè)務(wù)系統(tǒng)日志和IAM系統(tǒng)日志等。
審計(jì)相關(guān)的功能,不同規(guī)模、不同行業(yè)要求不同,通常國(guó)外比國(guó)內(nèi)更嚴(yán)格、更強(qiáng)調(diào)合規(guī)。
八、在 AWS 中創(chuàng)建 IAM
下面進(jìn)行講解如何在 AWS 中進(jìn)行創(chuàng)建 IAM 賬號(hào)。
首先直接進(jìn)入亞馬遜云科技控制臺(tái),搜索IAM
,之后點(diǎn)擊進(jìn)入IAM
服務(wù)。
點(diǎn)擊【添加用戶】按鈕
進(jìn)入到創(chuàng)建用戶步驟,這里主要是一些用戶的信息,比如用戶名,密碼等。
點(diǎn)擊創(chuàng)建組
如果未選擇創(chuàng)建用戶組,可以跳過此處
設(shè)置所創(chuàng)建的 IAM 賬號(hào)所屬的權(quán)限組
選擇標(biāo)簽對(duì),這里注意最好建議添加,在亞馬遜最佳實(shí)踐里面,打標(biāo)簽是個(gè)非常好的習(xí)慣
完成創(chuàng)建的提示:
點(diǎn)擊返回用戶列表后,可以在列表內(nèi)看到剛剛創(chuàng)建的用戶的相關(guān)信息。文章來源:http://www.zghlxwxcb.cn/news/detail-517756.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-517756.html
[ 本文作者 ] bluetata
[ 原文鏈接 ] https://bluetata.blog.csdn.net/article/details/131523127
[ 最后更新 ] 07/03/2023 20:31
[ 版權(quán)聲明 ] 如果您在非 CSDN 網(wǎng)站內(nèi)看到這一行,
說明網(wǎng)絡(luò)爬蟲可能在本人還沒有完整發(fā)布的時(shí)候就抓走了我的文章,
可能導(dǎo)致內(nèi)容不完整,請(qǐng)去上述的原文鏈接查看原文。
到了這里,關(guān)于[ 云計(jì)算 | AWS ] IAM 詳解以及如何在 AWS 中直接創(chuàng)建 IAM 賬號(hào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!