Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Seguridad y mejores prácticas para trabajos con contenedores
Tiempo de ejecución sin root
Deadline Cloud se ejecuta Docker en modo sin root. Las acciones del contenedor se ejecutan como una job-user identidad sin privilegios y no otorgan acceso root al trabajador. La Docker configuración gestionada también habilita la no-new-privileges configuración y utiliza el CDI para el acceso a la GPU.
No añada opciones de contenedor privilegiadassudo, sin contraseña ni acceso a un socket propiedad de la raíz. Docker No monte el Docker socket dentro del contenedor de carga de trabajo.
Comanda la construcción y el escape
Prefiero el reenvío entre argumentos y vectores. El entorno de envoltura predeterminado transfiere cada valor WrappedAction.Command y los introduce WrappedAction.Args como argumentos independientes a. docker container exec Ningún shell analiza esos valores por segunda vez.
No interpoles valores empaquetados sin procesar en un comando como. bash -c "{{WrappedAction.Command}} {{WrappedAction.Args}}" Los metacaracteres del shell de un comando o argumento pueden cambiar la forma en que el shell analiza ese comando.
Cuando tenga que incrustar un valor en un texto que analice otro idioma, utilice la función de representación para ese idioma:
| Analizador | Función | Uso |
|---|---|---|
| Consola POSIX | repr_sh | Argumentos y rutas de Shell. |
| Python | repr_py | Literales de Python incrustados en la fuente de Python. |
| JSON | repr_json | Valores incrustados en un documento JSON. |
| PowerShell | repr_pwsh | PowerShellliterales. |
| scripts de comandos de Windows | repr_cmd | Valores analizados porcmd.exe. |
Una función de representación protege solo el idioma al que se dirige. Por ejemplo, repr_py produce un literal de Python, no un argumento de shell. Pasa los parámetros del trabajo como argumentos de acción cuando la aplicación ya acepta un vector de argumentos.
Haga referencia WrappedAction.* solo en el command o de un gancho de ajusteargs. Los archivos incrustados son compartidos por todas las acciones del entorno, incluso cuando los valores de onEnter las onExit acciones empaquetadas no están dentro del ámbito de aplicación. Mantenga el script de empaquetado incrustado estático y pásele la acción empaquetada como argumentos.
Imágenes, permisos y datos
Utilice una versión de imagen fija o un resumen para que cada sesión reciba el contenido de imagen deseado.
Conceda permiso a las identidades de compilación para insertar imágenes. Proporcione a los roles de cola y flota acceso de solo lectura a Amazon ECR.
No almacene AWS credenciales, secretos de licencia ni claves privadas en una imagen.
Reenvíe solo las variables de entorno requeridas por la carga de trabajo. El entorno de colas predeterminado reenvía una lista de variables de licencia permitidas basadas en el uso y no reenvía las credenciales del anfitrión. AWS
Monta solo los directorios que requiera la carga de trabajo. Utilice montajes de solo lectura para los datos de entrada cuando no sea necesario realizar ninguna acción para modificarlos.
Detenga únicamente el contenedor creado para la sesión actual. No pode ni detenga los contenedores que no estén relacionados con la pieza de trabajo.