ChatGPT 幫我規劃的 PM 進階雲端資安學習進入第一階段:雲端身份與存取管理(IAM)。
什麼是 IAM?
IAM(身份與存取管理)= 管理「誰可以存取什麼」
想像一間公司,裡面有不同的員工,每個人都負責不同的工作。IAM 就像是一個門禁系統,確保正確的人可以進入正確的地方,而不會有人亂闖。
IAM 在雲端環境的作用
- 身份管理 → 確保登入的人真的是他自己(例如:密碼 + 兩步驟驗證)。
- 存取控制 → 控制誰可以看什麼、做什麼(例如:工程師可以改程式,但財務部不能)。
- 權限管理 → 確保每個人只擁有必要的權限,不會過度開放(避免風險)。
為什麼 PM 需要了解?
- 確保公司資料安全:不要讓不該進入系統的人亂動資料。
- 選對存取方式:是要用角色(RBAC)還是條件(ABAC)來決定權限?
- 支援 SSO 登入:讓員工可以用 Google 或公司帳號直接登入系統,不用記一堆密碼。
- SSO(Single Sign-On,單一登入)= 一組帳密,登入多個系統
- 你平常可能要登入很多系統,例如:
- 公司內部網站
- Email(Gmail、Outlook)
- 雲端儲存(Google Drive、OneDrive)
如果每個系統都要分別登入,超級麻煩!SSO 讓你只需要登入一次,就能自動存取所有授權的系統。簡單比喻
SSO 就像是百貨公司的通行證:- 你進百貨公司時,門口的保全確認你的身份(登入 SSO)。
- 之後你去美食街、服飾店、電影院,都不需要再驗證身份(不用再輸入密碼)。
SSO 如何運作?- 你輸入帳密,SSO 服務確認你的身份。
- SSO 服務發給你一張通行證(像門票)。
- 當你開啟其他應用程式時,這些應用程式會自動檢查你的通行證,不需要再輸入密碼。
為什麼要用 SSO?
✅ 省時省力 → 只要登入一次,不用記一堆密碼。
✅ 更安全 → 減少密碼外洩的風險(因為不用到處輸入密碼)。
✅ 容易管理 → IT 團隊可以集中管理使用者存取權限,例如員工離職時,一次移除所有系統的存取權限。-----IAM(身份與存取管理) 的核心概念
IAM 主要關注三件事
- 誰(身份管理)→ 使用者、角色、系統帳號。
- 可以做什麼(存取控制)→ 哪些權限、能不能修改資料。
- 如何驗證身份(身份驗證)→ 確保登入的人是本人。
1️⃣ 最小權限原則(Least Privilege Principle)
📌 屬於 權限管理,確保每個帳號只擁有最低限度的權限,減少風險。
例如:
- 員工 A 只需存取財務報告,則應該僅限於該部分,無法存取 HR 或工程系統。
- 伺服器僅需要讀取某個 S3 bucket,而不應該有刪除權限。
2️⃣ 角色型存取控制(RBAC) vs. 屬性型存取控制(ABAC)
📌 屬於 存取控制(Access Control),決定如何分配權限:
- RBAC(Role-Based Access Control):根據角色來分配(工程師 vs. 財務 vs. 老闆)。
- Admin 角色 → 讀取 & 寫入所有資料
- Developer 角色 → 只能讀取應用程式記錄
- Auditor 角色 → 只能檢視記錄,不能修改
- ABAC(Attribute-Based Access Control):根據屬性來決定存取(如「台灣區員工才能看資料」)。
- 身份屬性(使用者部門、職稱)
- 資源屬性(資料分類、重要性)
- 環境屬性(登入地點、時間、設備類型)
PM 需要關注的點:
- 若管理多人多角色的存取權限,RBAC 會比較簡單,適合 SaaS 產品與標準企業應用。
- 若要更精細控制存取,如「僅限台灣區域的員工能存取某些資料」,ABAC 會更靈活,但實施較複雜。
3️⃣ 雲端身份聯盟(Federated Identity)
📌 屬於 身份驗證(Authentication),確保不同系統間可以共用同一個身份,讓使用者可以使用同一組帳密登入不同系統,而不用為每個系統創建新帳號:
- 例如:用 Google 帳號登入第三方應用(Google Drive、Notion、Slack)。
- 企業員工可使用公司帳號 (SSO) 直接存取 AWS 或 GCP 資源。
主要協議(「讓你安全登入不同系統」 的技術):
1️⃣ OAuth 2.0:授權別的應用程式存取你的資料
👉 想像你去餐廳吃飯,給服務生信用卡結帳,但不告訴他密碼。
- 你允許餐廳(應用程式)用你的卡付款,但不會讓他看到你的密碼(帳號資訊)。
- 例如:用 Facebook 登入 Spotify,Spotify 只知道你的名字 & Email,但不會拿到你的 Facebook 密碼。
2️⃣ OIDC(OpenID Connect):確保你的身份
👉 想像你住飯店,拿房卡開門。
- OAuth 只是「授權」,但 OIDC 會確認你真的是這個人。
- 例如:用 Google 帳號登入 Slack,Slack 需要確認「這個 Google 帳號確實屬於你」。
3️⃣ SAML:企業用來管理員工登入
👉 想像公司給你員工識別證,讓你進入不同的辦公室。
- 例如:公司讓你用同一組帳號登入 Gmail、AWS、HR 系統,而不用每個系統都創帳號。
- SAML 主要用在企業環境,不像 OAuth/OIDC 那麼常見於一般網站。