Amazon DEA-C01: 数据安全、治理和合规 — 学习指南
属于 Amazon Data Engineer Associate DEA-C01 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.
该领域涵盖了在支持分析的同时,保持数据受保护、可审计和合规的控制、服务和操作模式。数据工程师必须设计加密、访问控制、发现和脱敏,以确保分析工作流在运行时不会暴露个人身份信息 (PII) 或破坏服务集成。以下部分重点介绍具体的 AWS 服务和配置——S3/Redshift 加密、KMS、IAM 和资源策略、Lake Formation 的精细化访问、Macie 发现以及 VPC 端点等网络控制——以及在设计管道时会用到的决策标准。
数据服务的静态加密和传输中加密
对所有 AWS 服务端点和客户端 SDK 使用 TLS 进行数据传输加密;通过服务端点、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 或行筛选器,并附加策略,将谓词应用于 Athena 返回的数据。行级筛选器由 Lake Formation 服务在查询规划期间进行评估。
操作细节:
- Lake Formation 权限和 IAM 权限都会被评估;最严格的结果将生效。确保作业同时具有 IAM 角色的 S3 访问权限和 Lake Formation 的授权。
- 使用 Athena 时,将工作组设置为使用 Glue Data Catalog,并为查询结果的 S3 位置配置适当的 LF 访问权限。
决策标准:
- 当需要对下游分析师隐藏敏感列时,使用 Lake Formation 的列级控制。
- 对于多租户数据集,当必须按主体限制行谓词的可见性时,使用行级策略。
- 继续使用 IAM 和 S3 存储桶策略进行粗粒度强制(存储桶/对象级别),并使用 Lake Formation 进行由目录驱动的精细化强制。
数据脱敏、令牌化和 PII 处理
使用 Amazon Macie 扫描 S3 存储桶并通过托管数据标识符运行分类作业来检测 PII。Macie 为 PII 提供自动发现和警报功能,其发现结果可以路由到 Security Hub 或 CloudWatch Events 以用于下游工作流。通过控制台或 aws macie2 create-classification-job 配置 Macie 作业,选择 S3 存储桶范围,并选择托管标识符。
对于脱敏和令牌化:
- 在数据摄取期间,使用 AWS Glue 转换 (Glue ETL PySpark) 或 AWS Lambda 应用确定性或格式保留的脱敏/令牌化。考虑使用 AWS Glue Studio 作业书签和作业参数以实现一致的处理。
- 对于需要可逆令牌的令牌化场景,使用由 KMS 支持的 HSM 或第三方令牌化服务;将令牌映射表存储在由 KMS 加密的安全 DynamoDB 表中,并限制只有授权服务才能访问。
- 对于不可逆的脱敏,应用单向哈希(加盐),使用来自 Secrets Manager 的安全盐值,并谨慎轮换盐值以避免破坏连接(join)操作。
网络与私有流量:
- 为 Glue 和 Secrets Manager 使用 S3 网关端点和接口端点,将数据流量保留在 AWS 网络内,避免暴露于公共互联网。结合使用 VPC 端点策略和 S3 存储桶策略,将访问限制为来自端点主体的流量。
常见陷阱与决策标准
- 无法在现有未加密的 Redshift 集群上启用加密;需从快照恢复到新集群,并使用 –kms-key-id 创建一个加密集群。
- KMS 密钥策略必须明确授予 AWS 数据服务主体(例如 glue.amazonaws.com、redshift.amazonaws.com)执行 GenerateDataKey/Decrypt 的权限;仅有 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 作业进行脱敏/令牌化来修复;对可逆令牌使用客户端或令牌化模式,对不可逆脱敏使用哈希。
- 为 Glue 和 Secrets Manager 创建一个 S3 网关 VPC 端点和接口端点;应用端点策略以限制对 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.
通过考试 →