托管分层检查点的安全注意事项 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

托管分层检查点的安全注意事项

本节介绍使用托管分层检查点操作时的重要安全注意事项。它包括 Python pickle 的使用、Amazon S3 加密和网络端点安全。

Python pickle 的使用

托管分层检查点使用 Python 的 pickle 模块来反序列化存储在 Amazon S3 中的检查点数据。此实现会产生重大安全影响:

  • 扩展信任边界:在 Amazon S3 中使用托管分层检查点功能时,Amazon S3 存储桶将成为集群信任边界的一部分。

  • 代码执行风险:Python 的 pickle 模块可以在反序列化期间执行任意代码。如果未经授权的用户获得了对您的检查点 Amazon S3 存储桶的写入权限,则他们可能会制作恶意 pickle 数据,这些数据在通过托管分层检查点加载时执行。

Amazon S3 存储的最佳实践

在 Amazon S3 存储中使用托管分层检查点功能时:

  • 限制 Amazon S3 存储桶访问权限:确保仅与训练集群关联的授权用户和角色有权访问用于检查点的 Amazon S3 存储桶。

  • 实施存储桶策略:配置适当的存储桶策略以防止未经授权的访问或修改。

  • 验证访问模式:实施日志记录以验证检查点 Amazon S3 存储桶的访问模式。

  • 验证存储桶名称:选择存储桶名称时需保持谨慎,以避免潜在的存储桶劫持风险。

网络端点

托管分层检查点在每个计算节点上启用以下端口上的网络终端节点:9200/TCP、9209/UDP、9210/UDP、9219/UDP、9220/UDP、9229/UDP、9230/UDP、9230/UDP、9239/UDP、9240/UDP。这些端口是检查点服务正常运行并保持数据同步所必需的。

默认情况下,出于安全考虑, SageMaker的网络配置限制对这些端点的访问。建议您保留这些默认限制。

为节点和 VPC 配置网络设置时,请遵循安全组和Amazon的最佳 VPCs实践 ACLs。有关更多信息,请参阅下列内容: