前言
這篇文章是出自於線上課程 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