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 los scripts de sesión para gestionar la experiencia de streaming de sus usuarios de la AppStream versión 2.0
AppStream La versión 2.0 proporciona scripts de sesión en la instancia. Puede utilizar estas secuencias de comandos para ejecutar sus propias secuencias de comandos personalizados cuando se produzcan eventos específicos en las sesiones de streaming. Por ejemplo, puede usar scripts personalizados para preparar su entorno AppStream 2.0 antes de que comiencen las sesiones de streaming de sus usuarios. También puede usar secuencias de comandos personalizados para limpiar las instancias de streaming después de que los usuarios hayan finalizado las sesiones de streaming.
Los scripts de sesión se especifican dentro de una imagen AppStream 2.0. Estos scripts se ejecutan en el contexto del usuario o del sistema. Si los scripts de sesión utilizan la salida estándar para escribir los mensajes de información, error o depuración, estos se pueden guardar, si lo desea, en un bucket de Amazon S3 de su cuenta de Amazon Web Services.
Contenido
- Ejecución de scripts antes de que empiecen las sesiones de streaming
- Ejecución de scripts después de finalizar las sesiones de streaming
- Creación y especificación de scripts de sesión
- Archivo de configuración de scripts de sesión
- Uso de PowerShell archivos de Windows
- Registro de la salida de los scripts de sesión
- Uso de conectores de almacenamiento con scripts de sesión
- Habilitación del almacenamiento en buckets de Amazon S3 de los registros de los scripts de sesión
- Utilice scripts de sesión en flotas multisesión
Ejecución de scripts antes de que empiecen las sesiones de streaming
Puede configurar los scripts para que se ejecuten durante un máximo de 60 segundos antes de se lancen las aplicaciones de los usuarios y empiecen las sesiones de streaming. Esto le permite personalizar el entorno AppStream 2.0 antes de que los usuarios comiencen a transmitir sus aplicaciones. Cuando se ejecutan scripts de sesión, aparece un rotador de carga a los usuarios. Cuando los scripts finalizan correctamente o transcurre el tiempo de espera máximo, empieza la sesión de streaming de los usuarios. Si los scripts no se completan correctamente, se muestra un mensaje de error para los usuarios. Sin embargo, no se impide a los usuarios que usen la sesión de streaming.
Cuando se especifica un nombre de archivo en una instancia de Windows, debe utilizar una doble barra oblicua inversa. Por ejemplo:
C:\\Scripts\\Myscript.bat
Si no utiliza una doble barra oblicua inversa, aparecerá un mensaje de error para informarle de que el archivo .json no tiene el formato correcto.
nota
Cuando los scripts finalizan correctamente, deben devolver un valor de 0. Si los scripts devuelven un valor distinto de 0, AppStream 2.0 mostrará el mensaje de error al usuario.
Cuando ejecuta los scripts antes de que comiencen las sesiones de streaming y el marco de aplicaciones dinámicas AppStream 2.0 no esté habilitado, se produce el siguiente proceso:
-
Los usuarios se conectan a una instancia de flota AppStream 2.0 que no está unida a un dominio. Se conectan mediante uno de los siguientes métodos de acceso:
-
AppStream Grupo de usuarios 2.0
-
SAML 2.0
-
AppStream API 2.0
-
-
El catálogo de aplicaciones se muestra en el portal AppStream 2.0 y los usuarios eligen una aplicación para lanzarla.
-
Tiene lugar uno de los siguientes procesos:
-
Si está habilitada la persistencia de la configuración de las aplicaciones para los usuarios, se descarga y monta el archivo VHD (disco duro virtual) de configuración de la aplicación, en el que se almacenan las personalizaciones y los ajustes de Windows de los usuarios. En este caso se requiere un inicio de sesión de usuario de Windows.
Para obtener información sobre la persistencia de la configuración de las aplicaciones, consulte Habilitación de la persistencia de configuración de la aplicación para sus usuarios de AppStream 2.0.
-
Si la persistencia de la configuración de las aplicaciones no está habilitada, el usuario de Windows ya ha iniciado sesión.
-
-
Se inician los scripts de sesión. Si el almacenamiento persistente está habilitado para los usuarios, también comienza el montaje del conector de almacenamiento. Para obtener más información acerca del almacenamiento persistente, consulte Habilite y administre el almacenamiento persistente para sus usuarios de AppStream 2.0.
nota
No es preciso que haya finalizado el montaje del conector de almacenamiento para que se inicie la sesión de streaming. Si los scripts de sesión finalizan antes que el montaje del conector de almacenamiento, se inicia la sesión de streaming.
Para obtener información acerca de la monitorización del estado del montaje de los conectores de almacenamiento, consulte Uso de conectores de almacenamiento con scripts de sesión.
-
Los scripts de sesión finalizan o se agota el tiempo de espera.
-
Se inicia la sesión de streaming de los usuarios.
-
Se lanza la aplicación que los usuarios han elegido.
Para obtener información sobre el marco dinámico de aplicaciones AppStream 2.0, consulteUso del marco de aplicaciones dinámicas de AppStream 2.0 para crear un proveedor de aplicaciones dinámicas.
Al ejecutar scripts antes de que comiencen las sesiones de streaming y se habilite el marco de aplicaciones dinámico AppStream 2.0, se produce el siguiente proceso:
-
Los usuarios visitan el portal de aplicaciones SAML 2.0 de su organización y eligen la AppStream versión 2.0.
-
Se conectan a una instancia de flota AppStream 2.0 que está unida a un dominio.
-
Si está habilitada la persistencia de la configuración de las aplicaciones para los usuarios, se descarga y monta el archivo VHD de configuración de la aplicación, en el que se almacenan las personalizaciones y los ajustes de Windows de los usuarios.
-
Se produce el inicio de sesión del usuario de Windows.
-
El catálogo de aplicaciones se muestra en el portal AppStream 2.0 y los usuarios eligen una aplicación para lanzarla.
-
Se inician los scripts de sesión. Si el almacenamiento persistente está habilitado para los usuarios, también comienza el montaje del conector de almacenamiento.
nota
No es preciso que haya finalizado el montaje del conector de almacenamiento para que se inicie la sesión de streaming. Si los scripts de sesión finalizan antes que el montaje del conector de almacenamiento, se inicia la sesión de streaming.
Para obtener información acerca de la monitorización del estado del montaje de los conectores de almacenamiento, consulte Uso de conectores de almacenamiento con scripts de sesión.
-
Los scripts de sesión finalizan o se agota el tiempo de espera.
-
Se inicia la sesión de streaming de los usuarios.
-
Se lanza la aplicación que los usuarios han elegido.
Ejecución de scripts después de finalizar las sesiones de streaming
También puede configurar los scripts para que se ejecuten después de que finalicen las sesiones de streaming. Por ejemplo, puede ejecutar un script cuando los usuarios seleccionen Finalizar sesión en la barra de herramientas de la AppStream versión 2.0 o cuando alcancen la duración máxima permitida para la sesión. También puede usar estos scripts de sesión para limpiar su entorno AppStream 2.0 antes de que finalice una instancia de streaming. Por ejemplo, puede usar scripts para liberar los bloqueos de archivos o cargar los archivos de registro. Cuando se ejecutan scripts después de que finalicen las sesiones de streaming, tiene lugar el siguiente proceso:
-
Finaliza la sesión de streaming AppStream 2.0 de tus usuarios.
-
Se inician los scripts de finalización de sesión.
-
Los scripts de finalización de sesión finalizan o se agota el tiempo de espera.
-
Se produce el cierre de sesión del usuario de Windows.
-
En paralelo, se produce uno de los siguientes casos o ambos, si procede:
-
Si está habilitada la persistencia de la configuración de las aplicaciones para los usuarios, se desmonta y se carga a un bucket de Amazon S3 de la cuenta el archivo VHD de configuración de la aplicación, en el que se almacenan las personalizaciones y los ajustes de Windows de los usuarios.
-
Si el almacenamiento persistente está habilitado para los usuarios, el conector de almacenamiento lleva a cabo una sincronización final y se desmonta.
-
-
La instancia de la flota termina.
Creación y especificación de scripts de sesión
Puede configurar y especificar los scripts de sesión para las flotas siempre activas, bajo demanda y de Elastic.
Para configurar y especificar los scripts de sesión para las flotas siempre activas y bajo demanda
Abre la consola AppStream 2.0 en https://console.aws.amazon.com/appstream2
. -
En el panel de navegación, elija Imágenes, Image Builder.
-
Elija un generador de imágenes cuyo estado sea En ejecución y seleccione Conectar.
-
Cuando se lo pidan, seleccione Administrador.
-
Navegue hasta
C:\AppStream\SessionScripts
y abra el archivo de configuraciónconfig.json
.Para obtener información acerca de los parámetros de los scripts de sesión, consulte Archivo de configuración de scripts de sesión.
-
Una vez que haya terminado de realizar cambios, guarde y cierre el archivo
config.json
. -
En el escritorio del generador de imágenes, abra Image Assistant.
-
(Opcional) Puede especificar cualquier otra aplicación que quiera incluir en la imagen.
-
Siga los pasos necesarios en Image Assistant para terminar de crear la imagen.
Si la configuración de scripts de sesión no se puede validar (por ejemplo, porque el archivo .json no tiene el formato correcto), se le notificará cuando elija Desconectar y crear imagen.
nota
Para localizar el archivo de configuración de los scripts de sesión en generadores de imágenes basados en Linux, vaya a
/opt/appstream/SessionScripts/config.json
.
Para configurar y especificar los scripts de sesión para las flotas de Elastic
-
Cree un archivo zip con los scripts de sesión y el archivo config.json. Los archivos de scripts se copiarán en las siguientes ubicaciones. Debe usar estas ubicaciones para su config.json.
-
Para Windows, use
C:\AppStream\SessionScripts\
.SessionScript
-
Para Linux, use
/opt/appstream/SessionScripts/
.SessionScript
nota
Para ejecutar los archivos de scripts de sesión, asegúrese de que el archivo.zip solo contenga los scripts y archivos
config.json
de la sesión y no la carpeta que los contiene. Para obtener más información, consulte Archivo de configuración de scripts de sesión. -
-
Cargue el archivo zip en un bucket de Amazon S3 de su cuenta.
nota
Su VPC debe proporcionar acceso al bucket de Amazon S3. Para obtener más información, consulte Uso de puntos de enlace de VPC de Amazon S3 para funciones 2.0 AppStream .
Debe tener su bucket S3 y su flota AppStream 2.0 en la misma unidad Región de AWS.
Debe tener permisos de IAM para realizar la acción
S3:GetObject
en el objeto del script de la sesión en el bucket de Amazon S3. Para obtener más información sobre cómo almacenar los scripts de sesión en un bucket de Amazon S3, consulte Guardar el icono de la aplicación, el script de configuración, el script de sesión y el VHD en un bucket de S3. Abra la consola AppStream 2.0 en https://console.aws.amazon.com/appstream2
. -
En el panel de navegación, seleccione Flotas.
-
Elija la flota de Elastic que quiera actualizar y, a continuación, seleccione Ver detalles.
-
En la pestaña Configuración de scripts de sesión, elija Editar.
-
Para Objeto de script de sesión en S3, especifique el URI de S3 que representa el objeto de script de sesión o elija Explorar S3 para ir a los buckets de S3 y buscar el objeto de script de sesión.
-
Cuando termine de realizar los cambios, seleccione Guardar cambios.
-
En este momento, los scripts de sesión están disponibles para todas las instancias de flota lanzadas.
nota
También puede configurar los scripts de sesión al crear una nueva flota de Elastic.
Archivo de configuración de scripts de sesión
Para localizar el archivo de configuración de los scripts de sesión en una instancia de Windows, vaya a C:\\ AppStreamSessionScripts\ config.json. En una instancia de Linux, vaya a /opt/appstream/ SessionScripts /config.json. El archivo tiene el formato siguiente.
nota
El archivo de configuración tiene formato .json. Compruebe que cualquier texto que escriba en este archivo esté en formato .json válido.
{ "SessionStart": { "executables": [ { "context": "system", "filename": "", "arguments": "", "s3LogEnabled": true }, { "context": "user", "filename": "", "arguments": "", "s3LogEnabled": true } ], "waitingTime": 30 }, "SessionTermination": { "executables": [ { "context": "system", "filename": "", "arguments": "", "s3LogEnabled": true }, { "context": "user", "filename": "", "arguments": "", "s3LogEnabled": true } ], "waitingTime": 30 } }
Puede utilizar los siguientes parámetros en el archivo de configuración de scripts de sesión.
SessionStart/SessionTermination
-
Los scripts de sesión que se ejecutarán en el evento de sesión apropiado basados en el nombre del objeto.
Tipo: cadena
Obligatorio: no
Valores permitidos:
SessionStart
,SessionTermination
WaitingTime
-
La duración máxima de los scripts de sesión, en segundos.
Tipo: entero
Obligatorio: no
Restricciones: la duración máxima es de 60 segundos. Si los scripts de sesión no han finalizado antes de cumplirse este plazo, se detendrán. Si necesita un script para continuar con la ejecución, láncelo como un proceso independiente.
Executables
-
Los detalles para ejecutar los scripts de sesión.
Tipo: cadena
Obligatorio: sí
Restricciones: el número máximo de scripts que se pueden ejecutar por evento de sesión es de 2 (uno para el contexto del usuario y otro para el contexto del sistema).
Context
-
El contexto en el que se ejecutará el script de sesión.
Tipo: cadena
Obligatorio: sí
Valores permitidos:
user
,system
Filename
-
La ruta completa del script de sesión que se ejecutará. Si no se especifica este parámetro, el script de sesión no se ejecuta.
Tipo: cadena
Obligatorio: no
Restricciones: la longitud máxima del nombre de archivo y su ruta completa es de 1000 caracteres.
.bat
Valores.exe
permitidos:,,.sh
nota
También puede utilizar PowerShell archivos de Windows. Para obtener más información, consulte Uso de PowerShell archivos de Windows.
Arguments
-
Los argumentos del script de sesión o del archivo ejecutable.
Tipo: cadena
Obligatorio: no
Limitaciones de longitud: la longitud máxima de 1000 caracteres.
S3 LogEnabled
-
Cuando el valor de este parámetro se establece en
True
, se crea un bucket de S3 dentro de la cuenta de Amazon Web Services para almacenar los registros creados por el script de sesión. De forma predeterminada, este valor se establece enTrue
. Para obtener más información, consulte la sección Registro de la salida de los scripts de sesión más adelante en este tema.Tipo: Booleano
Obligatorio: no
Valores permitidos:
True
,False
Uso de PowerShell archivos de Windows
Para usar PowerShell archivos de Windows, especifique la ruta completa al PowerShell archivo en el filename
parámetro:
"filename": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
A continuación, especifique el script de sesión en el parámetro arguments
:
"arguments": "-File \"C:\\path\\to\\session\\script.ps1\"",
Por último, compruebe que la política de PowerShell ejecución permita que el PowerShell archivo se ejecute.
Registro de la salida de los scripts de sesión
Cuando esta opción está habilitada en el archivo de configuración, la AppStream versión 2.0 captura automáticamente el resultado del script de sesión que se escribe en la salida estándar. Esta salida se carga en un bucket de Amazon S3 de la cuenta. Puede revisar los archivos de registro con fines de solución de problemas o depuración.
nota
Los archivos de registro se cargan cuando el script de sesión devuelve un valor o cuando transcurre el tiempo establecido en WaitingTime
, lo que ocurra primero.
Uso de conectores de almacenamiento con scripts de sesión
Cuando los conectores de almacenamiento AppStream 2.0 están habilitados, comienzan a montarse cuando se ejecutan los scripts de inicio de sesión. Si el script se basa en el montaje de los conectores de almacenamiento, puede esperar a que estén disponibles. AppStream La versión 2.0 mantiene el estado de montaje de los conectores de almacenamiento del registro de Windows en las instancias de Windows, en la clave siguiente:
<provided user name>HKEY_LOCAL_MACHINE\ SOFTWARE\ Amazon\\ Storage\\ AppStream <Storage connector>
Los valores de la clave del registro son los siguientes:
-
Nombre de usuario proporcionado: el ID de usuario proporcionado a través del modo de acceso. Los modos de acceso y el valor de cada uno de ellos son los siguientes:
-
Grupo de usuarios: la dirección de correo electrónico del usuario
-
URL de streaming: el valor de UserID
-
SAML: el valor de NameID Si el nombre de usuario incluye una barra (por ejemplo, el SAM de un usuario de dominioAccountName), la barra se sustituye por un carácter «-».
-
-
Conector de almacenamiento: el conector de la opción de almacenamiento persistente que se ha habilitado para el usuario. Los valores del conector de almacenamiento son los siguientes:
-
HomeFolder
-
GoogleDrive
-
OneDrive
-
Cada clave de registro del conector de almacenamiento contiene un valor MountStatusDWORD. En la siguiente tabla se enumeran los valores posibles de MountStatus.
nota
Para ver estas claves del Registro, debe tener Microsoft .NET Framework versión 4.7.2 o posterior instalado en la imagen.
Valor | Descripción |
---|---|
0 |
El conector de almacenamiento no se ha habilitado para este usuario |
1 |
El montaje del conector de almacenamiento está en curso |
2 |
El conector de almacenamiento se ha montado correctamente |
3 |
Se ha producido un error al montar el conector de almacenamiento |
4 |
El montaje del conector de almacenamiento está habilitado, pero aún no está montado |
En las instancias de Linux, puede comprobar el estado de montaje de la carpeta principal consultando el valor de appstream_home_folder_mount_status en el archivo ~/.config//-status. appstream-home-folder appstream-home-folder-mount
Valor | Descripción |
---|---|
True |
La carpeta principal se ha montado correctamente |
False | La carpeta principal aún no está montada |
Habilitación del almacenamiento en buckets de Amazon S3 de los registros de los scripts de sesión
Cuando habilita el registro de Amazon S3 en la configuración del script de sesión, la AppStream versión 2.0 captura el resultado estándar del script de sesión. La salida se carga periódicamente en un bucket de S3 de la cuenta de Amazon Web Services. Para cada AWS región, la AppStream versión 2.0 crea un segmento en su cuenta que es exclusivo para su cuenta y la región.
No es necesario realizar ninguna tarea de configuración para administrar estos buckets de S3. Están totalmente gestionados por el servicio AppStream 2.0. Los archivos de registro que se almacenan en cada bucket se cifran en tránsito mediante puntos de enlace SSL de Amazon S3 y en reposo, mediante claves de cifrado administradas por Amazon S3. Los nombres de los buckets siguen el formato específico que se indica a continuación:
appstream-logs-region-code
-account-id-without-hyphens
-random-identifier
código-de-región
-
Este es el código de AWS región en el que se crea la pila con el almacenamiento en cubos de Amazon S3 habilitado para los registros de scripts de sesión.
account-id-without-hyphens
-
Su identificador de cuenta de Amazon Web Services. El ID aleatorio garantiza que no haya ningún conflicto con otros buckets en esa región. La primera parte del nombre del bucket,
appstream-logs
, no cambia entre cuentas o regiones.
Por ejemplo, si especifica los scripts de sesión en una imagen de la región EE.UU. Oeste (Oregón) (us-west-2) con el número de cuenta 123456789012, la versión 2.0 crea AppStream un bucket de Amazon S3 en su cuenta de esa región con el nombre que se muestra. Este bucket solo lo puede eliminar un administrador con permisos suficientes.
appstream-logs-us-west-2-1234567890123-abcdefg
Al desactivar scripts de sesión no se eliminan los archivos de registro almacenados en el bucket de S3. Para eliminar permanentemente los archivos de registro, usted u otro administrador con los permisos adecuados deben hacerlo mediante la consola o la API de Amazon S3. AppStream La versión 2.0 añade una política de bucket que evita la eliminación accidental del bucket. Para obtener más información, consulte la sección Políticas de IAM y el bucket de Amazon S3 para la persistencia de la configuración de aplicaciones en Identity and Access Management para Amazon AppStream 2.0.
Cuando se habilitan los scripts de sesión, se crea una carpeta única para cada sesión de streaming que se inicia.
La ruta de la carpeta donde se almacenan los archivos de registro en el bucket de S3 en la cuenta utiliza la siguiente estructura:
bucket-name
/stack-name
/fleet-name
/access-mode
/user-id-SHA-256-hash
/session-id
/SessionScriptsLogs/session-event
nombre-bucket
-
El nombre del bucket de S3 en el que se almacenan los scripts de sesión. El formato del nombre se describe anteriormente en esta sección.
nombre-de-pila
-
El nombre de la pila de la que procede la sesión.
nombre-de-flota
-
El nombre de la flota en la que se ejecuta el script de sesión.
modo-acceso
-
El método de identidad del usuario:
custom
para la API o CLI AppStream 2.0,federated
para SAML yuserpool
para los usuarios del grupo de usuarios. hash-SHA-256-id-usuario
-
El nombre de carpeta específico del usuario. Este nombre se ha creado utilizando una cadena hexadecimal con hasta SHA-256 en minúsculas generada a partir del identificador de usuario.
id-de-sesión
-
El identificador de la sesión de streaming del usuario. Cada sesión de streaming del usuario genera un identificador único.
evento-de-sesión
-
El evento que generó el registro de script de sesión. Los valores del evento son:
SessionStart
ySessionTermination
.
La siguiente estructura de carpetas de ejemplo se aplica a una sesión de streaming que se inicia desde la pila de prueba y la flota de prueba. La sesión utiliza la API del ID de usuariotestuser@mydomain.com
, a partir de un Cuenta de AWS ID de 123456789012
y el grupo de configuración de test-stack
la región EE.UU. Oeste (Oregón) (us-west-2):
appstream-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
Esta estructura de carpetas de ejemplo contiene un archivo de registro para un script de inicio de sesión del contexto del usuario y un archivo de registro para un script de inicio de sesión del contexto del sistema, si procede.
Utilice scripts de sesión en flotas multisesión
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 SessionTerminationenlaces 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 sesiones a 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 o como 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 selecciona un archivo EXE modificado mediante un proceso de actualización automática en tiempo de ejecución), no superará 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 (según el tipo de instancia y 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.