Consideraciones de seguridad para los puntos de comprobación por niveles administrados
En esta sección se describen las consideraciones de seguridad importantes que se deben tener en cuenta al utilizar los puntos de comprobación por niveles administrados. Incluye el uso de pickle de Python, el cifrado de Amazon S3 y la seguridad de los puntos de conexión de la red.
Uso de pickle de Python
Los puntos de comprobación por niveles administrados utilizan el módulo pickle de Python para deserializar los datos de los puntos de comprobación almacenados en Amazon S3. Esta implementación tiene importantes implicaciones de seguridad:
-
Límite de confianza ampliado: cuando se utilizan puntos de comprobación por niveles administrados con Amazon S3, el bucket de Amazon S3 pasa a formar parte del límite de confianza del clúster.
-
Riesgo de ejecución de código: el módulo pickle de Python puede ejecutar código arbitrario durante la deserialización. Si un usuario no autorizado obtiene acceso de escritura al bucket de Amazon S3 de su punto de comprobación, podría crear datos de pickle maliciosos que se ejecutarían cuando los carguen los puntos de comprobación por niveles administrados.
Prácticas recomendadas para el almacenamiento de Amazon S3
Al utilizar los puntos de comprobación por niveles administrados con el almacenamiento de Amazon S3:
-
Limite el acceso al bucket de Amazon S3: asegúrese de que solo los usuarios autorizados y los roles asociados a su clúster de entrenamiento tengan acceso al bucket de Amazon S3 utilizado para los puntos de comprobación.
-
Implemente políticas de bucket: configure las políticas de bucket adecuadas para evitar el acceso o las modificaciones no autorizadas.
-
Supervise los patrones de acceso: implemente el registro y la supervisión para acceder a los buckets de Amazon S3 de sus puntos de comprobación.
-
Valide los nombres de los buckets: tenga cuidado al seleccionar el nombre de los buckets para evitar posibles apropiaciones de los buckets.
Puntos de conexión de red
Los puntos de comprobación por niveles administrados habilitan los puntos de conexión de red de cada uno de sus nodos de computación en los siguientes puertos: 9200/TCP, 9209/UDP, 9210/UDP, 9219/UDP, 9220/UDP, 9229/UDP, 9230/UDP, 9239/UDP y 9240/UDP. Estos puertos son necesarios para que el servicio de puntos de comprobación funcione y mantenga la sincronización de los datos.
De forma predeterminada, la configuración de red de SageMaker restringe el acceso a estos puntos de conexión por motivos de seguridad. Se recomienda mantener estas restricciones predeterminadas.
Al configurar los ajustes de red para los nodos y la VPC, siga las prácticas recomendadas de AWS para las VPC, los grupos de seguridad y las ACL. Para obtener más información, consulte los siguientes temas: