Amazon MLA-C01: 安全性、治理与合规性 — 学习指南

属于 AWS Machine Learning Engineer Associate MLA-C01 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.

IAM 角色、最小权限和 SageMaker 执行上下文

机器学习工作负载的身份和访问管理要求在人类用户、CI/CD 系统和运行时计算之间实现明确、可审计的权限分离。对于 SageMaker,这意味着定义一个专用的执行角色(一个 IAM 角色,其 AssumeRolePolicyDocument 允许 SageMaker 服务主体 sagemaker.amazonaws.com),并将该角色的权限范围限定为所需的最小操作集:对特定前缀的 S3 GetObject/PutObject,对一个或多个客户托管 CMK 的 kms:Decrypt/kms:Encrypt,对特定 LogGroup ARN 的 logs:CreateLogStream 和 logs:PutLogEvents,以及仅在需要跨账户访问时才使用的 sts:AssumeRole。附加资源级策略条件(aws:SourceAccount 和 aws:SourceArn),以防止由特定 SageMaker 作业或管道创建的产物被其他主体窃取。为训练、模型构建和托管使用不同的角色(传递给 CreateTrainingJob、CreateModel、CreateEndpointConfig 的 RoleArn 字段),以便将运行时权限分块隔离;将这些角色的 ARN 作为参数存储在代码或管道中,而不是嵌入凭证。

对于临时的开发者访问和人工审批,首选通过 AWS STS 担任并使用短期凭证的 IAM 角色,而不是使用长期的 IAM 用户密钥。通过结合使用 IAM 权限边界、AWS Single Sign-On 或 OIDC IdP,以及对 SageMaker Model Registry 模型包的资源级控制,可以实现多人审核和职责分离。当工作流需要临时提权(例如,批准一个模型包)时,应在 SageMaker Model Registry 中使用审批工作流,将 ModelApprovalStatus 设置为 “PendingManualApproval”,并要求一个具有严格限定范围的 sagemaker:ApproveModelPackage 权限的 IAM 主体将其状态更改为 “Approved”。

VPC 隔离、网络控制和加密

网络隔离始于将 SageMaker 训练和推理实例放置在 VPC 子网内,并通过向 CreateTrainingJob、CreateModel、CreateEndpointConfig 和 CreateProcessingJob API 提供明确的 VpcConfig(子网 ID 和安全组 ID)来实现。将此与 VPC 端点(通过 AWS PrivateLink 为 com.amazonaws.region.sagemaker 和 com.amazonaws.region.s3 设置的接口端点,或为 S3 设置的网关端点)相结合,以确保模型产物和 API 流量永远不会穿越公共互联网。为子网启用 VPC Flow Logs,并使用安全组规则将出口流量限制为仅允许访问所需的地址和端口,例如,仅允许访问 S3 VPC 端点,或者在允许下载外部软件包的情况下,仅允许访问 NAT 网关。

必须对静态数据和传输中数据应用加密。对于静态数据,使用带 AWS KMS 的 S3 服务器端加密(SSE-KMS),并通过一个客户托管的 CMK 来保护密钥,该 CMK 的密钥策略应限制管理员和 SageMaker 执行角色的权限(将 CMK ARN 放入 OutputDataConfig.KmsKeyId 或产物的 S3 PutObject SSE-KMS 标头中)。对于附加到训练实例的 EBS 卷,通过 ResourceConfig 指定卷加密,并确保已设置 EBS KMS 密钥。对于容器间流量和网络传输,在 CreateTrainingJob/CreateModel 中启用 EnableInterContainerTrafficEncryption 和 EnableNetworkIsolation,以强制容器间流量使用 TLS 并阻止出站互联网访问;此外,所有对 SageMaker 和 S3 的 REST 和 SDK 调用都应默认利用 HTTPS/TLS。通过在 CMK 上启用 EnableKeyRotation 来轮换 CMK,并使用 CloudTrail 的 KMS 事件来审计密钥使用情况。

审计日志、数据事件和血缘追踪

一个全面的审计跟踪结合了管理平面日志和数据平面事件。使用 AWS CloudTrail 记录所有 SageMaker 和 IAM API 调用;在 CloudTrail 中为 S3 存储桶启用数据事件日志记录(使用 PutEventSelectors,其中 DataResources 指向 S3 ARN),以捕获训练数据集和模型产物的对象级读/写操作。通过确保执行角色具有 logs:CreateLogStream 和 logs:PutLogEvents 权限,将容器日志和训练作业系统日志发送到 CloudWatch Logs;保留策略和订阅筛选器可以将这些日志流式传输到中央 SIEM。对于网络级审计,启用 VPC Flow Logs;对于可疑活动检测,订阅 GuardDuty 的发现结果和用于 S3 敏感数据发现的 Amazon Macie。

血缘追踪要求捕获跨预处理、训练、评估和部署各阶段的产物来源。使用 SageMaker Pipelines 和 SageMaker Experiments 自动创建 Experiment、Trial 和 TrialComponent 记录;这些 API 会记录参数、输入、指标和 ModelPackage 元数据。将元数据持久化到中央元数据存储中:AWS Glue Data Catalog 可用作数据集目录,并存储表级元数据和分区信息,而 SageMaker 的元数据服务则将管道执行与模型产物关联起来。对于跨账户或多源数据摄取,可以使用 AWS Glue 连接(例如用于本地 MySQL 的 JDBC)来集中管理连接,或使用 AWS Database Migration Service (DMS) 将事务性数据复制到 S3/Redshift 中,然后 Glue 爬网程序可以对其进行索引,最后从管道中引用生成的 Glue 表,以维护一条可审计的血缘路径。

模型治理:注册表、模型卡片和监控

SageMaker Model Registry(模型包组和 ModelPackage 对象)提供了权威的中央模型存储,内置了生命周期状态和用于 CI/CD 的挂钩。将训练好的模型注册到 ModelPackageGroup 中,并将 ModelApprovalStatus 设置为 “PendingManualApproval”;自动化流程(CodePipeline、Step Functions)可以暂停,等待授权主体调用 UpdateModelPackage 并将 ModelApprovalStatus 设置为 “Approved”。将注册表与 SageMaker Model Cards 结合使用,以记录预期用途、数据集、训练超参数、血缘关系参考、性能指标、来自 SageMaker Clarify 的公平性指标以及合规性声明。Model Cards 应作为结构化元数据编写,并与 ModelPackage 一起存储,以便审查、审计跟踪和模型卡片与二进制构件保持在同一位置。

运维监控通过使用 SageMaker Model Monitor 进行数据和模型质量漂移检测,以及使用 SageMaker Clarify 进行偏见和可解释性分析来完成。在 CreateEndpoint 上启用 DataCaptureConfig,以将请求和响应负载捕获到安全的 S3 前缀(使用 SSE-KMS),然后配置 Model Monitor 基线生成作业(使用基线统计数据和约束),并计划监控作业或触发按需分析。对于已部署的实时端点上的偏见漂移,捕获推理数据和真实标签(如果可用),针对捕获的数据集运行 Clarify 偏见作业,并将 Clarify 报告存储在 S3 和 Model Cards 中。警报和修复措施可以与 CloudWatch Alarms 和 Step Functions 关联,以实现回滚或隔离模式。

设计模式、权衡和常见陷阱

在集中化多个数据源时,使用带有 JDBC 连接器的 AWS Glue 加上用于精细化访问控制的 AWS Lake Formation 是运维开销最低的模式;使用 DMS 将事务性数据源复制到 S3 可以为机器学习管道提供更好的隔离,但会增加运维复杂性。对于重复训练任务期间的数据集访问延迟问题,与反复将大型数据集复制到本地 EBS 卷相比,使用管道模式(Pipe mode)流式传输 S3 输入,或挂载一个共享文件系统(如 Amazon FSx for Lustre,它将 POSIX 命名空间导出到训练实例)可以减少启动时间。这种方法的权衡之处在于,FSx 增加了成本和管理开销;管道模式更简单,但要求您的训练容器支持流式输入(RecordIO、protobuf)。

对于以最小化运维方式处理类别不平衡和分类特征,可利用 Data Wrangler 或 SageMaker Processing 来生成一致的转换,并将特征数据存储在 SageMaker Feature Store 中,这样离线训练和在线推理就能共享相同的转换。具体到不平衡问题,应优先考虑算法层面的补救措施(对于 XGBoost,将 scale_pos_weight 设置为 num_negative/num_positive),而不是数据层面的重采样;算法层面的方法避免了创建合成记录,并且在管道中操作更简单。对于异常检测和数据集质量检查,可以在专用服务和自定义模型之间选择:Amazon Lookout for Metrics 提供自动异常检测和可视化功能,并带有连接到多个数据源的连接器;而 SageMaker Random Cut Forest(内置算法)则直接集成到管道中,并为自定义阈值和可解释性提供完全控制。

常见陷阱包括过于宽泛的 IAM 角色(过度的 s3:*kms:* 权限)、未能为 S3 启用 CloudTrail 数据事件导致模型构件被窃取时出现盲点、未启用 VPC 端点从而无意中将数据通过公共互联网路由,以及跳过模型批准工作流导致未经审查的模型被推广到生产环境。另一个常见错误是在 S3 中存储明文敏感数据而未使用 SSE-KMS,或者未限制 KMS 密钥策略以防止未经授权的主体使用密钥。

实践问题:用例场景

AcmeFin:一个金融 Web 应用程序的欺诈检测模型。数据源包括 S3 中的交易日志和客户资料,以及包含客户风险评分的本地 MySQL 表。目标是实现安全、可审计的管道,在频繁重训练时具有较低的训练启动延迟,为生产部署设置手动批准门禁,对已部署的端点进行按需偏见/漂移评估,以及对传入数据进行自动异常检测和可视化。

  1. 摄取和集中化数据:使用 AWS DMS 将本地 MySQL 复制到 S3 的一个落地前缀下,并采用严格的 SSE-KMS 加密(存储桶策略限制为 AcmeFin 账户)。通过 Glue 爬网程序将 S3 数据集和分区注册到 AWS Glue Data Catalog,并通过 Lake Formation 权限强制执行访问控制。基本原理:DMS 为事务性表提供持续复制,Glue Catalog 集中了元数据并实现了跨 ETL 和训练的血缘追溯。

  2. 保护计算和存储:创建具有最小权限的专用 SageMaker 执行角色(在 CreateTrainingJob 中使用 RoleArn),其信任策略允许 sagemaker.amazonaws.com;将角色权限限制在特定的 S3 前缀和客户管理的 CMK。通过向 CreateTrainingJobCreateEndpointConfig 提供 VpcConfig.SubnetsVpcConfig.SecurityGroupIds,将所有训练和推理放入私有子网,并为 com.amazonaws.region.s3 和 SageMaker API 创建接口端点,以避免公共互联网出口。基本原理:VPC 隔离加上 VPC 端点可确保构件永远不会穿越公共网络,而带有 CMK 限制的角色可防止密钥滥用。

  3. 最小化训练启动延迟:将大型数据集存储在导出到训练子网的 Amazon FSx for Lustre 上,并对较小的流式输入使用管道模式。配置 CreateTrainingJob,使其 InputDataConfig 指向 FSx 挂载的数据集或使用管道模式的 S3,并通过在任务间保持数据集指针不变来重用热缓存。基本原理:FSx 提供 POSIX 访问并避免重复的 S3 下载;管道模式为支持流式传输的容器减少了复制延迟。

  4. 治理和手动批准:训练完成后,在 SageMaker Model Registry 中注册模型;为新的 ModelPackage 对象设置 ModelApprovalStatus="PendingManualApproval"。使用 AWS CodePipeline/Step Functions 实现一个批准工作流,该工作流要求具有 sagemaker:UpdateModelPackage 权限的主体在 CreateEndpoint 步骤运行前调用 UpdateModelPackage(ModelApprovalStatus="Approved")。基本原理:Model Registry 提供生命周期状态和与 IAM 授权绑定的可审计批准操作。

  5. 按需偏见和漂移检查:在端点上启用 DataCaptureConfig,将请求和响应写入一个 SSE-KMS 加密的 S3 前缀。对于按需偏见分析,运行 SageMaker Clarify 批量作业,引用捕获的数据和模型卡(Model Card)基线;对于持续漂移,安排 SageMaker Model Monitor 作业,将实时分布与基线统计数据进行比较。基本原理:数据捕获加上 Clarify/Model Monitor 提供了即席和计划性评估,其结果与模型元数据一同存储。

  6. 异常检测和可视化:将捕获的指标和特征时间序列连接到 Amazon Lookout for Metrics,以实现自动异常检测和通知,并在 Amazon QuickSight 中可视化结果。或者,如果需要自定义阈值,可以在 SageMaker 中运行一个 Random Cut Forest 训练作业,并将异常呈现在仪表板中。基本原理:Lookout for Metrics 降低了异常检测的运维开销,并与多个源集成以实现快速可视化。

这种方法在安全(VPC、SSE-KMS、受限的 IAM)、治理(Model Registry、Model Cards、批准工作流)、低延迟训练(FSx + 管道模式)和运维监控(DataCapture、Clarify、Model Monitor、Lookout for Metrics)之间取得了平衡,同时通过 Glue Catalog 和 SageMaker Experiments 保持了可审计的血缘关系。


模型监控与可观测性 · 所有领域 · 生成式 AI 与基础模型

练习这些题目 → · 在 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.

通过考试 →

浏览 Amazon →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品