IAM(Identity Access Management)的功能是什麼?簡單的一句話就是:
Enables you to control who can do what in your AWS account.
它是一項針對AWS 種類繁多的各項服務和資源存取權限的管理服務,透過IAM,我們可以建立和管理AWS的使用者和群組,並設定各種權限來允許和拒絕他們存取AWS資源。
- 除了能針對AWS資源進行精確的存取控制之外,IAM亦能透過ADFS主機與公司AD帳號結合,作到單一登入(SSO, Single Sign on)
- 另外,AWS帳號亦能使用比單純密碼驗證更為安全的多因素認證(Multi-Factor Authentication),透過證明您實際擁有硬體或虛擬MFA裝置,來加強使用者名稱和密碼登入的安全功能。
IAM是一項免費的服務,只要註冊免費的AWS帳號便能使用,下方我們先大致瞭解,並且最後面實際看看它的操作方式。
AWS IAM的特性:
- 集中管理
- 可與AD帳號整合達成SSO目的
- 各項AWS資源細部的存取控制
- 透過User/Group/Roles 三種角色搭配來控制存取權限
- 支援多因素認證(Multi-Factor Authentication)
- 必要時可提供users/groups的暫時性存取功能
- 提供使用者自訂密碼輪替規則
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可直接使用,例如:
- Administrator Access
可存取全部AWS服務和資源的權限。
- Power User Access
除了users和groups的管理之外全部1項的所有權限。
- Read Only Access
包含全部2項的所有權限,但僅能讀取無更改權限。
- 其它依據不同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 |
|
iPhone |
|
Windows Phone |
|
Blackberry |
在手機安裝好Authenticator APP後,執行該APP再回到PC畫面上按下一步,將手機鏡頭對準螢幕上的QR Code進行掃瞄,此時APP會依據QR Code顯示二組數字,再將此數字輸入就可以了。
完成上述的步驟後,便完成了MFA認證的工作,下一次,當登入AWS控制台時,除了要輸入密碼,系統還會問你一串數字,此時要執行手機上的Authenticator APP,在數秒內將APP目前顯示的數字輸入到電腦,否則過了數秒,又會變更成不同的數字
與AD整合
AWS帳號也可以與企業的AD作整合以達到單一登入SSO的功能,這需要一台獨立的ADFS伺服器,這部份的細節我們往後有機會再來討論,我們只要知道它的步驟大致如下: