前言
這篇文章是出自於線上課程 Ultimate AWS Certified Solutions Architect Associate 的所記錄的筆記。
本文
Users & Groups
- 全名是 Identity and Access Management,是 AWS 的一個 Global Service
 - 在 AWS 所創建的帳戶都是一個 Root account
 - 一個 Account 底下可以有多個 Group
 - Group 可以包涵多個 User
 - User 可以隸屬於很多個 Group,也可以不隸屬於任何一個 Group
 

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由以下的內容所組成
- Version: Policy 版本
 - Id: Policy 識別碼(非必填)
 - 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 來增加密碼的強度,密碼越強,安全度越高。
比方說
- 最小長度
 - 符合特定條件
- 大寫字母
 - 小寫字母
 - 數字
 - 非英文字母(特殊符號) E.g. ! or @
 
 - 允許 IAM 使用者更改密碼
 - 密碼有效期限
 
MFA
這個機制是由 Password 及 Security Device you own (E.g. 自己的手機) 所構成。這個機制的產物有以下這些
- Virtual MFA device
- Google Authenticator (phone-only)
 - Authy (multi-device)
 
 - Universal 2nd Factor (U2F) Security Key
 - Hardware Key Fob MFA device
 
Role
待補充
Security Tools
- IAM Credentials Report (account-level)
 - IAM Access Advisor (user-level): 顯示這些資源最後被使用的時間,進一步移除不常使用的服務,已達到最小權限的原則
 
Takeways
- 除了建立 AWS account,否則不要使用 root account
 - 一個 Group 可以有多個使用者,並指派特定的權限給這些 Group
 - 建立 Password Policy
 - 使用 MFA
 - 建立角色以便於提供使用 AWS Service 的權限
 - 使用 access key 供程式開發
 - 透過 Credential Report 來稽核帳戶的權限
 - 不要外洩 IAM Users & Access Key