0%

AWS 學習紀錄 Part2 - IAM

前言

這篇文章是出自於線上課程 Ultimate AWS Certified Solutions Architect Associate 的所記錄的筆記。

本文

Users & Groups

  1. 全名是 Identity and Access Management,是 AWS 的一個 Global Service
  2. 在 AWS 所創建的帳戶都是一個 Root account
  3. 一個 Account 底下可以有多個 Group
  4. Group 可以包涵多個 User
  5. User 可以隸屬於很多個 Group,也可以不隸屬於任何一個 Group


      Example of relationship between AWS accounts, users, and user groups

Permission

在 AWS 中應遵循著最小權限原則 (Least privilege principle),僅提供使用者足夠的權限即可。

可以透過 JSON 文件來定義 Policy,言下之意就是,Policy 定義了 User 及 Group 在這個 account 底下能做哪些事情,以下面的範例來說,使用者被允許列出 EC2 相關的資源。

{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allow”,
“Action”: [
“ec2:Describe*“
],
“Resource”: “*“
}
]
}

Policy Structure由以下的內容所組成

  1. Version: Policy 版本
  2. Id: Policy 識別碼(非必填)
  3. Statement: 描述 policy 的內容,其中包含一個或是多個陳述句
    • Sid: 識別碼
    • Effect: 存取狀態(允許 Allow, 拒絕 denied)
    • Action: 資源對象被允許的動作(S3 or EC2)
    • Principal: 針對哪些 account/user/role
    • Resource: 針對哪些資源
    • Condition: 成立的條件(可選)

Defense Mechanisms

保護使用者資料的方法有兩種機制,分別是 Password Policy 及 Multi Factor Authentication (MFA)。

Password Policy

設定 Password Policy 來增加密碼的強度,密碼越強,安全度越高。

比方說

  1. 最小長度
  2. 符合特定條件
    • 大寫字母
    • 小寫字母
    • 數字
    • 非英文字母(特殊符號) E.g. ! or @
  3. 允許 IAM 使用者更改密碼
  4. 密碼有效期限

MFA

這個機制是由 Password 及 Security Device you own (E.g. 自己的手機) 所構成。這個機制的產物有以下這些

  1. Virtual MFA device
    • Google Authenticator (phone-only)
    • Authy (multi-device)
  2. Universal 2nd Factor (U2F) Security Key
  3. Hardware Key Fob MFA device

Role

待補充

Security Tools

  1. IAM Credentials Report (account-level)
  2. IAM Access Advisor (user-level): 顯示這些資源最後被使用的時間,進一步移除不常使用的服務,已達到最小權限的原則

Takeways

  1. 除了建立 AWS account,否則不要使用 root account
  2. 一個 Group 可以有多個使用者,並指派特定的權限給這些 Group
  3. 建立 Password Policy
  4. 使用 MFA
  5. 建立角色以便於提供使用 AWS Service 的權限
  6. 使用 access key 供程式開發
  7. 透過 Credential Report 來稽核帳戶的權限
  8. 不要外洩 IAM Users & Access Key

Reference

  1. Ultimate AWS Certified Solutions Architect Associate 2021