亞馬遜之IAM

IAM是亞馬遜的身份認證系統,英文全稱是Identity and Access Management。主要管理的是用戶或者應用對AWS資源的訪問權限控制。

IAM控制臺

IAM主要有User, Group, Role, Policies, Identity Provider等概念, 下面對這幾個概念進行簡單地介紹

Concept

User

User(用戶),操作AWS資源的最直觀,也是最終的載體。

我們注冊AWS用的賬戶也叫根賬戶,具有AWS所有的訪問權限,AWS建議日常使用不要使用根賬戶來操作。而是單獨在IAM控制臺中創建User。

一般企業在自己的內部系統中都有自己的一套用戶系統,AWS提供了AssumeRole和Federation來將外部賬戶和AWS的資源結合。在企業內部賬戶登錄后,在登錄AWS使用AssumeRole或者Foderation認證通過后,AWS會給予一個臨時token,相應的創建一個臨時賬戶,可以操作許可的AWS資源。

User可以訪問IAM設置的別名地址登錄控制臺(格式為https://[別名].signin.aws.amazon.com/console),注意登錄的賬戶需要有控制臺訪問權限。

Group

Group(組),可以將用戶分組,也可以定義組策略(Policies)。

Role

Role(角色),可以綁定一系列的策略(Policies),常用來定義第三方登錄(比如上面提到的公司賬戶)賬戶的AWS操作權限,或者接入應用對AWS的操作權限。和組不同,Role并不能添加已有的用戶。

Policies

Policies(策略),定義對AWS操作權限的描述,AWS其實已經有了很多內建策略,如果我們并不需要那么細粒度的權限把控,其實并不需要我們自己定義。不過如果我們需要自己寫策略的話,其實AWS為我們準備了策略生成器,大部分工作是可以通過表單選擇完成。

策略生成器

Identity Provider

Identity Provider(身份提供商),如果需要外部提供商登錄,比如常見的比如Google, FaceBook這類的,就需要添加Identity Provider并配置相關選項,在兩者間建立互信機制。AWS支持OpenID和SAML聯合登錄。

配置AWS Cli

創建IAM用戶時會給予你一份證書,包含Access Key ID和Secret Access Key

生成證書

當你AWS CLI安裝完成后,需要運行aws configure配置CLI:

?  ~ aws configure
AWS Access Key ID:      # IAM的Access Key ID
AWS Secret Access Key:  # IAM的Secret Access Key
Default region name:    # 默認操作Region的名稱(具體參考http://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html)
Default output:         # 輸出格式json/text/table

配置OK后就可以使用Cli操作許可的AWS資源。

關于IAM最佳實踐

  • 隱藏根賬戶證書
    根賬戶不應該擁有證書,因為根賬戶擁有AWS最大的權限,應當和保護信用卡信息一樣重視。
  • 創建單獨的管理員IAM賬戶
    因為IAM賬戶易于管理,容易改變其權限和整個收回賬戶,所以推薦使用IAM賬戶管理AWS,而不是使用AWS根賬戶。
  • 使用組賦予權限
  • 使用強密碼
  • 使用多重驗證
  • 對應用賦予單獨的IAM賬戶
  • 最小權限
  • 通過使用角色而非共享證書來委托訪問,其他AWS賬戶
  • 定期交替輪換證書,證書需要時常更新
  • 刪除不需要的證書
  • 使用策略條件來增強安全性
  • 監控 AWS 賬戶中的活動

具體有關最佳實踐的描述參見http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/best-practices.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容