第 1 题 · 单选
用户有 sagemaker:CreateTrainingJob,但创建作业时无法指定 execution role。最可能缺什么?
第 09 章 · PDF 第 688-733 页
安全题按五层排查:调用者是谁、角色能做什么、资源是否允许、密钥是否允许、网络是否可达。对 SageMaker 而言,还要区分“把计算放进 VPC”和“阻止容器联网”。
| 对象 | 职责 | ML 场景 |
|---|---|---|
| Identity-based policy | 附在 user/group/role,允许主体执行动作 | SageMaker execution role 读取指定 S3、拉 ECR、写 logs |
| Resource-based policy | 附在 bucket、KMS key 等资源,指定谁可访问 | 跨账户训练数据与模型工件 |
| Permissions boundary | 限制某主体 identity policy 能授予的最大权限 | 团队自助创建角色但不越过平台边界 |
| SCP | 限制 Organizations 账户/OU 的最大可用权限 | 禁止特定 Region、动作或公共网络路径 |
| Session policy | 限制临时会话权限 | federated/assumed role 的额外边界 |
显式 Deny 覆盖 Allow。跨账户通常需要调用者 identity policy 与目标 resource policy 都允许;KMS 还要单独核对 key policy/grant。
| 主体 | 做什么 | 常见失败 |
|---|---|---|
| 调用者/user role | 调用 CreateTrainingJob、StartPipelineExecution 等控制面 API | 缺少 SageMaker action 或 iam:PassRole |
| SageMaker execution role | 被 SageMaker 作业/endpoint 代入,访问 S3、ECR、KMS、CloudWatch 等 | 角色本身无数据/密钥/镜像权限 |
| Model approval role | 更新 Registry approval 状态 | 开发者可以绕过审批或无权审批 |
| Deployment role | 创建/更新 endpoint 和扩缩策略 | 过宽权限或无法读取批准模型 |
iam:PassRole 允许调用者把指定 execution role 交给 SageMaker,不等于调用者自己获得该角色权限。应限制可传递的角色和目标服务。
SageMaker Role Manager 可以按 ML activity 生成定制 IAM 角色,本质仍是 IAM role;它帮助减少手写策略,但不消除审查责任。
| 层 | 能力 | 考点 |
|---|---|---|
| At rest | S3/EBS/EFS/FSx/模型工件使用服务加密或 KMS key | 谁创建 grant、谁能 decrypt、跨账户 key policy |
| In transit | TLS/HTTPS | S3 bucket policy 可拒绝非 SecureTransport |
| Distributed training | Inter-container traffic encryption | 保护训练节点间模型/梯度通信,可能有性能开销 |
| Application payload | 客户端加密、字段级 tokenization/masking | 服务端加密不隐藏应用读取后的明文 |
KMS 使用 envelope encryption:KMS key 保护 data key,data key 加密大量数据。SSE-KMS 高吞吐场景还要注意 KMS 请求配额和成本。
| 能力 | 作用 | 不等于 |
|---|---|---|
| VPC configuration | 给训练/处理/endpoint 创建 ENI,以访问 VPC 内资源 | 不自动禁止所有外网访问 |
| Network isolation | 阻止训练/推理容器发出网络调用 | 不等于把所有资源放入你的 VPC |
| Direct internet access disabled | 限制 Studio/notebook 的直接互联网路径 | 仍需设计 NAT 或 VPC endpoints 访问所需服务 |
私有训练常需要:私有子网 + security group + S3 gateway endpoint + ECR API/DKR、CloudWatch Logs、SageMaker API/runtime 等 interface endpoints。若依赖 PyPI 或外部 API,则需要受控 NAT/代理,或提前把依赖放入镜像/私有仓库。
Network isolation 开启后,容器代码不能自行访问 S3/API;SageMaker 服务仍可按作业配置准备输入和上传输出。需要实时访问外部数据源的代码不适合直接启用该模式。
| 组件 | 状态 | 关键区别 |
|---|---|---|
| Security Group | Stateful,资源/ENI 级 | 允许规则;返回流量自动允许 |
| Network ACL | Stateless,子网级 | 允许/拒绝规则;返回流量也需显式允许 |
| Internet Gateway | VPC 公网入口 | 资源还需 public IP 和路由 |
| NAT Gateway | 私有子网出站互联网 | 不接受互联网主动入站;产生小时/流量成本 |
| Gateway endpoint | S3/DynamoDB 私有路由 | 通过 route table,无 ENI 小时费 |
| Interface endpoint | PrivateLink ENI + 私有 IP | 多数 AWS 服务;需 SG、private DNS、endpoint policy |
| VPC Flow Logs | 记录网络流元数据 | 用于 ACCEPT/REJECT 排错,不抓 payload |
| VPC Peering | VPC 间私有路由 | 非传递,CIDR 不可重叠 |
Site-to-Site VPN 通过互联网加密连接,建立较快;Direct Connect 提供专用网络连接,稳定但开通时间更长,默认不等于应用层加密。
| 方法 | 可逆性/目标 | 例子 |
|---|---|---|
| Masking | 隐藏展示的一部分 | 卡号只显示后四位 |
| Tokenization/Pseudonymization | 用 token 替换身份;若保留映射可重新识别 | customer_id → 随机 token |
| Anonymization | 目标是不可合理重新识别 | 删除/泛化直接和间接标识符 |
| Aggregation | 降低粒度 | 年龄改为年龄段,位置改为区域 |
Amazon Macie 使用 ML 和模式匹配发现 S3 中的 PII、PHI、财务和凭证数据,同时监控 bucket 安全姿态。它输出 policy findings 和 sensitive data findings,可用 managed/custom data identifier,并通过 EventBridge 自动响应。
主来源:Amazon Macie
AWS Secrets Manager 存储、加密、检索并可轮换数据库凭证、API key 等秘密。应用通过 IAM 读取 secret,secret 可用 KMS key 加密。
课件包含 AWS WAF 与 AWS Shield,但当前 MLA-C01 官方 out-of-scope 列表明确包含二者。保留识别级知识即可:
| 服务 | 识别级作用 | 备考处理 |
|---|---|---|
| AWS WAF | 对 HTTP(S) 请求应用 Web ACL 规则 | 不投入详细规则和架构时间 |
| AWS Shield | DDoS 防护服务 | 不投入 Standard/Advanced 细节 |
不要因为课件篇幅大就提高考试权重。临考仍以官方 in-scope/out-of-scope 页面为准。
iam:PassRole。安全题很少只有一层。先写出主体、资源、密钥、网络四列。
第 1 题 · 单选
用户有 sagemaker:CreateTrainingJob,但创建作业时无法指定 execution role。最可能缺什么?
第 2 题 · 多选
跨账户读取 SSE-KMS S3 训练数据通常需要哪些允许?选择三项。
第 3 题 · 匹配
把安全能力与特征匹配。
第 4 题 · 单选
训练容器必须完全禁止出站网络调用,但仍由 SageMaker 提供预配置的 S3 输入 channel。应启用什么?
第 5 题 · 单选
私有子网内的训练作业只需访问 S3,要求不使用 NAT 并降低网络成本。优先配置什么?
第 6 题 · 单选
安全团队要自动发现 S3 训练湖中的护照号、信用卡号和意外提交的 AWS secret key。应使用什么?
第 7 题 · 单选
分布式医疗模型训练要求加密训练节点之间传输的模型更新。应启用什么?
第 8 题 · 多选
哪些做法正确区分 pseudonymization 与 anonymization?选择两项。
第 9 题 · 单选
推理容器需要数据库凭证,并要求自动轮换且不写入镜像。首选什么?
第 10 题 · 排序
排查 SageMaker 读取 SSE-KMS S3 数据的 AccessDenied,按从控制面到资源的顺序排列。
第 11 题 · 单选
VPC Flow Logs 显示目标 interface endpoint 的 443 流量被拒绝。首要检查什么?
第 12 题 · 单选
当前 MLA-C01 官方 out-of-scope 列表中,课件仍讲到的服务组合是哪一项?
尚未提交
从一个真实 SageMaker execution role 出发,只读检查它能访问哪些 S3 prefix、KMS key 和 ECR repository。把发现的最宽权限改写成更小的策略条件,作为本章实践。