iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
1
自我挑戰組

AWS架構應用系列 第 5

Identity and Access Management (IAM) - Day05

Identity and Access Management (IAM) - Day05

IAM 是提供使用者用來管理用戶對 AWS 資源的存取權限及其身份驗證的服務。基本上的特性有:

  • IAM帳戶使用者可以分為根使用者(root user)與一般使用者(IAM user)。
  • 免費提供的服務。
  • 創建用戶、組和角色,並為其附加策略以控制其對 AWS 資源的存取權限。

IAM user是由root user或是被授權的IAM user所創建,所以前幾天所介紹創建AWS帳戶的方法中,申請免費套餐其實就是申請root user,而AWS Educate/Academy都只是IAM user帳戶。所以原AWS使用者也可以透過root user幫一般使用者創建IAM user帳戶,這是最簡單也是最便利的方式,不過先決條件就是你的IAM user要懂得使用AWS資源,因為AWS的帳單是看root user,並不會針對IAM user來收費。

root user and IAM user

一般初學者通常都是透過 AWS 管理控制台(Console management)進行登入後使用AWS資源,而登入時會有兩種身分可以選擇,根使用者與一般使用者,所需要提供的登入訊息不同,根使用者需要email與密碼,通常還會開啟Multi-Factor Authentication,用來加強帳戶的保護;IAM User則是需要提供account ID,username,password三個訊息,而IAM user是由root user所創建的,所以同一個root user所創建的IAM user中的Account ID都是一樣的,圖一的左手邊就是選擇透過root user登入,右手邊則是選擇用IAM user登入。

AWS 管理控制台登入選項
圖一、AWS 管理控制台登入選項

IAM user登入畫面
圖二、IAM user登入畫面

root user登入畫面二
圖三、root user登入畫面二

root user登入畫面-須提供認證碼
圖四、root user登入畫面-須提供認證碼

創建IAM user

以下演示如何創建一個IAM user,不過在創建之前要先了解一些基礎概念

  • IAM用戶管理是全域的,不管你是在哪一個地區(region)
  • IAM用戶存取AWS資源的方法可以透過AWS管理控制台、程式開發工具組(SDK)以及命令列模式(CLI),AWS管理控制台是透過帳號/密碼來驗證,而SDK和CLI則是透過憑證(credentials),憑證的內容則為Access key ID和Secret access key
  • IAM用戶管理分為用戶(user)、群(group)、角色(role)
  • IAM授權決定可以使用的資源與操作

第一點是比較容易理解,第二點的話,目前我們所有的操作就是屬於AWS管理控制台的操作,至於SDK和CLI的操作,會在後面展示。第三點則是在創建IAM user之前要規劃好,比方說我們有研發團隊跟測試團隊,而研發團隊只能使用EC2,測試團隊允許完整操作EC2,那我們只要把這兩個權限設定好,在授權給這兩個群組,那只要是這兩個群組下的使用者,就擁有這個權限。

進入IAM服務畫面

原則上免費專案、AWS Educate/Academy都可以使用這個功能,只是在授權方面的權限不同,所以不影響以下的操作。登入相關帳號後,右上角顯示的是你目前所在地區,因為IAM是全域的,所以可以不用理會,接著請選擇左上角的_服務_下拉式選單,接著輸入IAM後,方塊下方會出現IAM管理AWS資源存取權,點選這個選項後就會進入IAM的控制台畫面,可參考圖五

AWS管理控制台首頁
圖五、AWS管理控制台首頁

建立新群組

接著在畫面左邊工具列中選擇群組,並按下建立新群組RDteam(注意右上方的地區從新加坡變成全球)
建立新群組
圖六、建立新群組

設定群組名稱
圖七、設定群組名稱

先輸入ec2,則底下會自動篩選政策,請選擇AmazonEC2ReadOnlyAccess
指定群組政策
圖八、指定群組政策

檢閱群組設定
圖九、檢閱群組設定

在依照上述方式建立Testteam,在政策部分則是選擇AmazonEC2FullAccess。

建立使用者

接下來就是將使用者指定到特定群組去,假設Jame是在RDteam,Joe是在Testteam,那我們就可以建立這兩個使用者,分別指定到RDteam與Testteam。選擇左邊功能選單的_使用者_,並按下右邊的_新增使用者_,而新增使用者會有五個步驟,畫面十中我們先輸入使用者帳號,可以發現他是允許我們一次輸入多個使用者,接著是選擇這些使用者的AWS 存取類型,這在上面有提過,不同的存取類型需要不同的認證機制,針對初學者,建議選擇_AWS Management Console 存取_,接著會出現主控台密碼與需要密碼重設選項,可以使用預設值

新增使用者
圖十、新增使用者

接下來就是設定使用者的權限,可以是_新增使用者至群組、從現有的使用者複製許可、直接連接現有政策_這三種方式,我們選擇第一種,這三種方式是互斥的,不能並存,只能選其中一個。

設定使用者許可權限
圖十一、設定使用者許可權限

下一個步驟是標籤,可以使用標籤來組織、追蹤或控制存取此使用者,這是選擇性輸入,可以不用輸入;最後是檢閱,確認沒問題後,就可以新增使用者,而因為前述是自動產生密碼,所以我們必須把帳號/密碼(1)與登入網址(2)通知新使用者,下圖中可以得到這些資訊,可以選擇用email方式通知對方,或是其它通訊軟體。

新使用者相關資訊
圖十二、新使用者相關資訊

Testteam的Joe可以按照此步驟進行新增。新增完畢後可以就上述的登入網址進行登入,並測試權限。


上一篇
傳統系統架構與AWS服務 - Day04
下一篇
Amazon Virtual Private Cloud (Amazon VPC) - Day06
系列文
AWS架構應用24

尚未有邦友留言

立即登入留言