IAM是亞馬遜的身份認(rèn)證系統(tǒng),英文全稱是Identity and Access Management。主要管理的是用戶或者應(yīng)用對(duì)AWS資源的訪問(wèn)權(quán)限控制。
IAM主要有User, Group, Role, Policies, Identity Provider等概念, 下面對(duì)這幾個(gè)概念進(jìn)行簡(jiǎn)單地介紹
Concept
User
User(用戶),操作AWS資源的最直觀,也是最終的載體椭蹄。
我們注冊(cè)AWS用的賬戶也叫根賬戶,具有AWS所有的訪問(wèn)權(quán)限净赴,AWS建議日常使用不要使用根賬戶來(lái)操作绳矩。而是單獨(dú)在IAM控制臺(tái)中創(chuàng)建User。
一般企業(yè)在自己的內(nèi)部系統(tǒng)中都有自己的一套用戶系統(tǒng)玖翅,AWS提供了AssumeRole和Federation來(lái)將外部賬戶和AWS的資源結(jié)合翼馆。在企業(yè)內(nèi)部賬戶登錄后,在登錄AWS使用AssumeRole或者Foderation認(rèn)證通過(guò)后金度,AWS會(huì)給予一個(gè)臨時(shí)token应媚,相應(yīng)的創(chuàng)建一個(gè)臨時(shí)賬戶,可以操作許可的AWS資源猜极。
User可以訪問(wèn)IAM設(shè)置的別名地址登錄控制臺(tái)(格式為https://[別名].signin.aws.amazon.com/console),注意登錄的賬戶需要有控制臺(tái)訪問(wèn)權(quán)限中姜。
Group
Group(組),可以將用戶分組跟伏,也可以定義組策略(Policies)丢胚。
Role
Role(角色),可以綁定一系列的策略(Policies)受扳,常用來(lái)定義第三方登錄(比如上面提到的公司賬戶)賬戶的AWS操作權(quán)限携龟,或者接入應(yīng)用對(duì)AWS的操作權(quán)限。和組不同辞色,Role并不能添加已有的用戶骨宠。
Policies
Policies(策略)浮定,定義對(duì)AWS操作權(quán)限的描述相满,AWS其實(shí)已經(jīng)有了很多內(nèi)建策略,如果我們并不需要那么細(xì)粒度的權(quán)限把控桦卒,其實(shí)并不需要我們自己定義立美。不過(guò)如果我們需要自己寫策略的話,其實(shí)AWS為我們準(zhǔn)備了策略生成器方灾,大部分工作是可以通過(guò)表單選擇完成建蹄。
Identity Provider
Identity Provider(身份提供商)碌更,如果需要外部提供商登錄,比如常見(jiàn)的比如Google洞慎, FaceBook這類的痛单,就需要添加Identity Provider并配置相關(guān)選項(xiàng),在兩者間建立互信機(jī)制劲腿。AWS支持OpenID和SAML聯(lián)合登錄旭绒。
配置AWS Cli
創(chuàng)建IAM用戶時(shí)會(huì)給予你一份證書,包含Access Key ID和Secret Access Key
當(dāng)你AWS CLI安裝完成后焦人,需要運(yùn)行aws configure
配置CLI:
? ~ aws configure
AWS Access Key ID: # IAM的Access Key ID
AWS Secret Access Key: # IAM的Secret Access Key
Default region name: # 默認(rèn)操作Region的名稱(具體參考http://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html)
Default output: # 輸出格式j(luò)son/text/table
配置OK后就可以使用Cli操作許可的AWS資源挥吵。
關(guān)于IAM最佳實(shí)踐
- 隱藏根賬戶證書
根賬戶不應(yīng)該擁有證書,因?yàn)楦~戶擁有AWS最大的權(quán)限花椭,應(yīng)當(dāng)和保護(hù)信用卡信息一樣重視忽匈。 - 創(chuàng)建單獨(dú)的管理員IAM賬戶
因?yàn)镮AM賬戶易于管理,容易改變其權(quán)限和整個(gè)收回賬戶矿辽,所以推薦使用IAM賬戶管理AWS丹允,而不是使用AWS根賬戶。 - 使用組賦予權(quán)限
- 使用強(qiáng)密碼
- 使用多重驗(yàn)證
- 對(duì)應(yīng)用賦予單獨(dú)的IAM賬戶
- 最小權(quán)限
- 通過(guò)使用角色而非共享證書來(lái)委托訪問(wèn)袋倔,其他AWS賬戶
- 定期交替輪換證書嫌松,證書需要時(shí)常更新
- 刪除不需要的證書
- 使用策略條件來(lái)增強(qiáng)安全性
- 監(jiān)控 AWS 賬戶中的活動(dòng)
具體有關(guān)最佳實(shí)踐的描述參見(jiàn)http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/best-practices.html