iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
Build on AWS

動漫宅的 30 天 AWS Lakehouse 修行日誌系列 第 24

Day24 視覺之章-Lake Formation 概念篇

  • 分享至 

  • xImage
  •  

簡介

在上篇 「Day23 淬鍊之章-資料補跑機制 Backfill 實作篇」中我們完成 Backfill 機制後,我們的資料管線已經具備了自動化與穩定性的基礎,也完成了淬鍊之章的所有內容。

本篇我們要來介紹,Data Lake 的集中式資料治理與安全存取控管服務 Lake Formation。

Lake Formation 是什麼?

AWS Lake Formation (LF) 是一個 集中式資料治理與安全存取控管服務,專門針對 Data Lake (資料湖) 而設計。

它的核心目標是:

  • 提供統一的 存取控制 (Access Control)
  • 支援跨部門、跨服務的 一致性資料治理
  • 保護敏感數據(Column & Row)

👉 你可以把 Lake Formation 想成 Data Lake 的門禁管理員

IAM 決定「能不能進服務」,Lake Formation 決定「進服務後能看到什麼資料」。


Lake Formation 的主要功能

🔑 權限治理 (Permissions)

  • Database 級別:能不能看到這個 DB
  • Table 級別:能不能查這張表
  • Column 級別:能不能看特定欄位(例如 Salary)
  • Row 級別:能不能看特定資料列(例如 Finance 部門員工)

🏷️ 標籤式授權 (LF-Tag)

  • 資料資源可以貼上 Key-Value 標籤
    例如:Department=financeClassification=confidential
  • IAM Role 可以被授予存取這些標籤 → 自動套用到所有符合的 DB/Table/Column
  • 適合 大規模、多部門治理(避免逐張表手動授權)

📊 集中式治理 (Central Governance)

  • LF 作為 Glue Data Catalog 的「安全層」
  • Athena、Redshift Spectrum、Glue、EMR、QuickSight 在查詢時會自動遵循 LF 權限

🔐 細粒度控管 (Fine-grained Access)

  • 欄位遮罩(Column masking)
  • 行級過濾(Row filters)
  • 敏感數據治理(如信用卡號、薪資)

架構運作流程

User / IAM Role
      │
      ▼
   IAM Policy (能不能用 Athena/Glue/Redshift?)
      │
      ▼
   Lake Formation (能看到什麼資料?)
      │
      ├── Database 權限
      ├── Table 權限
      ├── Column 權限
      └── Row Filter / LF-Tag
      │
      ▼
 Glue Data Catalog (Schema/Metadata)
      │
      ▼
 Amazon S3 (Data Lake 資料)

Lake Formation 與其他服務的關係

服務 角色 / 功能說明
IAM 決定能不能用 Athena、Glue、Redshift、EMR
Lake Formation 決定能不能看哪些 DB / Table / Column / Row
Glue Data Catalog 存放 Schema(Database、Table、Column 定義)
S3 存放真實資料
Athena / Redshift Spectrum / Glue / EMR / QuickSight 查詢與分析引擎,會自動遵循 LF 權限

常見使用場景

跨部門數據共享

  • Finance 部門 → 只能看財務數據
  • Marketing 部門 → 只能看行銷數據

敏感數據保護

  • 員工表 → MarketingRole 看不到薪資 (salary) 欄位
  • 只有 HRRole 可以查完整資料

多環境治理

  • Database 有 Environment=prod/test Tag
  • DeveloperRole 只能看到 testProdRole 看到 prod

BI 報表安全性

  • QuickSight 查詢 Athena → 自動套用 LF 權限
  • 不同部門登入 QuickSight → 報表顯示的數據不同

最佳實踐

IAM 控制服務存取,LF 控制資料存取

  • IAM:能不能進 Athena / Glue
  • LF:能不能看到 DB / Table / Column / Row

🔒 最小權限原則

  • 預設拒絕,只授與必要的 LF 權限

🏷️ LF-Tag Based Access Control (TBAC)

  • 大規模治理時,用 Tag 代替 Resource-based 授權

🧩 分層治理設計

  • Database → 高層級(環境)
  • Table → 部門級別
  • Column → 敏感資料
  • Row → 行級過濾

總結與建議

AWS Lake Formation 提供 集中式、安全、細粒度的存取控制,搭配 Glue Catalog、S3、Athena / Redshift 等服務,讓 Data Lake 不只是「資料池」,而是 安全可控的企業資料平台

下篇預告

下篇我們將進入「Day25 視覺之章-Lake Formation 實作篇」,實際根據我們的動漫資料表來劃分權限。

參考資料

[1] AWS 官方文件 - What is AWS Lake Formation?
[2] AWS 官方文件 - What is AWS Glue?


上一篇
Day23 淬鍊之章-資料補跑機制 Backfill 實作篇
系列文
動漫宅的 30 天 AWS Lakehouse 修行日誌24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言