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.
Utilice scripts de sesión en flotas de sesiones múltiples
Al utilizar scripts de sesión en flotas de varias sesiones, existen requisitos y consideraciones adicionales para garantizar un rendimiento y una seguridad óptimos.
Requisitos
En una flota de sesión única, para un caso determinado, se garantiza que los SessionTerminationganchos SessionStarty se ejecutarán solo una vez. Esto se debe a que hay un mapeo 1:1 de las sesiones a las instancias. Cuando se utilizan flotas multisesión, existe un mapeo N:M de las sesiones a las instancias, en el que cada sesión ejecuta su propio enlace. SessionStartSessionTermination Esto significa que los SessionTerminationenlaces SessionStarty se pueden ejecutar muchas veces en una instancia determinada y en muchos órdenes diferentes. Para disfrutar de la mejor experiencia, los scripts de sesión deberían aplicarse a los scripts de sesión si se utilizan en flotas con varias sesiones:
-
Los scripts son idempotentes.
Cuando ya se ha realizado una acción, los scripts deben gestionar más de una ejecución en la misma instancia con un manejo correcto.
-
Los scripts son independientes.
Como los scripts se ejecutan por sesión, si una sesión se ejecuta SessionTerminationmientras se ejecuta otra SessionStart, no deberían interferir entre sí ni con la experiencia de otras sesiones.
-
Los scripts son eficaces.
En las instancias con varias sesiones, se pueden aprovisionar varias sesiones simultáneamente. Esto significa que puede haber varias ejecuciones simultáneas de los scripts de sesión. Los scripts deben ser eficientes, no consumir recursos excesivos y no afectar a la experiencia de otros usuarios en la instancia ni a la estabilidad de las sesiones.
Muchos de estos requisitos se pueden cumplir manteniendo la lógica del script de sesión centrada en la sesión de usuario específica en la que se ejecuta el script.
Consideraciones de seguridad
AppStream Las imágenes de la versión 2.0 no deben configurarse para permitir a ningún usuario permiso de escritura en los archivos de secuencias de comandos de sesión. Esto introduce un vector de ataque crítico para los usuarios malintencionados, que les permite modificar los archivos de script. Estos archivos podrían ejecutarse entonces como SYSTEM u otro usuario, en función de la configuración.
importante
Es su responsabilidad asegurarse de que sus imágenes AppStream 2.0 estén configuradas de forma segura. Esto es especialmente importante para las instancias de varias sesiones, en las que varios usuarios utilizan la misma instancia. Si las imágenes no se configuran de forma segura, existe un riesgo de seguridad para todos los usuarios de esa instancia.
Lo siguiente debería ocurrir con sus archivos de imágenes y scripts de sesión:
-
Los usuarios no tienen permiso para modificar los archivos de scripts de sesión.
-
Los usuarios no tienen permiso para modificar el script de sesión config.json. El comportamiento predeterminado de la imagen restringe el acceso a los administradores.
Los archivos ejecutables de los scripts de sesión deben almacenarse en un lugar seguro donde no se puedan modificar durante el tiempo de ejecución.
Si el servicio detecta que se ha modificado un ejecutable de script de sesión, no se ejecutará posteriormente ese enlace en esa instancia, cargará los archivos de registro en Amazon S3 (si el registro de Amazon S3 está habilitado) y verá el siguiente mensaje:
El script de sesión no se ejecutó porque el ejecutable se modificó después del aprovisionamiento de la instancia. Se omitió la ejecución por motivos de seguridad.
Si su caso de uso requiere modificar el ejecutable del script de sesión en tiempo de ejecución (por ejemplo, si señala un EXE archivo modificado mediante un proceso de actualización automática en tiempo de ejecución), no pasará las comprobaciones anteriores. En este caso, utilice un script para redirigir la ejecución al ejecutable modificado. Deje el script sin modificar en tiempo de ejecución cuando el servicio realice las comprobaciones de seguridad.
Si los archivos de script de la sesión son excesivamente grandes (más de 100 MB), esto puede provocar retrasos en el aprovisionamiento de las instancias y las sesiones, y las comprobaciones de seguridad tardarán más tiempo (en función del tipo de instancia y de los recursos disponibles). Si su caso de uso requiere scripts de sesión de gran tamaño, considere la posibilidad de utilizar scripts más pequeños para redirigir la ejecución. Esto mejorará las experiencias de aprovisionamiento de instancias y sesiones.
Tenga en cuenta que el servicio solo comprueba el ejecutable definido en los scripts de sesión config.json, y esto solo es un mecanismo alternativo o de mejor esfuerzo. Es su responsabilidad asegurarse de que todas las rutas de código de los ejecutables de los scripts de sesión sean seguras y los usuarios finales no puedan modificarlas.