Amazon AWS – IAM

IAM(Identity Access Management)的功能是什麼?簡單的一句話就是:

Enables you to control who can do what in your AWS account.

它是一項針對AWS 種類繁多的各項服務和資源存取權限的管理服務,透過IAM,我們可以建立和管理AWS的使用者和群組,並設定各種權限來允許和拒絕他們存取AWS資源。

  1. 除了能針對AWS資源進行精確的存取控制之外,IAM亦能透過ADFS主機與公司AD帳號結合,作到單一登入(SSO, Single Sign on)
  2. 另外,AWS帳號亦能使用比單純密碼驗證更為安全的多因素認證(Multi-Factor Authentication),透過證明您實際擁有硬體或虛擬MFA裝置,來加強使用者名稱和密碼登入的安全功能。

IAM是一項免費的服務,只要註冊免費的AWS帳號便能使用,下方我們先大致瞭解,並且最後面實際看看它的操作方式。

AWS IAM的特性:

  1. 集中管理
  2. 可與AD帳號整合達成SSO目的
  3. 各項AWS資源細部的存取控制
  4. 透過User/Group/Roles 三種角色搭配來控制存取權限
  5. 支援多因素認證(Multi-Factor Authentication)
  6. 必要時可提供users/groups的暫時性存取功能
  7. 提供使用者自訂密碼輪替規則

AWS IAM High Level Concept:

在開始實際操作前,我們需要先瞭解User、Group、Roles的差異,這三個是IAM權限的主角,亦是我們剛開始使用IAM時會先接觸到的。

User:End Users(我們可以視為最終登入的使用者)

Group:需要共用一組相同權限的使用者群

Roles:與Group類似,但是它只能套用在User和AWS資源(例如EC2),而不能套用在Group;一些AWS資源例如EC2或S3可以直接儲存相關的使用者認證,但會有安全疑慮及管理上的麻煩,因此透過Roles可以解決這類的問題。

Roles & Policy Templates:

瞭解User、Group、Roles之後,AWS IAM設定中有一些預定義的Roles及Policy Templates可直接使用,例如:

  1. Administrator Access

可存取全部AWS服務和資源的權限。

  1. Power User Access

除了users和groups的管理之外全部1項的所有權限。

  1. Read Only Access

包含全部2項的所有權限,但僅能讀取無更改權限。

  1. 其它依據不同AWS資源所訂定的各項存取需求(例如針對S3的存取)。

實際操作:

登入AWS帳號後,你可以在AWS控制台找到IAM的連結(如下圖)。

切換Region

在進入IAM的畫面之前,還記得上文中所提到的Region嗎?初進入AWS控制頁面時,建議你可以先切換目前的Region到離你最近的區域以加快顯示速度。

目前所在的Region會顯示在控制台的右上角,如圖所示帳號旁邊,我目前的Region為US West(Oregon),建議可切換為亞洲地區的東京或新加坡。

進入IAM:

IAM首頁如下圖所示

        首先,我們看上圖1的部份,這是一個可以直接進入IAM首頁的網址,你可以把這個帶有數字不易記住的網址,改為較易理解的帳號,請按Customize,就可以更改;圖中2的區域,表示你目前這個帳號的安全性,驚嘆號表示尚未設定,建議這幾個部份都要依照AWS建議來更改,讓你的帳號都呈現綠色打勾符號比較安全,如下圖是我自己完成後的狀態。

啟用多因素認證

上述的第一項Delete your root access keys AWS會在首次登入後替我們完成,其它大部份對於我們來說都不會有理解上的困難,比較有點難度的是第二項啟用多因素認證(Multi-Factor Authentication),這功能是針對AWS控制台登入模式,在原有的密碼認證外多加了一項認證以確保是你本人進行登錄,請看如下的說明:

        點擊了Manage MFA按鈕之後,會出現如上的詢問對話框,詢問你要選擇啟用那一種MFA Device類型,Virtual MFA Device指的是透過安裝於各式行動裝置上的APP來認證,Hardware MFA Device則是指特定的行動裝置,我們一般都會選擇第一項的Virtual MFA Device,Hardware MFA Device雖然更安全,但這項認證服務及硬體裝置並不是免費的。

        按下一步,AWS跟我們說,要啟用Virtual MFA Device必須先在行動裝置上安裝AWS MFA-Compatible application,按一下here會告訴你適合Android、iOS、Windows等的APP,您也可以參考下表,依據自己手機的系統來安裝:

Android

AWS Virtual MFA;  Google Authenticator

 iPhone

Google Authenticator

 Windows Phone

Authenticator

 Blackberry

Google Authenticator

 

在手機安裝好Authenticator APP後,執行該APP再回到PC畫面上按下一步,將手機鏡頭對準螢幕上的QR Code進行掃瞄,此時APP會依據QR Code顯示二組數字,再將此數字輸入就可以了。

https://lh5.ggpht.com/bXZe72S1LOtFxmaTGER8qKbOtXDXqiF5zgRiS0ebRK0TCMFI9Ht1Fbhdr-gWYnneaQ=h900

完成上述的步驟後,便完成了MFA認證的工作,下一次,當登入AWS控制台時,除了要輸入密碼,系統還會問你一串數字,此時要執行手機上的Authenticator APP,在數秒內將APP目前顯示的數字輸入到電腦,否則過了數秒,又會變更成不同的數字

與AD整合

AWS帳號也可以與企業的AD作整合以達到單一登入SSO的功能,這需要一台獨立的ADFS伺服器,這部份的細節我們往後有機會再來討論,我們只要知道它的步驟大致如下: