05/12 2022

【 AWS 雲端資安 Inside out 】 資安架構 IAM 角色簡介

AWS 資安架構 IAM 角色簡介

前面我們介紹了 AWS 的共同承擔責任模型,這篇要來介紹關於 AWS 雲端資安的建構與基礎架構。針對資安的基礎架構,可追溯到美國政府在 2014 年為了加強公部門的資安防護能力,頒布了 NIST CSF(NIST Cybersecurity Framework) 架構。

因為美國公部門落實這個架構非常成功,所以政府也將這套辦法逐漸傳到民間企業以及學術領域,也希望透過此資安架構來提升各單位的資安保護力。根據Gartner調查指出,在2020年時美國已經有50%的企業已經採用此架構,以下將介紹NIST CSF的三大架構要素:

NIST CSF 的三大架構要素

圖片來源:https://www.nist.gov/cyberframework
NIST CSF 的三大結構圖

NIST CSF的三大要素

NIST CSF 提供了一個簡單而有效的結構,其結構組成以風險管理為設計基礎,基於企業既有的標準、指引與最佳實務作法而形成的。NIST CSF 由三個主要要素組成 — — 核心(Framework Core)、層級(Framework Tier)和配置文件(Framework Profile)。

  • 核心(Framework Core):即為核心代表一組網路安全實踐、成果以及技術、運營和管理安全控制,支持五種風險管理功能 — — 識別(Detection)、保護(Protection)、調查(Investigation)、響應(Response)和恢復(Recover),這五種即是最簡單的資安檢核條件,同時也顧及了面對資安事件的前、中、後期,應具備的策略視野與能力。
  • 層級(Framework Tier):表現組織管理 CSF 功能和控制的能力和成熟度,意即組織的資安應對執行能力。
  • 配置文件(Framework Profile):意思就是根據組織與企業本身的業務營運,以及風險容忍度,還有資源成本的運作,如何能夠建立符合「現狀」和「未來」網路安全態勢,並以文件或相對應的計畫進行組織輪廓描寫。

在 NIST CSF 三大要素中,AWS 以其為基礎發展出資安服務的標準,同時將服務內容分為五大面向,以下將進行詳細介紹與教學。

AWS 針對 CSF 五大面向的相關服務介紹

AWS 針對 NIST CSF 五大面向,將自有服務歸類為 IAM、偵測、基礎設備保護、資料保護以及事件回應。以下將針對 IAM 進行簡介:

資料來源:AWS 官網
AWS 針對 CSF 五大面向而分類的相關服務

IAM(Identity & Access Management):

是 AWS 雲端資安裡最基礎的防護措施,IAM 即透過所有權來控管誰能夠使用哪些服務,使用 IAM 控制誰透過身份驗證(登錄)和授權(具有權限)使用資源。

而 IAM 之中,更分為以下四種角色:

  • Root
    透過 Email 註冊及開始使用 AWS 時,這組 Email 就是具有最高權限的root user,以 AWS Best Practice 原則來說,我們不應該使用 root user 的帳號去做任何事情,一旦發生帳密外洩的事件,將失去整組帳號的控制權。最好的做法是立即為 root user 啟用 MFA (多因素驗證),並建立 IAM  er/group 賦予 admin 的權限,並透過該 user/group 來開始啟用服務。
  • User
    可以根據使用單位所訂定的規則來決定每位使用者使用服務的權限
  • Group
    在 AWS Console 裡面被稱為 user group,公司可以針對同部門或是給予一樣權限的user將它們變成群組,這樣一來就不用重複設定同樣的權限
  • Role
    透過 switch/assume role 的方式獲得一個暫時的 token(STS),像賦予不同的角色扮演,被賦予者將會獲得「user」這個角色該有的權限,在一定的時間內,得到相對應的處理權限。有點像是暫時被給予了一頂帽子,但上帽子之後就擁有了變身成魔法師或是其他角色的能力。可以解決user權限的使用者需要跨 AWS 帳號處理事情,或服務之間進行存取的需求,但又不需要給出所有的權限。

建置出以上四個角色之後,更有以下八種情況設定,同步附上相關教學示意:

Policy

通常被翻譯為政策或原則,也就是會針對使用者所能使用的服務權限規定。大多數 Policy 會以 JSON 檔儲存在 AWS 中。基於身份( Identity ) 的 Policy 和自定義附加到 user 或 role 的 JSON 檔。 基於資源(Resource)的 Policy 是附加到 AWS 資源的 JSON 檔。而 Policy 的 JSON 檔長的如下方所示。

S3

Policy JSON 每個語句都包含有關單一權限的訊息。如果 Policy 包含多個語句,AWS 在評估它們時會跨語句應用邏輯 OR。

Policy JSON 每行所代表的意思如下:

  • Version (版本):Policy 語言版本,根據 AWS 最佳實踐請使用 2012–10–17 版
  • Statement (描述):將以下描述做為此 Policy 的主要控制項目。 使用者可以在一個 Policy 中包含多個描述。
  • Sid (描述 id ) (選擇性填寫) – 包含可選的描述 ID 以區分語句。
  • Effect (產生效果) —使用 Allow 或 Deny 指示 Policy 是允許還是拒絕存取。
  • Principal (在某些情況下需要) – 如果創建基於資源的 Policy,則必須指明要允許或拒絕存取的帳戶、user、role 或 Federated 用戶。如果正在創建 IAM 權限 Policy 以附加到 user 或 role,則不能包含 principal。
    **Action (動作) **— 包含 Policy 允許或拒絕的操作列表。
  • Resource (資源) (某些情況下需要) – 如果需要創建 IAM permission Policy,則必須指定操作適用的資源列表。如果創建基於資源的 Policy,則此元素是依照需求可填可不填。如果不填,則控制的資源就是 Policy 附加到的資源。
  • Condition(條件 )(選擇性填寫) – 指定Policy授予權限的情況。

本篇為您完整介紹 IAM 的基礎名詞解釋,敬請鎖定下篇,我們將手把手帶您從登入系統內的 AWS IAM User 與 group 的建置進行更詳細的教學。

請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!

若您有任何 AWS 需求,歡迎與我們聯繫!