IAM 是一套「確認身分、授與權限、記錄行為」的制度與技術,確保正確的人/服務在正確的時間、用正確的方式,存取正確的資源。
安全:避免未授權存取與誤刪誤改。
合規:滿足稽核與法規(如 ISO 27001、GDPR)。
效率:用角色/群組一次到位,減少逐一手動配權。
身分(Identity):誰?— 人員、服務帳號、機器。
驗證(Authentication):真的就是你嗎?— 密碼、MFA、金鑰、憑證。
授權(Authorization):你能做什麼?— 角色、政策、群組、範圍。
補充:稽核(Audit) 會把「做了什麼、什麼時候、由誰」完整留下足跡。
SSO 單一登入、MFA 多因素驗證
RBAC(角色為主)/ABAC(屬性為主)
最小權限(Least Privilege)、零信任(Zero Trust)
JIT/JEA:臨時提權/只允許必要操作
PAM(特權帳號管理)、IGA(治理與審批流程)
接下來跟著course練習用兩個不同的帳號在 Google Cloud 上操作:
Username 1
(Owner):像專案大老闆,幾乎無限制,擁有最高權限,可以新增/刪除員工、管理所有資源。Username 2
(Viewer):像實習生,只能看、不能改。
後面實際操作四個 Tasks(探索 IAM 介面 → 建 Bucket 測試 → 移除專案存取 → 指定 Storage 物件讀取角色)一步步驗證上面的核心觀念,尤其是:
用 Username 1
(大老闆) 的視角:
回到 Username 1 Cloud Console page.
進入 Navigation menu > IAM & Admin > IAM. 現在會在 "IAM & Admin" console.
點擊頁面最上面的 +GRANT ACCESS (授予存取權)
往下滑到 Basic 查看 basic roles:
點擊 CANCEL (取消) 離開 ,這裡只是讓你看看,證明了他就是 Owner,不用真的新增。
用 Username 2
(實習生) 的視角:
Username 2
的視窗,並進入同一個 IAM 頁面Username 2
的角色被標示為 Viewer
最關鍵的發現:頁面頂部的 +GRANT ACCESS 按鈕是灰色的,無法點擊。
展示了 Viewer 的限制——他沒有權力去指派工作或新增成員。
小結:讓我們從介面上可以直觀地感受到了 Owner 和 Viewer 的權力差異。
切換回 Username 1
(大老闆) 的視窗。
建立一個儲存桶 (Create a bucket):身為 Owner,Username 1
有權力建立新的資源。
Navigation menu > Cloud Storage > Buckets,點擊 +CREATE 。[流程和之前同]
Property | Value |
---|
| Name: | globally unique name (create it yourself!) and click CONTINUE. |
| Location Type: | Multi-Region |
上傳一個範例檔案 (Upload a sample file):Username 1
在這個檔案櫃裡放了一份名叫 sample.txt
的文件。
sample.txt
切換到 Username 2
(實習生) 的視窗
驗證存取權:Username 2
也去看了這個儲存桶 (Navigation menu > Cloud Storage > Buckets)。他可以成功看到這個檔案櫃 (bucket
) 和裡面的文件 (sample.txt
)。
這證明了 Viewer 的特性:只能看,不能碰。他無法上傳、刪除或修改任何東西。
小結:驗證了 Viewer 具有「唯讀」的權限。
Username 1
(大老闆) 的視窗
Username 2
的權限:
Username 2
那一列,點擊旁邊的鉛筆圖示(編輯)。Username 2
從員工名冊上劃掉,並收回他的門禁卡。Username 2
(被開除的實習生) 的視窗
Username 2
再次嘗試去看 Cloud Storage 的儲存桶小結:知道如何移除一個人的所有權限,並驗證移除後的效果。
在 Lab Connection 中複製 Username 2 的名字,切換回 Username 1
(大老闆) 的視窗
授予 Username 2
一個特定的角色:
Username 1
重新給 Username 2
一個臨時任務
(Navigation menu > IAM & Admin > IAM)點擊 +GRANT ACCESS,把 Username 2
加回來。
不給予通用的 Viewer 角色,而是給具體的角色:Storage Object Viewer (儲存空間物件檢視者)。
這個新角色的權限是:「你不能在公司裡隨便逛,但我給你一把鑰匙,這把鑰匙只能打開那個特定的檔案櫃,讓你查看裡面的文件。」
切換到 Username 2
(拿到特殊鑰匙的實習生) 的視窗。
驗證新的存取權:
Username 2
再次嘗試從圖形介面(網頁)去看 Cloud Storage,失敗了! 因為他沒有(Project Viewer
)的權限。gsutil ls gs://[YOUR_BUCKET_NAME]
,這個指令的意思是「直接用鑰匙去開那個指定的檔案櫃,告訴我裡面有什麼」。sample.txt
。小結:展示了 最小權限原則 (Principle of Least Privilege)。Username 2 沒有權限瀏覽整個專案,但他被賦予了剛好能完成任務的最小權限——查看特定儲存桶內的物件。