在上篇 「Day24 視覺之章-Lake Formation 概念篇」中,我們理解了 Lake Formation 的基本概念,本篇我們要來實際建立透過 LF-Tag 針對 Source 進行管控,並建立 Role 做不同權限的賦予。
Step1:透過使用者 Joe
登入 Lake Formation 並建立自己為 Data lake administrators
後續都將使用
Joe
來做 Lake Formation 的權限管控
Step2:確認有正常建立 Data lake administrators
Step3:關閉使用 IAM 做管理,以下兩個都要取消打勾後,再做儲存
Step1:登入 LF-Tags and permissions 頁面,點選 「Add LF-Tag」準備來建立 LF-Tags
Step2:建立第一個 LF-Tags
Step3:跳轉回頁面後,確認是否有正常建立 DB 用的 LF-Tags
Step4:確認有正常建立後,我們接續建立一個 Table 用的 LF-Tags
Step1:至 Database 頁面
Step2:點選 Assign new LF-Tag
Step3:選擇剛剛建立的 DB LF-Tags
Step4:接著至 Table 頁面
Step5:選擇剛剛建立的 Table LF-Tags
Step6:接著我們到 gold db 做 edit
以上操作後即完成針對 Source 的 LF-Tags 貼標,代表這些 Source 一定得是擁有該 LF-Tags 的 Role 才能> 做查看。
我們將使用
AnimeRole
來進行後續的資料權限管控測試。
Step1:透過使用者 Joe
額外建立一個 Role
AnimeRole
AmazonAthenaFullAccess
Step2:建立 Trust relationships
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account_id>:user/Andy",
"Service": "lakeformation.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Step3:Switch Role
Step1:首先先登入 Athena 然後選擇 Athena 查詢儲存檔的 S3 Bucket 路徑
Step2:再透過使用者 Joe
來新增 AmazonS3FullAccess
Policy 給 AnimeRole
,讓他擁有讀取 S3 Bucket 的權限
Step3:接著使用 Athena 來做查看,可以看到找不到 gold database
這是因為我們還沒賦予
AnimeRole
LF-Tags 的權限
Step4:透過使用者 Joe
將 db anime LF-Tags 賦予 AnimeRole
Step5:先選擇 db LF-Tags
Step6:Database 權限選擇
Step7:接著回到 Athena 查看
Step8:再來我們要來將 table anime LF-Tags 賦予 AnimeRole
Step9:接著我們要選擇 Table 的權限
AnimeRole
擁有查看、讀取的權限Step10:接著回到 Athena 查看
透過以上驗證,我們可以發現到,沒有賦予 LF-Tags 權限的 Role 是無法順利查看相對應的 Source 的。
Step11:透過 Data permissions 頁面,我們可以查看各個 Role 相對應的權限。
在本篇的實作中,我們完整驗證了 Lake Formation (LF) 的權限治理流程,
從 LF-Tag 建立、貼標、授權,到使用 AnimeRole
進行實際查詢測試。
過程中可以清楚看到:
階段 | 狀況 | 結果 |
---|---|---|
未授權任何 LF-Tags | 看不到 gold Database |
✅ 權限生效 |
僅授權 db=anime Tag |
能看到 gold Database,但無法查 Table |
✅ 權限分層 |
同時授權 table=anime Tag |
能看到並查詢 gold.animes_summary |
✅ 權限完整 |
透過這樣的 Tag-based Governance,我們不再需要針對每個 Table 手動賦予權限,而是透過 LF-Tag 來進行集中管理。
這種做法具備三大優勢:
✅ 建議:在企業環境中導入 Lake Formation 時,應該盡早關閉 IAM-based 權限控制,
讓資料湖的授權邏輯全部由 LF 統一管理,確保資料安全與權限一致性。
在下一篇 「Day26 視覺之章-QuickSight 概念篇」 中,我們要來介紹 AWS BI 服務 QuickSight。
QuickSight 將是 Data Lakehouse 架構中「視覺層治理」的最後一塊拼圖,讓整個分析流程從底層 S3 到報表端 QuickSight,將資料實際建立變成可視化的報表。
[1] AWS Lake Formation 官方文件
[2] Athena and Lake Formation Permissions