Amazon DEA-C01: 數據安全、治理與合規 — 學習指南
屬於 Amazon Data Engineer Associate DEA-C01 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
此領域涵蓋了在啟用分析的同時,保護資料、使其可稽核且合規的控制措施、服務與操作模式。資料工程師必須設計加密、存取控制、探索與遮罩,以確保分析工作流程在執行時不會洩漏個人可識別資訊 (PII) 或破壞服務整合。以下章節將著重於具體的 AWS 服務與組態——S3/Redshift 加密、KMS、IAM 與資源政策、Lake Formation 細粒度存取、Macie 探索,以及 VPC 端點等網路控制——並加上您在設計管線時會用到的決策標準。
資料服務的靜態與傳輸中加密
使用 TLS 為所有 AWS 服務端點和用戶端 SDK 加密傳輸中的資料;透過服務端點、ALB、API Gateway 以及在 S3 儲存貯體政策中要求 HTTPS 來強制執行。對於 S3 中的靜態加密,可在 SSE-S3、SSE-KMS、SSE-C 或用戶端加密之間選擇,其權衡取捨與 CLI/主控台模式如下:
- SSE-S3 (由 AWS 管理的 AES-256):最簡單;使用
undefined
在儲存貯體上啟用預設加密。
- SSE-KMS (AWS KMS 金鑰):支援金鑰輪替、IAM 與 KMS 金鑰政策,並可透過 CloudTrail 進行稽核;使用 SSE-KMS 設定儲存貯體預設值,並指定 –sse-kms-key-id。需要同時授予服務和主體 IAM 權限及 KMS 金鑰政策存取權 (請參閱下方的 KMS 金鑰政策說明)。
- SSE-C (客戶提供的金鑰):客戶在每次請求時提供金鑰;不使用 KMS;在金鑰傳輸和金鑰洩露處理方面有較高的操作複雜性。
- 用戶端加密:上傳前使用 AWS Encryption SDK 或用戶端程式庫進行信封加密;金鑰由用戶端或自訂的 KMS 使用方式管理。當您必須保留對明文金鑰材料的完全控制權時使用。
決策標準:
- 當需要低營運開銷且不需客戶管理金鑰時,使用 SSE-S3。
- 當需要可稽核性、金鑰輪替,或在跨帳戶或服務共享加密快照時,使用 SSE-KMS。
- 當必須確保 AWS 絕不會存取到明文或金鑰材料時,使用 SSE-C 或用戶端加密。
Redshift 加密:在建立叢集時,透過指定 –encrypted 和 –kms-key-id 或透過主控台來啟用加密。無法對未加密的叢集進行就地加密;若要加密現有叢集快照並還原到一個加密的叢集,請使用
undefined
或帶有 –kms-key-id 的 RestoreFromClusterSnapshot 工作流程。KMS 金鑰政策必須明確允許 Redshift 使用該金鑰 (kms:Encrypt, kms:Decrypt, kms:GenerateDataKey)。
對於所有由 KMS 支援的服務,請確保傳輸中使用 TLS,並限制明文在日誌和快照中的曝險。
用於資料存取的 IAM 政策與資源型政策
IAM 身分政策和資源型政策 (S3 儲存貯體政策、KMS 金鑰政策、VPC 端點政策) 共同決定存取權限。一種具體方法:
- 為運算/服務主體 (EMR、Glue、Redshift、Lambda) 使用 IAM 角色,並附加最低權限政策,允許必要的 S3、Glue、Redshift 和 KMS 操作。
- 使用資源型政策來限制哪些主體或 VPC 端點可以存取 S3 儲存貯體或 API;請謹慎應用明確的 Deny 陳述式,因為 Deny 會覆寫 Allow。
- 對於 VPC 限制的存取,為 S3 建立一個閘道 VPC 端點,並為 Glue、KMS、Secrets Manager 建立介面端點,並使用端點政策控制存取。
CLI/主控台模式:
- 建立閘道端點:
undefined
- 為 Glue 建立介面端點:
undefined
決策標準:
- 使用資源政策來強制執行跨帳戶限制,或要求流量必須源自特定的 VPC 端點。
- 使用 IAM 進行以身分為中心的權限管理,並使用 KMS 金鑰政策來授權服務使用金鑰——單獨使用 IAM 不足以允許 KMS 的使用。
Lake Formation 細粒度權限
Lake Formation 在 Glue Data Catalog 之上集中管理資料湖的存取控制,並為 Athena 和 Glue 任務提供欄層級與列層級的安全性。關鍵模式:
- 在 Lake Formation 中將 S3 位置註冊為資料湖位置,並將 DATA_LOCATION_ACCESS 授予讀/寫這些位置的角色。
- 透過 Lake Formation 主控台或
undefined
授予資料表層級和欄層級的權限;欄層級的授權使用一個欄列表參數,並會影響使用 Data Catalog 的 Athena 和 Glue 查詢。
- 對於列層級的安全性,在資料表上定義 LF-tags 或列篩選器,並附加將述詞 (predicate) 應用於 Athena 回傳資料的政策。列層級篩選器由 Lake Formation 服務在查詢規劃期間進行評估。
操作細節:
- Lake Formation 權限和 IAM 權限都會被評估;將套用最嚴格的結果。確保任務同時擁有 IAM 角色的 S3 存取權限和 Lake Formation 的授權。
- 使用 Athena 時,將工作群組設定為使用 Glue Data Catalog,並為查詢結果的 S3 位置配置適當的 LF 存取權限。
決策標準:
- 當您需要對下游分析師隱藏敏感欄位時,使用 Lake Formation 的欄層級控制。
- 對於多租戶資料集,當必須根據主體使用列述詞 (row predicate) 來限制可見性時,使用列層級政策。
- 繼續使用 IAM 和 S3 儲存貯體政策進行粗粒度的強制執行 (儲存貯體/物件層級),並使用 Lake Formation 進行由目錄驅動的細粒度強制執行。
資料遮罩、權杖化與 PII 處理
使用 Amazon Macie 掃描 S3 儲存貯體並透過託管的資料識別符執行分類任務,以偵測 PII。Macie 提供 PII 的自動化探索與警示,其發現結果可路由至 Security Hub 或 CloudWatch Events 以進行下游工作流程。透過主控台或
undefined
設定 Macie 任務,選取 S3 儲存貯體範圍,並選擇託管的識別符。
遮罩與權杖化:
- 使用 AWS Glue 轉換 (Glue ETL PySpark) 或 AWS Lambda,在擷取過程中應用確定性或格式保留的遮罩/權杖化。可考慮使用 AWS Glue Studio 的任務書籤 (job bookmarks) 和任務參數 (job parameters) 以確保處理的一致性。
- 對於需要可逆權杖的權杖化,請使用由 KMS 支援的 HSM 或第三方權杖化服務;將權杖對應表儲存在以 KMS 加密的 DynamoDB 表格中,並限制只有授權的服務才能存取。
- 對於不可逆的遮罩,請使用單向雜湊 (加鹽),並從 Secrets Manager 取得安全的鹽值,同時謹慎地輪替鹽值以避免破壞 join 操作。
網路與私有流量:
- 使用 S3 閘道端點以及適用於 Glue 和 Secrets Manager 的介面端點,將資料流量保持在 AWS 網路內,避免暴露於公用網際網路。結合 VPC 端點政策與 S3 儲存貯體政策,將存取限制為來自端點主體 (principal) 的流量。
常見陷阱與決策標準
- 無法在現有的未加密 Redshift 叢集上啟用加密;必須從快照還原到一個新叢集,並使用
undefined
來建立一個加密叢集。
- KMS 金鑰政策必須明確授予 AWS 資料服務主體 (例如 glue.amazonaws.com、redshift.amazonaws.com) 執行
undefined
的權限;僅有 IAM 角色的權限是不夠的。
- Lake Formation 和 IAM 的權限會同時被評估——如果任一方拒絕存取或缺乏必要的授權,存取將被阻擋;需同時授予 IAM 角色的 S3 存取權限以及 Lake Formation 的資料表/資料行權限。
- 帶有明確
Deny的 S3 儲存貯體政策會覆寫 IAM 的Allow;應審核儲存貯體政策中可能無意間阻擋服務角色或跨帳戶存取的Deny陳述式。 - VPC 端點政策或端點設定錯誤可能會無聲地阻擋服務流量;應驗證閘道端點的端點主體和路由表關聯,以及介面端點的安全群組。
- Macie 需要對 S3 的讀取權限和正確的儲存貯體政策;確保 Macie 的服務主體被允許,或從具有必要權限的角色來執行掃描。
實務問題:使用案例情境
Acme Health Analytics 將病患的 CSV 檔案儲存在 S3 資料湖中,必須提供分析師對去識別化欄位的存取權限,同時保留執行彙總查詢的能力;所有流量絕不能經過公用網際網路。
- 在 Lake Formation 中註冊 S3 資料湖的位置,並建立一個專用的資料湖管理員角色。
- 設定儲存貯體的預設加密為 SSE-KMS,並建立一個 KMS 金鑰,其金鑰政策需明確授予 Glue、Athena 和 Redshift 服務主體以及分析師 IAM 角色的存取權限。
- 使用 Lake Formation 授予分析師資料表層級的
SELECT權限,但對 PII 欄位應用資料行層級的拒絕,並在需要多租戶區隔時建立資料列層級的篩選器。 - 執行 Macie 分類任務以發現儲存貯體中任何剩餘的 PII,並透過 Glue ETL 任務進行遮罩/權杖化來修復;對於可逆的權杖使用客戶端或權杖化模式,對於不可逆的遮罩則使用雜湊。
- 建立一個 S3 閘道 VPC 端點以及適用於 Glue 和 Secrets Manager 的介面端點;應用端點政策以限制存取僅來自 VPC 流量,並調整 S3 儲存貯體政策以僅允許該端點主體。
AWS 最佳實踐的理由:結合由 KMS 支援的加密、Lake Formation 的精細目錄控制,以及私有 VPC 端點來實施深度防禦——加密保護靜態資料,Lake Formation 控制哪些資料行/資料列可見,而 VPC 端點則避免了公用網路的曝險,同時 KMS 政策確保服務確實能夠解密資料。
← 數據查詢與分析 · 所有領域 · 數據管道監控與疑難排解 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →