iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
Modern Web

30 天,讓 TypeScript 把你的 Node.js 開發再升級系列 第 29

Day 29|AWS IAM 入門:讓雲端安全運作的身分與權限管理

  • 分享至 

  • xImage
  •  

前言

在前一篇,我們探索了 AWS 的網路基礎 —— VPC

有了網路邊界之後,雲端服務之間可以安全地連線與隔離。

但接下來還有一個更關鍵的問題:

「誰能登入你的 AWS?誰能刪除資料?誰能動到伺服器?」

這,就是 AWS 的安全核心 —— IAM(Identity and Access Management)


一、什麼是 IAM?

💡 一句話理解:

IAM 是 AWS 的身分與權限控管系統,負責決定「誰能做什麼」。

IAM 的全名是 Identity and Access Management

它幫助我們在雲端中安全地管理:

  • 使用者(User)
  • 權限(Policy)
  • 群組(Group)
  • 角色(Role)

換句話說,VPC 解決「資料怎麼流」,

IAM 則解決「人與服務能不能動這些資料」。


二、為什麼需要 IAM?

想像你開了一家公司:

  • EC2 是你的伺服器
  • RDS 是資料庫
  • S3 是雲端儲存櫃
  • 而 IAM 就是你的「門禁系統」

如果沒有 IAM,

那所有人都能進 AWS 控制台、刪資料、上傳亂七八糟的檔案 😱

IAM 的目標是確保:

  1. 每個人都有自己的身分(誰在操作)
  2. 每個身分都有明確權限(能做什麼)
  3. 服務之間的互動是安全的(程式彼此授權)

三、IAM 的四大核心概念

名稱 定義 舉例
User 真實使用者帳號(開發者、管理員) 你的個人登入帳號
Group 一群使用者,方便統一設定權限 後端開發組 / 財務組
Role 給服務使用的「臨時身分」 EC2 或 Lambda 角色
Policy JSON 格式的權限規則,定義能做什麼事 允許 s3:GetObject 讀取檔案

小例子:

一個典型的 Policy(權限規則)長這樣:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-ithome-bucket/*"
    }
  ]
}

它的意思是:

「允許這個使用者從指定的 S3 bucket 讀取檔案。」


四、IAM 的運作邏輯

IAM 的權限設計有兩個層面:

  1. 身份驗證(Authentication)
    • 你是誰?(User / Role)
    • 如何登入?(密碼、多重驗證、Access Key)
  2. 授權(Authorization)
    • 你能做什麼?(根據附加的 Policy)
    • 對哪些資源?(S3、EC2、RDS…)

✅ AWS 的安全哲學:「一切都預設禁止,除非被允許。」

也就是說,沒有被 Policy 明確授權的動作,都會被拒絕。


五、IAM 的常見應用情境

應用場景 做法
開發團隊多人共用 AWS 為每個人建立 IAM User,分配對應權限
EC2 要存取 S3 建立 IAM Role 掛到 EC2 上(不用明文金鑰)
前端要讀取特定 S3 內容 建立具有限制的 Policy,允許 s3:GetObject
CI/CD Pipeline 部署 為 GitHub Actions 或 CodeBuild 建立部署角色

六、安全最佳實踐

1.最小權限原則(Least Privilege)

給使用者只需要的權限,不多不少。

不要為方便而附加「AdministratorAccess」。

2.一人一帳號

不要共用 root 帳號或同一組 Access Key,

建立各自的 IAM User 並開啟 MFA。

3.優先使用 Role,少用 Access Key

金鑰容易洩漏;Role 可安全地授權給 EC2、Lambda。

4.定期檢查權限與使用紀錄

使用 AWS CloudTrail 或 IAM Access Analyzer,

檢查是否有過度開放的權限。


七、IAM 與其他服務的關係

服務 IAM 的角色
EC2 使用 IAM Role 存取 S3 或 RDS
Lambda 以 Role 執行雲端任務(安全且短期)
S3 透過 Policy 管控誰能上傳、讀取
CloudWatch / CloudTrail 搭配 IAM 記錄操作紀錄與審查行為

結語

今天,我們理解了 AWS 的核心安全哲學:

網路的安全靠 VPC,行為的安全靠 IAM。

VPC 幫你築起圍牆,

而 IAM 幫你決定「誰能進出、能做什麼」。

掌握 IAM,就等於掌握了 AWS 的「金鑰」。

它不只是設定權限的工具,更是保障整個雲端架構安全的最後防線。


上一篇
Day 28|AWS VPC 入門:初探雲端世界的隱形網路
下一篇
Day 30|讓 TypeScript 把你的 Node.js 開發再升級 — 心得與完整目錄
系列文
30 天,讓 TypeScript 把你的 Node.js 開發再升級30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言