本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
托管分层检查点的安全注意事项
本节介绍使用托管分层检查点操作时的重要安全注意事项。它包括 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。有关更多信息,请参阅下列内容: