

• El panel de AWS Systems Manager CloudWatch dejará de estar disponible después del 30 de abril de 2026. Los clientes pueden seguir utilizando la consola de Amazon CloudWatch para ver, crear y administrar sus paneles de Amazon CloudWatch, tal y como lo hacen actualmente. Para obtener más información, consulte la [documentación del panel de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# AWS Systems Manager Session Manager
<a name="session-manager"></a>

Session Manager es una herramienta de AWS Systems Manager completamente administrada. Con Session Manager, puede administrar las instancias de Amazon Elastic Compute Cloud (Amazon EC2), los dispositivos periféricos, los servidores en las instalaciones y las máquinas virtuales (VM). Puede utilizar un intérprete de comandos interactivo basado en navegador con un solo clic o la AWS Command Line Interface (AWS CLI). Session Manager proporciona una administración de nodos segura sin la necesidad de abrir los puertos de entrada, mantener hosts bastión ni administrar claves SSH. Session Manager también permite el cumplimiento con las políticas corporativas que requieren acceso controlado a nodos administrados, prácticas de seguridad estrictas y registros con detalles del acceso a los nodos, a la vez que ofrecen a los usuarios finales un acceso multiplataforma sencillo con un solo clic a los nodos administrados. Para comenzar a utilizar Session Manager, abra la [consola de Systems Manager](https://console.aws.amazon.com/systems-manager/session-manager). En el panel de navegación, elija **Session Manager**.

## ¿Cómo puede Session Manager beneficiar a mi organización?
<a name="session-manager-benefits"></a>

Session Manager ofrece las ventajas siguientes:
+  **Control centralizado del acceso a los nodos administrados mediante políticas de IAM** 

  Los administradores disponen de un solo lugar para conceder y denegar el acceso a los nodos administrados. Si utiliza solo políticas de AWS Identity and Access Management (IAM), puede controlar qué usuarios individuales o grupos de la organización pueden utilizar Session Manager y a qué nodos administrados pueden acceder. 
+  **Sin puertos de entrada abiertos y sin necesidad de administrar hosts bastión o claves SSH** 

  Dejar abiertos los puertos SSH de entrada y los puertos PowerShell remotos en los nodos administrados aumenta enormemente el riesgo de que las entidades ejecuten comandos no autorizados o maliciosos en los nodos administrados. Session Manager ayuda a mejorar la posición de seguridad y permite cerrar estos puertos entrantes, por lo que no tendrá que realizar tareas de administración de claves y certificados SSH, hosts bastión y cajas de conexiones.
+  **Acceso con un solo clic a los nodos administrados desde la consola y la CLI** 

  Si usa la consola de AWS Systems Manager o de Amazon EC2, podrá iniciar una sesión con un solo clic. Con la AWS CLI, también puede iniciar una sesión que ejecute un único comando o una secuencia de comandos. Dado que los permisos a nodos administrados se proporcionan a través de las políticas de IAM en lugar de con claves SSH u otros mecanismos, el tiempo de conexión se reduce significativamente.
+  **Conexión a instancias de Amazon EC2 y a nodos administrados que no sean de EC2 en entornos [híbridos y multinube](operating-systems-and-machine-types.md#supported-machine-types)** 

  Puede conectarse a instancias de Amazon Elastic Compute Cloud (Amazon EC2) y a nodos que no sean de EC2 en su entorno [híbrido y multinube](operating-systems-and-machine-types.md#supported-machine-types). 

  Para conectarse a nodos que no sean de EC2 con Session Manager, primero debe activar el nivel de instancias avanzadas. **El uso del nivel de instancias avanzadas conlleva un cargo.** No obstante, no se generan cargos adicionales por la conexión a instancias de EC2 mediante Session Manager. Para obtener más información, consulte [Configuración de los niveles de instancias](fleet-manager-configure-instance-tiers.md).
+  **Enrutamiento de puertos** 

  Redirija cualquier puerto dentro del nodo administrado a un puerto local de un cliente. Después, conéctese al puerto local y obtenga acceso a la aplicación de servidor que se está ejecutando dentro del nodo.
+  **Compatibilidad entre plataformas para Windows, Linux y macOS** 

  Session Manager proporciona compatibilidad con Windows, Linux y macOS desde una sola herramienta. Por ejemplo, no es necesario utilizar un cliente de SSH para los nodos administrados de Linux ni de macOS, ni tampoco una conexión de RDP para los nodos administrados de Windows Server.
+  **Registro de la actividad de la sesión** 

  Para cumplir los requisitos de seguridad y operativos de la organización, es posible que tenga que proporcionar un registro de las conexiones realizadas en los nodos administrados y los comandos que se ejecutaron en ellos. También puede recibir notificaciones cuando un usuario de su organización comienza o finaliza la actividad de sesiones. 

  Las capacidades de registro se proporcionan a través de la integración a los siguientes Servicios de AWS:
  + **AWS CloudTrail**: AWS CloudTrail recopila información acerca de las llamadas a la API de Session Manager realizadas en su Cuenta de AWS y la escribe en archivos de registros que se almacenan en un bucket de Amazon Simple Storage Service (Amazon S3) que usted especifique. Se utiliza un bucket para todos los registros de CloudTrail de su cuenta. Para obtener más información, consulte [Registro de llamadas a la API de AWS Systems Manager con AWS CloudTrail](monitoring-cloudtrail-logs.md). 
  + **Amazon Simple Storage Service**: puede elegir almacenar los datos de registro de las sesiones en un bucket de Amazon S3 que prefiera con fines de depuración y solución de problemas. Los datos de registro se pueden enviar al bucket de Amazon S3 con o sin cifrado mediante su AWS KMS key. Para obtener más información, consulte [Registro de los datos de la sesión con Amazon S3 (consola)](session-manager-logging-s3.md).
  + **Registros de Amazon CloudWatch**: Registros de CloudWatch le permite acceder a los archivos de registros de diversos Servicios de AWS, supervisarlos y almacenarlos. Puede enviar los datos de registro de las sesiones a un grupo de registros de los Registros de CloudWatch con fines de depuración y solución de problemas. Los datos de registro se pueden enviar al grupo de registros con o sin cifrado de AWS KMS usando su clave de KMS. Para obtener más información, consulte [Registro de los datos de la sesión con los Registros de Amazon CloudWatch (consola)](session-manager-logging-cloudwatch-logs.md).
  + **Amazon EventBridge** y **Amazon Simple Notification Service**: EventBridge le permite configurar reglas para detectar cuándo se producen cambios en los recursos de AWS que especifique. Puede crear una regla para detectar cuándo un usuario de su organización inicia o detiene una sesión y, luego, recibir una notificación a través de Amazon SNS (por ejemplo, un mensaje de texto o de email) sobre el evento. También puede configurar un evento de CloudWatch para iniciar otras respuestas. Para obtener más información, consulte [Supervisión de la actividad de la sesión con Amazon EventBridge (consola)](session-manager-auditing.md#session-manager-auditing-eventbridge-events).
**nota**  
El registro no está disponible para las sesiones de Session Manager que se conectan a través del reenvío de puertos o de SSH. Esto se debe a que SSH cifra todos los datos de la sesión dentro de la conexión TLS segura establecida entre los puntos de conexión AWS CLI y Session Manager, y Session Manager solo funciona como túnel para las conexiones de SSH.

## ¿Quién debe utilizar Session Manager?
<a name="session-manager-who"></a>
+ Cualquier cliente de AWS que quiera mejorar su posición de seguridad, reducir los costos operativos mediante la centralización del control de accesos de los nodos administrados y reducir el acceso de entrada de los nodos. 
+ Expertos en seguridad de la información que deseen monitorear y realizar un seguimiento de la actividad de los nodos administrados y del acceso a ellos, cerrar los puertos de entrada de los nodos administrados o permitir las conexiones a nodos administrados que no tengan una dirección IP pública. 
+ Administradores que deseen conceder y revocar acceso desde un solo lugar y que deseen proporcionar una solución a los usuarios para los nodos administrados de Linux, macOS y Windows Server.
+ Usuarios que deseen conectarse a un nodo administrado con un solo clic desde el navegador o la AWS CLI sin tener que proporcionar claves de SSH.

## ¿Cuáles son las características principales de Session Manager?
<a name="session-manager-features"></a>
+ **Compatibilidad con nodos administrados de Windows Server, Linux y macOS**

  Session Manager le permite establecer conexiones seguras con las instancias de Amazon Elastic Compute Cloud (EC2), los dispositivos periféricos, los servidores en las instalaciones y las máquinas virtuales (VM). Para ver una lista de los tipos de sistemas operativos admitidos, consulte [Configuración de Session Manager](session-manager-getting-started.md).
**nota**  
Session ManagerLa compatibilidad de con máquinas locales se proporciona solo para el nivel de instancias avanzadas. Para obtener más información, consulte [Activación del nivel de instancias avanzadas](fleet-manager-enable-advanced-instances-tier.md).
+  **Acceso de la consola, la CLI y el SDK a las funcionalidades de Session Manager** 

  Puede trabajar con Session Manager de las siguientes formas:

  La **consola de AWS Systems Manager** incluye el acceso a todas las capacidades de Session Manager, tanto para los administradores como para los usuarios finales. Puede llevar a cabo cualquier tarea relacionada con las sesiones por medio de la consola de Systems Manager. 

  La consola de Amazon EC2 proporciona a los usuarios finales la posibilidad de conectarse a instancias de EC2 para las cuales se les han concedido permisos de sesión.

  La **AWS CLI** incluye acceso a las funcionalidades de Session Manager para usuarios finales. Puede comenzar una sesión, ver una lista de sesiones y terminar una sesión de forma permanente a través de la AWS CLI. 
**nota**  
Si desea utilizar la AWS CLI para ejecutar comandos de sesión, debe utilizar la versión 1.16.12 (o una posterior) de la CLI y tener instalado el complemento de Session Manager en su equipo local. Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md). Para ver el complemento en GitHub, consulte [session-manager-plugin](https://github.com/aws/session-manager-plugin).
+  **Control de acceso de IAM** 

  Mediante el uso de políticas de IAM, puede controlar qué miembros de la organización pueden iniciar sesiones en nodos administrados y a qué nodos pueden acceder. También puede proporcionar acceso temporal a los nodos administrados. Por ejemplo, es posible que desee ofrecer a un ingeniero de guardia (o un grupo de ingenieros de guardia) el acceso a servidores de producción solo para la duración de su turno.
+  **Compatibilidad de registro** 

  Session Manager proporciona opciones para los historiales de las sesiones de registro en su Cuenta de AWS a través de la integración a una serie de otros Servicios de AWS. Para obtener más información, consulte [Registro de la actividad de la sesión](session-manager-auditing.md) y [Habilitar y deshabilitar el registro de la sesión](session-manager-logging.md).
+  **Perfiles configurables de shell** 

  Session Manager le ofrece opciones para configurar preferencias dentro de las sesiones. Estos perfiles personalizables le permiten definir preferencias, como las preferencias de shell, las variables de entorno, los directorios de trabajo y la ejecución de varios comandos cuando se inicia una sesión.
+  **Compatibilidad con el cifrado de datos clave del cliente** 

  Puede configurar Session Manager para que cifre los registros de datos de las sesiones que se envían a un bucket de Amazon Simple Storage Service (Amazon S3) o se transmiten a un grupo de Registros de CloudWatch. También puede configurar Session Manager para cifrar aún más los datos transmitidos entre equipos del cliente y los nodos administrados durante las sesiones. Para obtener información, consulte [Habilitar y deshabilitar el registro de la sesión](session-manager-logging.md) y [Configurar preferencias de sesión](session-manager-getting-started-configure-preferences.md).
+  **AWS PrivateLink Compatibilidad de para nodos administrados sin direcciones IP públicas** 

  También puede configurar los puntos de conexión de VPC para Systems Manager mediante AWS PrivateLink para asegurar aún más las sesiones. AWS PrivateLink limita todo el tráfico de red entre los nodos administrados, Systems Manager y Amazon EC2 a la red de Amazon. Para obtener más información, consulte [Mejora de la seguridad de las instancias de EC2 mediante puntos de conexión de VPC para Systems Manager](setup-create-vpc.md).
+  **Tunelización** 

  En una sesión, utilice un documento de AWS Systems Manager (SSM) de tipo sesión para tunelizar el tráfico, como http o un protocolo personalizado, entre un puerto local en un equipo cliente y un puerto remoto en un nodo administrado.
+  **Comandos interactivos** 

  Cree un documento SSM de tipo sesión que utilice una sesión para ejecutar de forma interactiva un único comando, lo que le ofrece una forma de administrar lo que los usuarios pueden hacer en un nodo administrado.

## ¿Qué es una sesión?
<a name="what-is-a-session"></a>

Una sesión es una conexión a un nodo administrado efectuada con Session Manager. Las sesiones se basan en un canal de comunicación bidireccional seguro entre el cliente (usted) y el nodo administrado remoto que transmite elementos de entrada y salida para los comandos. El tráfico entre un cliente y un nodo administrado se cifra con TLS 1.2, y las solicitudes para crear la conexión se firman con Sigv4. Esta comunicación bidireccional permite el acceso interactivo de bash y PowerShell a los nodos administrados. También puede utilizar una clave de AWS Key Management Service (AWS KMS) para cifrar aún más los datos, más allá del cifrado TLS predeterminado.

Por ejemplo, digamos que John es un ingeniero de guardia en su departamento de TI. Este recibe la notificación de un problema que le exige conectarse remotamente a un nodo administrado, como, por ejemplo, un error que requiere la solución de problemas o una directiva para cambiar una opción de configuración sencilla en un nodo. Mediante la consola de AWS Systems Manager, la consola de Amazon EC2 o la AWS CLI, John inicia una sesión que lo conecta al nodo administrado, ejecuta comandos en el nodo necesarios para completar la tarea y, a continuación, termina la sesión.

Cuando John envía ese primer comando para iniciar la sesión, el servicio Session Manager autentica su ID, verifica los permisos concedidos por una política de IAM, comprueba las opciones de configuración (como, por ejemplo, comprobando los límites permitidos para las sesiones) y envía un mensaje a SSM Agent para abrir la conexión bidireccional. Una vez establecida la conexión y después de que John escribe el siguiente comando, la salida del comando de SSM Agent se carga en este canal de comunicación y se envía a su máquina local.

**Topics**
+ [¿Cómo puede Session Manager beneficiar a mi organización?](#session-manager-benefits)
+ [¿Quién debe utilizar Session Manager?](#session-manager-who)
+ [¿Cuáles son las características principales de Session Manager?](#session-manager-features)
+ [¿Qué es una sesión?](#what-is-a-session)
+ [Configuración de Session Manager](session-manager-getting-started.md)
+ [Uso de Session Manager](session-manager-working-with.md)
+ [Registro de la actividad de la sesión](session-manager-auditing.md)
+ [Habilitar y deshabilitar el registro de la sesión](session-manager-logging.md)
+ [Esquema del documento de Session](session-manager-schema.md)
+ [Resolución de problemas de Session Manager](session-manager-troubleshooting.md)

# Configuración de Session Manager
<a name="session-manager-getting-started"></a>

Antes de usar AWS Systems Manager Session Manager para conectarse a los nodos administrados de la cuenta, realice los pasos en los siguientes temas.

**Topics**
+ [Paso 1: completar los requisitos previos de Session Manager](session-manager-prerequisites.md)
+ [Paso 2: verificación o agregación de permisos de instancia para Session Manager](session-manager-getting-started-instance-profile.md)
+ [Paso 3: controlar el acceso de la sesión a los nodos administrados](session-manager-getting-started-restrict-access.md)
+ [Paso 4: configurar las preferencias de sesión](session-manager-getting-started-configure-preferences.md)
+ [Paso 5: (Opcional) Restringir el acceso a los comandos de una sesión](session-manager-restrict-command-access.md)
+ [Paso 6: (Opcional) Utilizar AWS PrivateLink para configurar un punto de enlace de la VPC para Session Manager](session-manager-getting-started-privatelink.md)
+ [Paso 7: (Opcional) Activar o desactivar los permisos administrativos de la cuenta ssm-user](session-manager-getting-started-ssm-user-permissions.md)
+ [Paso 8: (Opcional) Permitir y controlar permisos para conexiones de SSH mediante Session Manager](session-manager-getting-started-enable-ssh-connections.md)

# Paso 1: completar los requisitos previos de Session Manager
<a name="session-manager-prerequisites"></a>

Antes de utilizar Session Manager, asegúrese de que el entorno cumple los siguientes requisitos.


**Session ManagerRequisitos previos de**  

| Requisito | Descripción | 
| --- | --- | 
|  Sistemas operativos compatibles  |  Session Manager admite la conexión a instancias de Amazon Elastic Compute Cloud (Amazon EC2) y a equipos que no son de EC2 en su entorno [híbrido y multinube](operating-systems-and-machine-types.md#supported-machine-types) que utilizan el nivel de *instancias avanzadas*. Session Manager es compatible con las siguientes versiones de los sistemas operativos:  Session Manager admite instancias de EC2, dispositivos periféricos, servidores en las instalaciones y máquinas virtuales (VM) en su entorno [híbrido y multinube](operating-systems-and-machine-types.md#supported-machine-types) que utilizan el nivel de *instancias avanzadas*. Para obtener más información acerca de las instancias avanzadas, consulte [Configuración de los niveles de instancias](fleet-manager-configure-instance-tiers.md).   **Linux y **macOS****  Session Manager es compatible con todas las versiones de Linux y macOS que admite AWS Systems Manager. Para obtener más información, consulte [Sistemas operativos y tipos de equipos compatibles](operating-systems-and-machine-types.md).  ** Windows **  Session Manager admite Windows Server 2012 y versiones posteriores.  Microsoft Windows Server 2016 Nano no es compatible.   | 
|  SSM Agent  |  Como mínimo, debe estar instalada la versión 2.3.68.0 de AWS Systems Manager SSM Agent o una posterior en los nodos administrados a los que desee conectarse a través de sesiones.  Para utilizar la opción de cifrar los datos de la sesión con una clave creada en AWS Key Management Service (AWS KMS), el nodo administrado debe tener instalada la versión 2.3.539.0 de SSM Agent o una posterior.  Para utilizar perfiles de shell en una sesión, el nodo administrado debe tener instalada la versión 3.0.161.0 de SSM Agent o una posterior. Para iniciar una sesión de SSH o de reenvío de puertos de Session Manager, el nodo administrado debe tener instalada la versión 3.0.222.0 de SSM Agent o una posterior. Para transmitir datos de la sesión mediante los Registros de Amazon CloudWatch, el nodo administrado debe tener instalada la versión 3.0.284.0 de SSM Agent o una posterior. Para obtener información acerca de cómo determinar el número de versión que se ejecuta en una instancia, consulte [Verificación del número de versión de SSM Agent](ssm-agent-get-version.md). Para obtener más información acerca de la instalación manual o la actualización automática de SSM Agent, consulte [Uso de SSM Agent](ssm-agent.md).  Acerca de la cuenta ssm-user A partir de la versión 2.3.50.0 de SSM Agent, el agente crea una cuenta de usuario en el nodo administrado, con permisos raíz o de administrador, denominada `ssm-user`. (En las versiones anteriores a la 2.3.612.0, la cuenta se crea cuando SSM Agent se inicia o se reinicia. En la versión 2.3.612.0 y posteriores, la cuenta `ssm-user` se crea la primera vez que se inicia una sesión en el nodo administrado). Las sesiones se lanzan con las credenciales administrativas de esta cuenta de usuario. Para obtener más información acerca de cómo restringir el control administrativo para esta cuenta, consulte [Activación o desactivación de los permisos administrativos de la cuenta ssm-user](session-manager-getting-started-ssm-user-permissions.md).   ssm-user en controladores de dominio de Windows Server A partir de la versión 2.3.612.0 de SSM Agent, la cuenta `ssm-user` no se crea automáticamente en los nodos administrados que se utilizan como controladores de dominio de Windows Server. Para utilizar Session Manager en un equipo Windows Server que se utiliza como un controlador de dominio, debe crear la cuenta `ssm-user` de forma manual si ella aún no está presente y asignar permisos de administrador de dominio al usuario. En Windows Server, SSM Agent establece una nueva contraseña para la cuenta `ssm-user` cada vez que se inicia una sesión, por lo que no es necesario especificar ninguna contraseña cuando se crea la cuenta.   | 
|  Conectividad a puntos de enlace  |  Los nodos administrados a los que se conecta también deben permitir el tráfico saliente HTTPS (puerto 443) a los siguientes puntos de conexión: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/session-manager-prerequisites.html) Para obtener más información, consulte los temas siguientes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/session-manager-prerequisites.html) Alternativamente, puede conectarse a los puntos de enlace necesarios mediante los puntos de enlace de la interfaz. Para obtener más información, consulte [Paso 6: (Opcional) Utilizar AWS PrivateLink para configurar un punto de enlace de la VPC para Session Manager](session-manager-getting-started-privatelink.md).  | 
|  AWS CLI  |  (Opcional) Si utiliza la AWS Command Line Interface (AWS CLI) para iniciar sus sesiones (en lugar de utilizar la consola de AWS Systems Manager o la consola de Amazon EC2), su equipo local debe tener instalada la versión 1.16.12 de la CLI o una posterior. Puede llamar a `aws --version` para comprobar la versión. Si necesita instalar o actualizar la CLI, consulte [Instalación de la AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) en la Guía del usuario de AWS Command Line Interface. Cada vez que se agregan herramientas nuevas a Systems Manager o se actualizan las herramientas existentes, se lanza una versión actualizada de SSM Agent. No utilizar la versión más reciente del agente puede impedir que el nodo administrado utilice diversas herramientas y características de Systems Manager. Por este motivo, se recomienda automatizar el proceso de mantener SSM Agent actualizado en los equipos. Para obtener más información, consulte [Automatización de las actualizaciones de SSM Agent](ssm-agent-automatic-updates.md). Suscríbase a la página [SSM Agent Release Notes](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md) en GitHub para recibir notificaciones sobre las actualizaciones de SSM Agent. Además, si desea utilizar la CLI para administrar los nodos con Session Manager, debe instalar primero el complemento de Session Manager en su equipo local. Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).  | 
|  Activación del nivel de instancias avanzadas (entornos [híbridos y multinube](operating-systems-and-machine-types.md#supported-machine-types))  |  Para conectarse a equipos que no son de EC2 mediante Session Manager, debe activar el nivel de instancias avanzadas en la Cuenta de AWS y la Región de AWS donde crea activaciones híbridas para registrar equipos que no son de EC2 como nodos administrados. El uso del nivel de instancias avanzadas conlleva un cargo. Para obtener más información acerca del nivel de instancias avanzadas, consulte [Configuración de los niveles de instancias](fleet-manager-configure-instance-tiers.md).  | 
|  Verificación de los permisos de rol de servicio de IAM (entornos [híbridos y multinube](operating-systems-and-machine-types.md#supported-machine-types))  |  Los nodos activados de manera híbrida utilizan el rol de servicio de AWS Identity and Access Management (IAM) especificado en la activación híbrida para comunicarse con las operaciones de la API de Systems Manager. Este rol de servicio debe contener los permisos necesarios para conectarse a los equipos [híbridos y multinube](operating-systems-and-machine-types.md#supported-machine-types) mediante Session Manager. Si el rol de servicio contiene la política administrada por AWS `AmazonSSMManagedInstanceCore`, ya se habrán proporcionado los permisos necesarios para Session Manager. Si descubre que el rol de servicio no contiene los permisos necesarios, debe anular el registro de la instancia administrada y registrarla con una nueva activación híbrida que utilice un rol de servicio de IAM con los permisos necesarios. Para obtener más información acerca de cómo se anula el registro de las instancias administradas, consulte [Anulación del registro de nodos administrados en un entorno híbrido y multinube](fleet-manager-deregister-hybrid-nodes.md). Para obtener más información sobre la creación de políticas de IAM con permisos de Session Manager, consulte [Paso 2: verificar o agregar permisos de instancia para Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-instance-profile.html).  | 

# Paso 2: verificación o agregación de permisos de instancia para Session Manager
<a name="session-manager-getting-started-instance-profile"></a>

De forma predeterminada, AWS Systems Manager no tiene permiso para realizar acciones en sus instancias. Puede proporcionar permisos de instancia a nivel de cuenta mediante un rol de AWS Identity and Access Management (IAM) o a nivel de instancia mediante un perfil de instancia. Si su caso de uso lo permite, le recomendamos que conceda el acceso a nivel de cuenta mediante la configuración de administración de host predeterminada. Si ya completó la configuración de administración de host predeterminada para su cuenta mediante la política `AmazonSSMManagedEC2InstanceDefaultPolicy`, puede continuar con el siguiente paso. Para obtener más información sobre la configuración de administración de host predeterminada, consulte [Administración automática de instancias EC2 con la configuración de administración de hosts predeterminada](fleet-manager-default-host-management-configuration.md).

Como alternativa, puede usar perfiles de instancia para proporcionar los permisos necesarios a sus instancias. Un perfil de instancias pasa un rol de IAM a una instancia de Amazon EC2. Puede adjuntar un perfil de instancias de IAM a una instancia de Amazon EC2 en el momento de lanzarla, o bien, adjuntarlo a una instancia ya lanzada anteriormente. Para obtener más información, consulte [Uso de perfiles de instancia](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html).

Para servidores en las instalaciones o máquinas virtuales, los permisos los proporciona el rol de servicio de IAM asociado a la activación híbrida utilizada para registrar los servidores en las instalaciones y las máquinas virtuales con Systems Manager. Los servidores locales y las máquinas virtuales no utilizan perfiles de instancia.

Si ya utiliza otras herramientas de Systems Manager, como Run Command o Parameter Store, es posible que ya se haya adjuntado a las instancias de Amazon EC2 un perfil de instancias con los permisos básicos necesarios para Session Manager. Si un perfil de instancias que contiene la política administrada por AWS `AmazonSSMManagedInstanceCore` ya se ha adjuntado a las instancias, los permisos necesarios para Session Manager ya se habrán proporcionado. Esto también aplica si el rol de servicio de IAM utilizado en la activación híbrida contiene la política administrada `AmazonSSMManagedInstanceCore`.

Sin embargo, en algunos casos, es posible que tenga que modificar los permisos asociados al perfil de instancia. Por ejemplo, si desea proporcionar un conjunto más limitado de permisos de instancia, si ha creado una política personalizada para su perfil de instancias o si desea utilizar el cifrado de Amazon Simple Storage Service (Amazon S3) o las opciones de cifrado de AWS Key Management Service (AWS KMS) para proteger los datos de la sesión. En estos casos, realice una de las siguientes operaciones para permitir que se realicen acciones de Session Manager en las instancias:
+  **Inserción de permisos de acciones de Session Manager en un rol de IAM personalizado** 

  Con el fin de agregar permisos para las acciones de Session Manager a un rol de IAM existente que no se base en la política predeterminada proporcionada por AWS `AmazonSSMManagedInstanceCore`, siga los pasos que se indican en [Adición de permisos de Session Manager a un rol de IAM existente](getting-started-add-permissions-to-existing-profile.md).
+  **Creación de un rol de IAM personalizado solo con permisos de Session Manager** 

  Para crear un rol de IAM que contenga permisos solo para las acciones de Session Manager, siga los pasos que se indican en [Creación de un rol de IAM personalizado para Session Manager](getting-started-create-iam-instance-profile.md).
+  **Creación y uso de un nuevo rol de IAM con permisos para todas las acciones de Systems Manager** 

  Para crear un rol de IAM para instancias administradas de Systems Manager que utilice una política predeterminada suministrada por AWS que conceda todos los permisos de Systems Manager, siga los pasos que se indican en [Configuración de permisos de instancia requeridos para Systems Manager](setup-instance-permissions.md).

**Topics**
+ [Adición de permisos de Session Manager a un rol de IAM existente](getting-started-add-permissions-to-existing-profile.md)
+ [Creación de un rol de IAM personalizado para Session Manager](getting-started-create-iam-instance-profile.md)

# Adición de permisos de Session Manager a un rol de IAM existente
<a name="getting-started-add-permissions-to-existing-profile"></a>

Utilice el siguiente procedimiento para agregar permisos de Session Manager a un rol de AWS Identity and Access Management (IAM) existente. Si agrega permisos a un rol existente, puede mejorar la seguridad de su entorno de computación sin tener que utilizar la política `AmazonSSMManagedInstanceCore` de AWS para los permisos de instancia.

**nota**  
Tenga en cuenta la siguiente información:  
Este procedimiento supone que el rol existente ya incluye otros permisos `ssm` de Systems Manager para las acciones a las que desea permitir el acceso. Esta política sola no es suficiente para utilizar Session Manager.
El siguiente ejemplo de política incluye una acción `s3:GetEncryptionConfiguration`. Esta acción es necesaria si elige la opción **Ejecutar cifrado de registros de S3** en las preferencias de registro de Session Manager.
Si se elimina el permiso `ssmmessages:OpenControlChannel` de las políticas asociadas a su perfil de instancia de IAM o al rol de servicio de IAM, el SSM Agent del nodo administrado pierde la conectividad con el servicio de Systems Manager en la nube. No obstante, después de que se elimina el permiso, puede pasar hasta 1 hora hasta que la conexión finaliza. Es el mismo comportamiento que cuando se elimina el rol de instancia de IAM o el rol de servicio de IAM.

**Para agregar permisos de Session Manager a un rol existente (consola)**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación.

1. Elija el nombre del rol al que le va a agregar los permisos.

1. Elija la pestaña **Permisos**.

1. Elija **Agregar permisos** y, a continuación, seleccione **Crear política insertada**.

1. Seleccione la pestaña **JSON**.

1. Reemplace la política predeterminada por el siguiente contenido. Reemplace *key-name* por el nombre de recurso de Amazon (ARN) de la clave de AWS Key Management Service (AWS KMS key) que desee utilizar.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Para obtener más información acerca de cómo utilizar una clave de KMS para cifrar los datos de la sesión, consulte [Activación del cifrado de datos de sesión con claves de KMS (consola)](session-preferences-enable-encryption.md).

   Si no va a usar el cifrado de AWS KMS para los datos de la sesión, puede eliminar el siguiente contenido de la política.

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Elija **Siguiente: etiquetas**.

1. (Opcional) Para agregar etiquetas, elija **Add tag** (Agregar etiqueta) e ingrese las etiquetas preferidas para la política.

1. Elija **Siguiente: Revisar**.

1. En la página **Review Policy (Revisar política)**, en **Name (Nombre)**, escriba un nombre para la política insertada, como **SessionManagerPermissions**.

1. (Opcional) En **Descripción**, escriba una descripción para la política. 

   Elija **Crear política**.

Para obtener información acerca de las acciones `ssmmessages`, consulte [Referencia: ec2messages, ssmmessages y otras operaciones de la API](systems-manager-setting-up-messageAPIs.md).

# Creación de un rol de IAM personalizado para Session Manager
<a name="getting-started-create-iam-instance-profile"></a>

Puede crear un rol de AWS Identity and Access Management (IAM) que conceda a Session Manager el permiso para realizar acciones en las instancias administradas de Amazon EC2. Además, puede incluir una política para conceder los permisos necesarios para los registros de la sesión que se enviarán a Amazon Simple Storage Service (Amazon S3) y a los Registros de Amazon CloudWatch.

Después de crear el rol de IAM, para obtener información sobre cómo adjuntar el rol a una instancia, consulte [Adjuntar o reemplazar un perfil de instancia](https://aws.amazon.com/premiumsupport/knowledge-center/attach-replace-ec2-instance-profile/) en el sitio web de AWS re:Post. Para obtener más información sobre los roles y los perfiles de instancia de IAM, consulte [Uso de perfiles de instancia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) en la *Guía del usuario de IAM* y [Roles de IAM para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) en la *Guía del usuario de instancias de Linux de Amazon Elastic Compute Cloud*. Para obtener más información sobre cómo crear un rol de servicio de IAM para equipos locales, consulte [Creación del rol de servicio de IAM requerido para Systems Manager en entornos híbridos y multinube](https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-service-role.html).

**Topics**
+ [Creación de un rol de IAM con permisos mínimos de Session Manager (consola)](#create-iam-instance-profile-ssn-only)
+ [Creación de un rol de IAM con permisos para Session Manager, Amazon S3 y los Registros de CloudWatch (consola)](#create-iam-instance-profile-ssn-logging)

## Creación de un rol de IAM con permisos mínimos de Session Manager (consola)
<a name="create-iam-instance-profile-ssn-only"></a>

Utilice el siguiente procedimiento para crear un rol de IAM personalizado con una política que proporcione permisos solo para acciones de Session Manager en las instancias.

**Para crear un perfil de instancia con permisos mínimos de Session Manager (consola)**

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, seleccione **Políticas** y, a continuación, **Crear política**. (Si aparece el botón **Get Started** [Comenzar], elíjalo y, a continuación, elija **Create Policy** [Crear política]).

1. Seleccione la pestaña **JSON**.

1. Reemplace el contenido predeterminado por la siguiente política. Para cifrar los datos de la sesión mediante AWS Key Management Service (AWS KMS), reemplace *key-name* por el nombre de recurso de Amazon (ARN) de AWS KMS key que desea utilizar.
**nota**  
Si se elimina el permiso `ssmmessages:OpenControlChannel` de las políticas asociadas a su perfil de instancia de IAM o al rol de servicio de IAM, el SSM Agent del nodo administrado pierde la conectividad con el servicio de Systems Manager en la nube. No obstante, después de que se elimina el permiso, puede pasar hasta 1 hora hasta que la conexión finaliza. Es el mismo comportamiento que cuando se elimina el rol de instancia de IAM o el rol de servicio de IAM.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:UpdateInstanceInformation",
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Para obtener más información acerca de cómo utilizar una clave de KMS para cifrar los datos de la sesión, consulte [Activación del cifrado de datos de sesión con claves de KMS (consola)](session-preferences-enable-encryption.md).

   Si no va a usar el cifrado de AWS KMS para los datos de la sesión, puede eliminar el siguiente contenido de la política.

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Elija **Siguiente: etiquetas**.

1. (Opcional) Para agregar etiquetas, elija **Add tag** (Agregar etiqueta) e ingrese las etiquetas preferidas para la política.

1. Elija **Siguiente: Revisar**.

1. En la página **Review Policy (Revisar política)**, en **Name (Nombre)**, escriba un nombre para la política insertada, como **SessionManagerPermissions**.

1. (Opcional) En **Descripción**, escriba una descripción para la política. 

1. Elija **Crear política**.

1. En el panel de navegación, seleccione **Roles** y luego seleccione **Crear rol**.

1. En la página **Create role** (Crear un rol), elija **AWS service** (Servicio de ), y en **Use case** (Caso de uso) elija **EC2**.

1. Elija **Siguiente**.

1. En la página **Add permissions** (Agregar permisos), seleccione la casilla de verificación situada a la izquierda del nombre de la política que acaba de crear, como **SessionManagerPermissions**.

1. Elija **Siguiente**.

1. En la página **Name, review, and create** (Asignar nombre, revisar y crear), en **Role name** (Nombre de rol), ingrese un nombre para el rol de IAM, como **MySessionManagerRole**.

1. (Opcional) En **Role description (Descripción del rol)**, escriba una descripción para el perfil de instancia. 

1. (Opcional) Para agregar etiquetas, elija **Add tag** (Agregar etiqueta) e ingrese las etiquetas preferidas para el rol.

   Elija **Creación de rol**.

Para obtener información acerca de las acciones `ssmmessages`, consulte [Referencia: ec2messages, ssmmessages y otras operaciones de la API](systems-manager-setting-up-messageAPIs.md).

## Creación de un rol de IAM con permisos para Session Manager, Amazon S3 y los Registros de CloudWatch (consola)
<a name="create-iam-instance-profile-ssn-logging"></a>

Utilice el siguiente procedimiento para crear un rol de IAM personalizado con una política que proporcione permisos para acciones de Session Manager en las instancias. La política también proporciona los permisos necesarios para que los registros de la sesión se almacenen en buckets de Amazon Simple Storage Service (Amazon S3) y en grupos de registros de los Registros de Amazon CloudWatch.

**importante**  
Para enviar registros de sesión a un bucket de Amazon S3 que pertenezca a otra Cuenta de AWS, debe agregar el permiso `s3:PutObjectAcl` a la política de rol de IAM. Además, debe asegurarse de que la política de bucket conceda acceso entre cuentas al rol de IAM utilizado por la cuenta propietaria para conceder permisos de Systems Manager para instancias administradas. Si el bucket utiliza el cifrado de Key Management Service (KMS), la política de KMS del bucket también debe conceder este acceso entre cuentas. Para obtener más información sobre cómo configurar permisos de bucket entre cuentas en Amazon S3, consulte [Concesión de permisos de bucket entre cuentas](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html) en la *Guía del usuario de Amazon Simple Storage Service*. Si no se agregan estos permisos entre cuentas, la cuenta que posee el bucket de Amazon S3 no podrá acceder a los registros de salida de la sesión.

Para obtener información acerca de cómo especificar preferencias para almacenar los registros de sesiones, consulte [Habilitar y deshabilitar el registro de la sesión](session-manager-logging.md).

**Para crear un rol de IAM con permisos para Session Manager, Amazon S3 y los Registros de CloudWatch (consola)**

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, seleccione **Políticas** y, a continuación, **Crear política**. (Si aparece el botón **Get Started** [Comenzar], elíjalo y, a continuación, elija **Create Policy** [Crear política]).

1. Seleccione la pestaña **JSON**.

1. Reemplace el contenido predeterminado por la siguiente política. Reemplace cada *example resource placeholder* por su propia información.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel",
                   "ssm:UpdateInstanceInformation"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:DescribeLogGroups",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/s3-prefix/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           },
           {
               "Effect": "Allow",
               "Action": "kms:GenerateDataKey",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Elija **Siguiente: etiquetas**.

1. (Opcional) Para agregar etiquetas, elija **Add tag** (Agregar etiqueta) e ingrese las etiquetas preferidas para la política.

1. Elija **Siguiente: Revisar**.

1. En la página **Review Policy (Revisar política)**, en **Name (Nombre)**, escriba un nombre para la política insertada, como **SessionManagerPermissions**.

1. (Opcional) En **Descripción**, escriba una descripción para la política. 

1. Elija **Crear política**.

1. En el panel de navegación, seleccione **Roles** y luego seleccione **Crear rol**.

1. En la página **Create role** (Crear un rol), elija **AWS service** (Servicio de ), y en **Use case** (Caso de uso) elija **EC2**.

1. Elija **Siguiente**.

1. En la página **Add permissions** (Agregar permisos), seleccione la casilla de verificación situada a la izquierda del nombre de la política que acaba de crear, como **SessionManagerPermissions**.

1. Elija **Siguiente**.

1. En la página **Name, review, and create** (Asignar nombre, revisar y crear), en **Role name** (Nombre de rol), ingrese un nombre para el rol de IAM, como **MySessionManagerRole**.

1. (Opcional) En **Role description** (Descripción del rol), ingrese una descripción para el rol. 

1. (Opcional) Para agregar etiquetas, elija **Add tag** (Agregar etiqueta) e ingrese las etiquetas preferidas para el rol.

1. Elija **Creación de rol**.

# Paso 3: controlar el acceso de la sesión a los nodos administrados
<a name="session-manager-getting-started-restrict-access"></a>

Puede conceder o revocar el acceso a Session Manager de los nodos administrados mediante políticas de AWS Identity and Access Management (IAM). Puede crear una política y adjuntarla a un grupo o usuario de IAM que especifique a qué nodos administrados se puede conectar el grupo o el usuario. También puede especificar las operaciones de la API de Session Manager que el usuario o los grupos pueden realizar en esos nodos administrados. 

Para ayudarlo a empezar a utilizar las políticas de permisos de IAM para Session Manager, creamos ejemplos de políticas para un usuario final y un usuario administrador. Puede utilizar estas políticas solo con cambios pequeños. O utilícelas como guía para crear políticas de IAM personalizadas. Para obtener más información, consulte [Ejemplos de políticas de IAM para Session Manager](getting-started-restrict-access-quickstart.md). Para obtener información acerca de cómo crear políticas de IAM y adjuntarlas a usuarios o grupos, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) y [Adición y eliminación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*.

**Acerca de los formatos de ARN de ID de sesión**  
Cuando cree una política de IAM para el acceso a Session Manager, especifique un ID de sesión como parte del nombre de recurso de Amazon (ARN). El ID de la sesión incluye el nombre de usuario como variable. Para ayudar a ilustrarlo, este es el formato de un ARN de Session Manager y un ejemplo: 

```
arn:aws:ssm:region-id:account-id:session/session-id
```

Por ejemplo:

```
arn:aws:ssm:us-east-2:123456789012:session/JohnDoe-1a2b3c4d5eEXAMPLE
```

Para obtener más información acerca del uso de variables en políticas de IAM, consulte [Elementos de la política de IAM: variables](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html). 

**Topics**
+ [Inicio de una sesión de intérprete de comandos predeterminada mediante la especificación del documento de sesión predeterminado en las políticas de IAM](getting-started-default-session-document.md)
+ [Inicio de una sesión con un documento mediante la especificación de los documentos de sesión en las políticas de IAM](getting-started-specify-session-document.md)
+ [Ejemplos de políticas de IAM para Session Manager](getting-started-restrict-access-quickstart.md)
+ [Políticas de IAM de ejemplo adicionales para Session Manager](getting-started-restrict-access-examples.md)

# Inicio de una sesión de intérprete de comandos predeterminada mediante la especificación del documento de sesión predeterminado en las políticas de IAM
<a name="getting-started-default-session-document"></a>

Cuando configura Session Manager para su Cuenta de AWS o cambia las preferencias de sesión en la consola de Systems Manager, el sistema crea un documento de sesión SSM llamado `SSM-SessionManagerRunShell`. Es el documento de sesión predeterminado. Session Manager utiliza este documento para almacenar las preferencias de sesión, que incluyen información como la siguiente:
+ Una ubicación en la que desee guardar los datos de la sesión, como un bucket de Amazon Simple Storage Service (Amazon S3) o un grupo de registro de Registros de Amazon CloudWatch.
+ Un ID de clave de AWS Key Management Service (AWS KMS) para cifrar los datos de la sesión.
+ Si se permite el soporte Ejecutar como para las sesiones.

A continuación, se incluye un ejemplo de la información incluida en el documento de preferencias de sesión denominado `SSM-SessionManagerRunShell`.

```
{
  "schemaVersion": "1.0",
  "description": "Document to hold regional settings for Session Manager",
  "sessionType": "Standard_Stream",
  "inputs": {
    "s3BucketName": "amzn-s3-demo-bucket",
    "s3KeyPrefix": "MyS3Prefix",
    "s3EncryptionEnabled": true,
    "cloudWatchLogGroupName": "MyCWLogGroup",
    "cloudWatchEncryptionEnabled": false,
    "kmsKeyId": "1a2b3c4d",
    "runAsEnabled": true,
    "runAsDefaultUser": "RunAsUser"
  }
}
```

De forma predeterminada, Session Manager utiliza el documento de sesión predeterminado cuando un usuario inicia una sesión desde la Consola de administración de AWS. Esto se aplica a Fleet Manager o Session Manager en la consola de Systems Manager o a EC2 Connect en la consola de Amazon EC2. Además, Session Manager utiliza el documento de sesión predeterminado cuando un usuario inicia una sesión mediante un comando de la AWS CLI, como el siguiente:

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE
```

Para iniciar una sesión de intérprete de comandos predeterminada, debe especificar el documento de la sesión predeterminada en la política de IAM, tal como se muestra en el siguiente ejemplo.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnableSSMSession",
      "Effect": "Allow",
      "Action": [
        "ssm:StartSession"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
        "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssmmessages:OpenDataChannel"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Inicio de una sesión con un documento mediante la especificación de los documentos de sesión en las políticas de IAM
<a name="getting-started-specify-session-document"></a>

Si utiliza el comando de la AWS CLI [start-session](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) con el documento de sesión predeterminado, puede omitir el nombre del documento. El sistema llama de manera automática al documento de sesión `SSM-SessionManagerRunShell`.

En los demás casos, debe especificar un valor para el parámetro `document-name`. Cuando un usuario especifica el nombre de un documento de sesión en un comando, el sistema comprueba su política de IAM para verificar que tiene permiso para acceder al documento. Si no tiene permiso, se produce un error en la solicitud de conexión. Los siguientes ejemplos incluyen el parámetro `document-name` con el documento de sesión `AWS-StartPortForwardingSession`.

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE \
    --document-name AWS-StartPortForwardingSession \
    --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
```

Para ver un ejemplo acerca de cómo se especifica un documento de sesión de Session Manager en una política de IAM, consulte [Políticas de usuarios finales de inicio rápido de Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).

**nota**  
Para iniciar una sesión con SSH, los pasos de configuración deben completarse en el nodo administrado de destino *y* en la máquina local del usuario. Para obtener información, consulte [(Opcional) Permitir y controlar permisos para conexiones de SSH mediante Session Manager](session-manager-getting-started-enable-ssh-connections.md).

# Ejemplos de políticas de IAM para Session Manager
<a name="getting-started-restrict-access-quickstart"></a>

Utilice las muestras de esta sección para que lo ayuden a crear políticas de AWS Identity and Access Management (IAM) que proporcionen los permisos que se necesitan más a menudo para acceder a Session Manager. 

**nota**  
También puede utilizar una política de AWS KMS key para controlar qué entidades de IAM (usuarios o roles) y Cuentas de AWS tienen acceso a su clave de KMS. Para obtener información, consulte [Información general sobre la administración del acceso a sus recursos de AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html) y [Uso de políticas de claves en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) en la *Guía para desarrolladores de AWS Key Management Service*.

**Topics**
+ [Políticas de usuarios finales de inicio rápido de Session Manager](#restrict-access-quickstart-end-user)
+ [Política de administradores de inicio rápido para Session Manager](#restrict-access-quickstart-admin)

## Políticas de usuarios finales de inicio rápido de Session Manager
<a name="restrict-access-quickstart-end-user"></a>

Utilice los siguientes ejemplos para crear políticas de usuario final de IAM para Session Manager. 

Puede crear una política que permita a los usuarios iniciar sesiones únicamente desde la consola de Session Manager, la AWS Command Line Interface (AWS CLI), la consola de Amazon Elastic Compute Cloud (Amazon EC2) o desde las tres.

Estas políticas proporcionan a los usuarios finales la capacidad de iniciar una sesión en un nodo administrado particular y de terminar solo sus propias sesiones. Consulte [Políticas de IAM de ejemplo adicionales para Session Manager](getting-started-restrict-access-examples.md) para ver ejemplos de personalizaciones recomendadas para aplicar en la política.

En las siguientes políticas de ejemplo, reemplace cada *example resource placeholder* por su propia información. 

Elija una de las siguientes pestañas para ver la política de ejemplo correspondiente al rango de acceso a la sesión que desea proporcionar.

------
#### [ Administrador de sesiones and Fleet Manager ]

Utilice este ejemplo de política para brindar a los usuarios la capacidad de iniciar y continuar sesiones solo desde las consolas Session Manager y Fleet Manager. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Utilice este ejemplo de política para brindar a los usuarios la capacidad de iniciar y continuar sesiones solo desde la consola de Amazon EC2. Esta política no proporciona todos los permisos necesarios para iniciar sesiones desde la consola de Session Manager y la AWS CLI.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

------
#### [ AWS CLI ]

Utilice este ejemplo de política para brindar a los usuarios la capacidad de iniciar y continuar sesiones solo desde AWS CLI.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------

**nota**  
`SSM-SessionManagerRunShell` es el nombre predeterminado del documento de SSM que Session Manager crea para almacenar sus preferencias de configuración de la sesión. En cambio, puede crear un documento de Session personalizado y especificarlo en esta política. También puede especificar el documento proporcionado por AWS `AWS-StartSSHSession` para los usuarios que inician sesiones mediante SSH. Para obtener más información acerca de los pasos de configuración necesarios para admitir sesiones mediante SSH, consulte [(Opcional) Permitir y controlar permisos para conexiones de SSH a través de Session Manager](session-manager-getting-started-enable-ssh-connections.md).  
El permiso `kms:GenerateDataKey` le permite crear una clave de cifrado de datos que se utilizará para cifrar los datos de la sesión. Si va a usar el cifrado de AWS Key Management Service (AWS KMS) para los datos de la sesión, sustituya *key-name* por el nombre de recurso de Amazon (ARN) de la clave de KMS que desee utilizar, con el formato `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE`. Si no va a usar el cifrado de claves de KMS para sus datos de sesión, elimine el siguiente contenido de la política.  

```
{
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "key-name"
        }
```
Para obtener más información acerca del uso de AWS KMS para cifrar los datos de la sesión, consulte [Activación del cifrado de datos de sesión con claves de KMS (consola)](session-preferences-enable-encryption.md).  
El permiso para [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) es necesario para los casos en que un usuario intente iniciar una sesión desde la consola Amazon EC2, pero primero debe actualizar SSM Agent a la versión mínima requerida para Session Manager. Run Command se utiliza para enviar un comando a la instancia para actualizar el agente.

## Política de administradores de inicio rápido para Session Manager
<a name="restrict-access-quickstart-admin"></a>

Utilice los siguientes ejemplos para crear políticas de administrador de IAM para Session Manager. 

Estas políticas proporcionan a los administradores la capacidad de iniciar una sesión en los nodos administrados que están etiquetados con `Key=Finance,Value=WebServers`, el permiso para crear, actualizar y eliminar las preferencias de los usuarios y el permiso para terminar únicamente sus propias sesiones. Consulte [Políticas de IAM de ejemplo adicionales para Session Manager](getting-started-restrict-access-examples.md) para ver ejemplos de personalizaciones recomendadas para aplicar en la política.

Puede crear una política que permita a los administradores realizar estas tareas únicamente desde la consola de Session Manager, la AWS CLI, la consola de Amazon EC2 o desde las tres.

En las siguientes políticas de ejemplo, reemplace cada *example resource placeholder* por su propia información. 

Elija una de las siguientes pestañas para ver el ejemplo de política para el escenario de acceso que desea admitir.

------
#### [ Administrador de sesiones and CLI ]

Utilice este ejemplo de política para brindar a los administradores la capacidad de llevar a cabo las tareas relacionadas con la sesión solo desde la consola de Session Manager y la AWS CLI. Esta política no proporciona todos los permisos necesarios para realizar las tareas relacionadas con la sesión desde la consola de Amazon EC2.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Utilice este ejemplo de política para brindar a los administradores la capacidad de llevar a cabo tareas relacionadas con la sesión solo desde la consola de Amazon EC2. Esta política no proporciona todos los permisos necesarios para realizar tareas relacionadas con la sesión desde la consola de Session Manager y la AWS CLI.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Administrador de sesiones, CLI, and Amazon EC2 ]

Utilice este ejemplo de política para brindar a los administradores la capacidad de llevar a cabo tareas relacionadas con la sesión desde la consola de Session Manager, la AWS CLI y la consola de Amazon EC2.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------

**nota**  
El permiso para [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) es necesario en aquellos casos en los que un usuario intenta iniciar una sesión desde la consola de Amazon EC2, pero antes se debe enviar un comando para actualizar SSM Agent.

# Políticas de IAM de ejemplo adicionales para Session Manager
<a name="getting-started-restrict-access-examples"></a>

Consulte los siguientes ejemplos de políticas para crear una política de AWS Identity and Access Management (IAM) personalizada para todos los escenarios de acceso de usuarios a Session Manager que desee admitir.

**Topics**
+ [Ejemplo 1: conceder acceso a documentos en la consola](#grant-access-documents-console-example)
+ [Ejemplo 2: restringir el acceso a nodos administrados específicos](#restrict-access-example-instances)
+ [Ejemplo 3: restringir el acceso en función de etiquetas](#restrict-access-example-instance-tags)
+ [Ejemplo 4: permitir a un usuario finalizar solo las sesiones que inició](#restrict-access-example-user-sessions)
+ [Ejemplo 5: permitir acceso completo (administrativo) a todas las sesiones](#restrict-access-example-full-access)

## Ejemplo 1: conceder acceso a documentos en la consola
<a name="grant-access-documents-console-example"></a>

Puede permitir que los usuarios especifiquen un documento personalizado cuando inician una sesión mediante la consola del administrador de sesiones. El siguiente ejemplo de política de IAM concede permiso para acceder a documentos con nombres que comiencen con **SessionDocument-** en la Región de AWS y la Cuenta de AWS especificadas.

Para utilizar esta política, reemplace cada *example-resource-placeholder* con su propia información.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetDocument",
                "ssm:ListDocuments"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SessionDocument-*"
            ]
        }
    ]
}
```

------

**nota**  
La consola del administrador de sesiones solo admite documentos de sesión que tienen un `sessionType` de `Standard_Stream`, los cuales se utilizan para definir las preferencias de sesión. Para obtener más información, consulte [Esquema del documento de Session](session-manager-schema.md).

## Ejemplo 2: restringir el acceso a nodos administrados específicos
<a name="restrict-access-example-instances"></a>

Puede crear una política de IAM que defina a qué nodos administrados puede conectarse un usuario mediante Administrador de sesiones. Por ejemplo, la siguiente política otorga al usuario el permiso para iniciar, finalizar y reanudar sus sesiones en tres nodos específicos. La política impide que el usuario se conecte a nodos distintos de los especificados.

**nota**  
Para los usuarios federados, consulte [Ejemplo 4: permitir a un usuario finalizar solo las sesiones que inició](#restrict-access-example-user-sessions).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890EXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-abcdefghijEXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-0e9d8c7b6aEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

## Ejemplo 3: restringir el acceso en función de etiquetas
<a name="restrict-access-example-instance-tags"></a>

Puede restringir el acceso a nodos administrados en función de etiquetas específicas. En el siguiente ejemplo, el usuario tiene permitido iniciar y reanudar sesiones (`Effect: Allow, Action: ssm:StartSession, ssm:ResumeSession`) en cualquier nodo administrado (`Resource: arn:aws:ec2:region:987654321098:instance/*`) con la condición de que el nodo sea un servidor web de finanzas (`ssm:resourceTag/Finance: WebServer`). Si el usuario envía un comando a un nodo administrado que no está etiquetado o que tiene alguna etiqueta que no sea `Finance: WebServer`, el resultado del comando incluirá `AccessDenied`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

Puede crear políticas de IAM que permitan al usuario iniciar sesiones en los nodos administrados que tengan varias etiquetas. La siguiente política permite al usuario iniciar sesiones en nodos administrados que tengan las dos etiquetas especificadas aplicadas. Si un usuario envía un comando a un nodo administrado que no está etiquetado con estas dos etiquetas, el resultado del comando incluirá `AccessDenied`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:StartSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/tag-key1":[
                  "tag-value1"
               ],
               "ssm:resourceTag/tag-key2":[
                  "tag-value2"
               ]
            }
         }
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
      {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
      }
   ]
}
```

------

Para obtener más información acerca de la creación de políticas de IAM, consulte [Políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) en la *Guía del usuario de IAM*. Para obtener más información sobre el etiquetado de nodos administrados, consulte [Etiquetado de los recursos de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) en la *Guía del usuario de Amazon EC2* (el contenido se aplica a los nodos administrados de Windows y Linux). Para obtener más información acerca de cómo aumentar su posición de seguridad frente a comandos de nivel raíz no autorizados en los nodos administrados, consulte [Restricción del acceso a los comandos de nivel raíz con SSM Agent](ssm-agent-restrict-root-level-commands.md)

## Ejemplo 4: permitir a un usuario finalizar solo las sesiones que inició
<a name="restrict-access-example-user-sessions"></a>

Session Manager proporciona dos métodos para controlar qué sesiones tiene permitido finalizar un usuario federado en su Cuenta de AWS.
+ Utilice la variable `{aws:userid}` en una política de permisos de AWS Identity and Access Management (IAM). Los usuarios federados solo pueden finalizar las sesiones que iniciaron. Para los usuarios no federados, utilice el Método 1. Para los usuarios federados, utilice el Método 2.
+ Utilice las etiquetas proporcionadas por AWS en una política de permisos de IAM. En la política, incluya una condición que permita a los usuarios terminar solo las sesiones marcadas con etiquetas específicas proporcionadas por AWS. Este método funciona para todas las cuentas, incluidas las que utilizan ID federados para otorgar acceso a AWS.

### Método 1: conceder privilegios TerminateSession usando la variable `{aws:username}`
<a name="restrict-access-example-user-sessions-username"></a>

La siguiente política de IAM permite al usuario ver los ID de todas las sesiones de su cuenta. Sin embargo, los usuarios solo pueden interactuar con los nodos administrados a través de las sesiones que iniciaron. Un usuario con la siguiente política asignada no puede conectarse a las sesiones de otros usuarios ni terminarlas. La política utiliza la variable `{aws:username}` para lograrlo.

**nota**  
Este método no funciona para las cuentas que otorgan acceso a AWS con ID federados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:DescribeSessions"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "ssm:TerminateSession"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

### Método 2: otorgar privilegios de TerminateSession mediante etiquetas proporcionadas por AWS
<a name="restrict-access-example-user-sessions-tags"></a>

Puede controlar qué sesiones puede finalizar un usuario si incluye variables de claves de etiqueta condicionales en una política de IAM. La condición especifica que el usuario solo puede finalizar las sesiones etiquetadas con una o ambas de estas variables de clave de etiqueta específicas y un valor especificado.

Cuando un usuario de su Cuenta de AWS inicia una sesión, Session Manager aplica dos etiquetas de recurso a la sesión. La primera etiqueta de recurso es `aws:ssmmessages:target-id`, con la que se especifica el ID del destino que el usuario puede finalizar. La otra etiqueta de recurso es `aws:ssmmessages:session-id`, con un valor en el formato `role-id:caller-specified-role-name`.

**nota**  
Session Manager no admite etiquetas personalizadas para esta política de control de acceso de IAM. Debe utilizar las etiquetas de recursos proporcionadas por AWS que se describen a continuación. 

 ** `aws:ssmmessages:target-id` **   
Con esta clave de etiqueta, el ID del nodo administrado se incluye como valor en la política. En el siguiente bloque de política, la instrucción de condición permite al usuario terminar solo el nodo i-02573cafcfEXAMPLE.    
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:target-id": [
                        "i-02573cafcfEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
Si el usuario intenta finalizar una sesión para la que no se le ha concedido este permiso `TerminateSession`, recibirá un error `AccessDeniedException`.

 ** `aws:ssmmessages:session-id` **   
Esta clave de etiqueta incluye una variable para el ID de sesión como valor en la solicitud para iniciar una sesión.  
En el ejemplo siguiente se muestra una política para los casos en los que el tipo de intermediario es `User`. El valor que proporciona para `aws:ssmmessages:session-id` es el ID del usuario. En este ejemplo, `AIDIODR4TAW7CSEXAMPLE` representa el ID de un usuario de su Cuenta de AWS. Para recuperar el ID de un usuario de su Cuenta de AWS, utilice el comando `get-user` de IAM. Para obtener información, consulte [get-user](https://docs.aws.amazon.com/IAM/latest/UserGuide/get-user.html) en la sección AWS Identity and Access Management de la *Guía del usuario de IAM*.     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "AIDIODR4TAW7CSEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
En el ejemplo siguiente se muestra una política para los casos en los que el tipo de intermediario es `AssumedRole`. Puede utilizar la variable `{aws:userid}` en el valor de `aws:ssmmessages:session-id`. También puede codificar de forma rígida un ID de rol para el valor de `aws:ssmmessages:session-id`. Si codifica un ID de rol, debe proporcionar el valor en el formato `role-id:caller-specified-role-name`. Por ejemplo, `AIDIODR4TAW7CSEXAMPLE:MyRole`.  
Para que se apliquen las etiquetas del sistema, el ID de rol que proporcione solo puede contener los siguientes caracteres: letras Unicode, 0-9, espacio `_`, `.`, `:`, `/`, `=`, `+`, `-`, `@` y `\`.
Para recuperar el ID de un rol de su Cuenta de AWS, utilice el comando `get-caller-identity`. Para obtener información, consulte [get-caller-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html) en la Referencia de comandos de la AWS CLI.     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "${aws:userid}*"
                     ]
                 }
             }
         }
     ]
}
```
Si un usuario intenta finalizar una sesión para la que no se le ha concedido este permiso `TerminateSession`, recibirá un error `AccessDeniedException`.

**`aws:ssmmessages:target-id`** y **`aws:ssmmessages:session-id`**  
También puede crear políticas de IAM que permitan al usuario terminar sesiones marcadas con ambas etiquetas del sistema, como se muestra en este ejemplo.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:TerminateSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/aws:ssmmessages:target-id":[
                  "i-02573cafcfEXAMPLE"
               ],
               "ssm:resourceTag/aws:ssmmessages:session-id":[
                  "${aws:userid}*"
               ]
            }
         }
      }
   ]
}
```

## Ejemplo 5: permitir acceso completo (administrativo) a todas las sesiones
<a name="restrict-access-example-full-access"></a>

La siguiente política de IAM permite a un usuario interactuar totalmente con todos los nodos administrados y sesiones creadas por todos los usuarios de todos los nodos. Debe ser concedida únicamente a un administrador que necesita un control completo sobre las actividades de Session Manager de la organización.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession",
                "ssm:ResumeSession",
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

# Paso 4: configurar las preferencias de sesión
<a name="session-manager-getting-started-configure-preferences"></a>

Los usuarios a los que se les hayan concedido permisos administrativos en su política de AWS Identity and Access Management (IAM) pueden configurar las preferencias de sesión, incluidas las siguientes:
+ Active Ejecutar como soporte para nodos administrados de Linux. Esto permite iniciar sesiones con las credenciales de un usuario especificado del sistema operativo en lugar de con las credenciales de una cuenta `ssm-user` generada por el sistema que AWS Systems Manager Session Manager puede crear en un nodo administrado.
+ Configure Session Manager para que utilice el cifrado de AWS KMS key para proporcionar protección adicional a los datos transmitidos entre los equipos del clientes y los nodos administrados.
+ Configure Session Manager para crear y enviar los registros del historial de sesiones a un bucket de Amazon Simple Storage Service (Amazon S3) o a un grupo de registros de los Registros de Amazon CloudWatch. Los datos de registro almacenados pueden utilizarse para informar sobre conexiones de sesiones realizadas en los nodos administrados y los comandos ejecutados durante las sesiones.
+ Configure los tiempos de espera de sesión. Puede utilizar esta configuración para especificar cuándo terminar una sesión después de un periodo de inactividad.
+ Configure Session Manager para que utilice perfiles de shell configurables. Estos perfiles personalizables le permiten definir preferencias dentro de las sesiones, como las preferencias de shell, las variables de entorno, los directorios de trabajo y la ejecución de varios comandos cuando se inicia una sesión.

Para obtener más información acerca de los permisos necesarios para configurar Session Manager, consulte [Concesión o denegación de permisos de usuario para actualizar preferencias de Session Manager](preference-setting-permissions.md).

**Topics**
+ [Concesión o denegación de permisos de usuario para actualizar preferencias de Session Manager](preference-setting-permissions.md)
+ [Especificación de un valor de tiempo de espera de sesión inactiva](session-preferences-timeout.md)
+ [Especificar la duración máxima de la sesión](session-preferences-max-timeout.md)
+ [Permiso de perfiles de shell configurables](session-preferences-shell-config.md)
+ [Activación del soporte Ejecutar como para nodos administrados de Linux y macOS](session-preferences-run-as.md)
+ [Activación del cifrado de datos de sesión con claves de KMS (consola)](session-preferences-enable-encryption.md)
+ [Creación de un documento de preferencias de Session Manager (línea de comandos)](getting-started-create-preferences-cli.md)
+ [Actualizar preferencias de Session Manager (línea de comandos)](getting-started-configure-preferences-cli.md)

Para obtener más información acerca de cómo utilizar la consola de Systems Manager para configurar opciones para el registro de los datos de las sesiones, consulte los siguientes temas:
+  [Registro de los datos de la sesión con Amazon S3 (consola)](session-manager-logging-s3.md) 
+  [Streaming de los datos de la sesión con los Registros de Amazon CloudWatch (consola)](session-manager-logging-cwl-streaming.md) 
+  [Registro de los datos de la sesión con los Registros de Amazon CloudWatch (consola)](session-manager-logging-cloudwatch-logs.md) 

# Concesión o denegación de permisos de usuario para actualizar preferencias de Session Manager
<a name="preference-setting-permissions"></a>

Las preferencias de la cuenta se almacenan como documentos de AWS Systems Manager (SSM) para cada Región de AWS. Antes de que un usuario pueda actualizar las preferencias de cuenta para las sesiones de su cuenta, es preciso que se le concedan los permisos necesarios para obtener acceso al tipo de documento de SSM donde se almacenan estas preferencias. Estos permisos se conceden por medio de políticas de AWS Identity and Access Management (IAM).

**Política de administradores para permitir la creación y actualización de preferencias**  
Un administrador puede tener la siguiente política para crear y actualizar las preferencias en cualquier momento. La siguiente política otorga permisos para acceder al documento `SSM-SessionManagerRunShell` de la cuenta 123456789012 en la región us-east-2 y actualizarlo. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

**Política de usuarios para evitar que se actualicen las preferencias**  
Utilice la siguiente política para impedir que los usuarios finales de su cuenta actualicen o anulen las preferencias de Session Manager. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

# Especificación de un valor de tiempo de espera de sesión inactiva
<a name="session-preferences-timeout"></a>

Session Manager, una herramienta de AWS Systems Manager, le permite especificar la cantidad de tiempo que permitirá al usuario estar inactivo antes de que una sesión termine. De forma predeterminada, el tiempo de espera de las sesiones finaliza después de 20 minutos de inactividad. Puede modificar esta configuración para especificar que la sesión termine después de entre 1 y 60 minutos de inactividad. Algunas agencias profesionales de seguridad informática recomiendan configurar los tiempos de espera de sesión inactiva en un máximo de 15 minutos. 

El temporizador de tiempo de espera de la sesión inactiva se restablece cuando Session Manager recibe entradas del lado del cliente. Estas entradas incluyen, entre otros:
+ Entrada de teclado en el terminal
+ Eventos de cambio de tamaño de la ventana del navegador o del terminal
+ Reconexión de sesión (ResumeSession), que puede producirse debido a interrupciones de la red, administración de pestañas del navegador o desconexiones de WebSocket

Dado que estos eventos restablecen el temporizador de inactividad, cabe la posibilidad de que una sesión permanezca activa por más tiempo que el tiempo de espera configurado, incluso si no hay comandos directos del terminal.

Si sus requisitos de seguridad exigen límites estrictos de duración de la sesión, independientemente de la actividad, utilice la configuración *Duración máxima de la sesión* además del tiempo de espera de inactividad. Para obtener más información, consulte [Especificar la duración máxima de la sesión](session-preferences-max-timeout.md).

**Para permitir el tiempo de espera de sesión inactiva (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. Especifique la cantidad de tiempo que permitirá que el usuario esté inactivo antes de que finalice la sesión en el campo **minutes** (minutos) dentro de **Idle session timeout** (Tiempo de espera de sesión inactiva).

1. Seleccione **Save**.

# Especificar la duración máxima de la sesión
<a name="session-preferences-max-timeout"></a>

Session Manager, una herramienta de AWS Systems Manager, le permite determinar la duración máxima de una sesión antes de que finalice. De forma predeterminada, las sesiones no tienen una duración máxima. El valor que defina para la duración máxima de la sesión debe estar entre 1 y 1440 minutos.

**Para especificar la duración máxima de la sesión (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. Seleccione la casilla de verificación situada junto a **Enable maximum session duration** (Habilitación de la duración máxima de la sesión).

1. Especifique la duración máxima de la sesión antes de que finalice en el campo **minutes** (minutos) en **Maximum session duration** (Duración máxima de la sesión).

1. Seleccione **Save**.

# Permiso de perfiles de shell configurables
<a name="session-preferences-shell-config"></a>

De forma predeterminada, las sesiones en las instancias de EC2 para Linux se inician mediante el shell Bourne (sh). Sin embargo, es posible que prefiera utilizar otro shell, como bash. Cuando permite perfiles de shell configurables, puede personalizar las preferencias dentro de las sesiones, como preferencias de shell, variables de entorno, directorios de trabajo y ejecutar varios comandos cuando se inicia una sesión.

**importante**  
Systems Manager no verifica los comandos ni los scripts del perfil de shell antes de ejecutarlos para ver qué cambios realizarían en una instancia. Para restringir la capacidad de un usuario de modificar los comandos o los scripts ingresados en su perfil de shell, se recomienda lo siguiente:  
Cree un documento personalizado de tipo sesión para sus usuarios y roles de AWS Identity and Access Management (IAM). A continuación, modifique la política de IAM para estos usuarios y roles, de modo que la operación `StartSession` de la API solo pueda utilizar el documento de tipo sesión que creó para ellos. Para obtener más información, consulte [Creación de un documento de preferencias de Session Manager (línea de comandos)](getting-started-create-preferences-cli.md) y [Políticas de usuarios finales de inicio rápido de Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).
Modifique la política de IAM de los usuarios y los roles de IAM para denegar el acceso a la operación `UpdateDocument` de la API para el recurso del documento de tipo sesión que cree. Esto permite a los usuarios y los roles usar el documento que creó para sus preferencias de sesión, sin permitirles modificar ninguna de las configuraciones.

**Para activar perfiles de shell configurables**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. Especifique las variables de entorno, las preferencias de shell o los comandos que desee ejecutar cuando se inicie la sesión en los campos de los sistemas operativos aplicables.

1. Seleccione **Save**.

A continuación, se muestran algunos comandos de ejemplo que se pueden agregar a su perfil de shell.

Cambie al shell bash y al directorio /usr en las instancias de Linux.

```
exec /bin/bash
cd /usr
```

Muestre una marca de tiempo y un mensaje de bienvenida al inicio de una sesión.

------
#### [ Linux & macOS ]

```
timestamp=$(date '+%Y-%m-%dT%H:%M:%SZ')
user=$(whoami)
echo $timestamp && echo "Welcome $user"'!'
echo "You have logged in to a production instance. Note that all session activity is being logged."
```

------
#### [  Windows  ]

```
$timestamp = (Get-Date).ToString("yyyy-MM-ddTH:mm:ssZ")
$splitName = (whoami).Split("\")
$user = $splitName[1]
Write-Host $timestamp
Write-Host "Welcome $user!"
Write-Host "You have logged in to a production instance. Note that all session activity is being logged."
```

------

Vea la actividad dinámica del sistema al inicio de una sesión.

------
#### [ Linux & macOS ]

```
top
```

------
#### [  Windows  ]

```
while ($true) { Get-Process | Sort-Object -Descending CPU | Select-Object -First 30; `
Start-Sleep -Seconds 2; cls
Write-Host "Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName"; 
Write-Host "-------  ------    -----      ----- -----   ------     -- -----------"}
```

------

# Activación del soporte Ejecutar como para nodos administrados de Linux y macOS
<a name="session-preferences-run-as"></a>

De forma predeterminada, Session Manager autentica las conexiones con las credenciales de la cuenta `ssm-user` generada por el sistema que se crea en un nodo administrado. (En los equipos Linux y macOS, la cuenta se agrega a `/etc/sudoers/`). Si lo desea, puede autenticar las sesiones con las credenciales de una cuenta de usuario del sistema operativo (SO) o un usuario de dominio para instancias unidas a un Active Directory. En este caso, Session Manager comprueba que la cuenta del sistema operativo que especificó existe en el nodo o en el dominio antes de iniciar la sesión. Si intenta iniciar una sesión con una cuenta del sistema operativo que no existe en el nodo ni en el dominio, se produce un error en la conexión.

**nota**  
Administrador de sesiones no admite el uso de una cuenta de usuario `root` de un sistema operativo para autenticar las conexiones. En el caso de las sesiones que se autentican mediante una cuenta de usuario del sistema operativo, es posible que no se apliquen las políticas de directorio y nivel de sistema del nodo, como las restricciones de inicio de sesión o las restricciones de uso de los recursos del sistema. 

**Funcionamiento**  
Si activa Ejecutar como soporte para las sesiones, el sistema verifica los permisos de acceso tal como se indica a continuación:

1. Para el usuario que está iniciando la sesión, ¿se ha etiquetado su entidad de IAM (usuario o rol) con `SSMSessionRunAs = os user account name`?

   En caso afirmativo, ¿existe el nombre de usuario del sistema operativo en el nodo administrado? En caso afirmativo, inicie la sesión. Si no es así, no permita que se inicie una sesión.

   Si la entidad de IAM *no* se ha etiquetado con `SSMSessionRunAs = os user account name`, continúe con el paso 2.

1. Si la entidad de IAM no se ha etiquetado con `SSMSessionRunAs = os user account name`, ¿se ha especificado un nombre de usuario del sistema operativo en las preferencias de la Cuenta de AWS de Session Manager?

   En caso afirmativo, ¿existe el nombre de usuario del sistema operativo en el nodo administrado? En caso afirmativo, inicie la sesión. Si no es así, no permita que se inicie una sesión. 

**nota**  
Al activar el soporte Ejecutar como, se impide que Administrador de sesiones inicie sesiones con la cuenta `ssm-user` en un nodo administrado. Esto significa que si Session Manager no se puede conectar mediante la cuenta de usuario del sistema operativo especificada, no se recurre a la conexión mediante el método predeterminado.   
Si activa Ejecutar como sin especificar una cuenta de sistema operativo ni etiquetar una entidad de IAM y no ha especificado ninguna cuenta de sistema operativo en las preferencias de Administrador de sesiones, se produce un error en los intentos de conexión a la sesión.

**Para activar el soporte Ejecutar como para nodos administrados de Linux y macOS**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. Seleccione la casilla de verificación situada junto a **Activar soporte Ejecutar como para instancias de Linux**.

1. Realice una de las siguientes acciones:
   + **Opción 1**: en el campo **Nombre de usuario del sistema operativo**, ingrese el nombre de la cuenta de usuario del sistema operativo que desea usar para iniciar sesiones. Con esta opción, el mismo usuario del sistema operativo ejecuta todas las sesiones para todos los usuarios de su Cuenta de AWS que se conectan mediante Session Manager.
   + **Opción 2** (recomendada): elija el enlace **Abrir la consola de IAM**. En el panel de navegación, seleccione **Usuarios** o **Roles**. Elija la entidad (usuario o rol) a la que añadir etiquetas y, a continuación, elija la pestaña **Tags**. Escriba `SSMSessionRunAs` para el nombre de la clave. Ingrese el nombre de una cuenta de usuario del sistema operativo para el valor clave. Seleccione **Save changes (Guardar cambios)**.

     Con esta opción, puede especificar usuarios de sistema operativo únicos para diferentes entidades de IAM, si así lo desea. Para obtener más información acerca del etiquetado de entidades (usuarios o roles) de IAM, consulte [Etiquetado de recursos de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) en la *Guía del usuario de IAM*.

     A continuación se muestra un ejemplo.  
![\[Captura de pantalla de la especificación de etiquetas para el permiso Ejecutar como de Session Manager\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/images/ssn-run-as-tags.png)

1. Seleccione **Save**.

# Activación del cifrado de datos de sesión con claves de KMS (consola)
<a name="session-preferences-enable-encryption"></a>

Utilice AWS Key Management Service (AWS KMS) para crear y administrar las claves de cifrado. Con AWS KMS, puede controlar el uso del cifrado en una amplia gama de Servicios de AWS y en sus aplicaciones. Puede especificar que los datos de la sesión transmitidos entre los nodos administrados y los equipos locales de los usuarios en la Cuenta de AWS se cifren con cifrado de claves de KMS. (Esto se suma al cifrado TLS 1.2/1.3 que AWS ya proporciona de forma predeterminada). Para cifrar los datos de la sesión Session Manager, cree una clave KMS *simétrica* mediante AWS KMS.

El cifrado de AWS KMS está disponible para `Standard_Stream`, `InteractiveCommands` y los tipos de sesión de `NonInteractiveCommands`. Para utilizar la opción de cifrar los datos de la sesión con una clave creada en AWS KMS, el nodo administrado debe tener instalada la versión 2.3.539.0 de AWS Systems Manager SSM Agent o una posterior. 

**nota**  
Debe permitir el cifrado de AWS KMS con el fin de restablecer las contraseñas en los nodos administrados desde la consola de AWS Systems Manager. Para obtener más información, consulte [Restablecer una contraseña en un nodo administrado](fleet-manager-reset-password.md#managed-instance-reset-a-password).

Puede utilizar una clave que haya creado en su Cuenta de AWS. También puede utilizar una clave que se haya creado en una diferente Cuenta de AWS. El creador de la clave de una Cuenta de AWS diferente debe proporcionarle los permisos necesarios para usar la clave.

Después de activar el cifrado con clave de KMS para los datos de la sesión, tanto los usuarios que inicien sesiones como los nodos administrados a los que se conecten deberán tener permiso para utilizar la clave. Usted proporciona el permiso para utilizar la clave de KMS con Session Manager a través de las políticas de AWS Identity and Access Management (IAM). Para obtener información, consulte los siguientes temas:
+ Agregar permisos de AWS KMS para los usuarios de su cuenta: [Ejemplos de políticas de IAM para Session Manager](getting-started-restrict-access-quickstart.md).
+ Agregar permisos de AWS KMS para los nodos administrados de la cuenta: [Paso 2: verificación o agregación de permisos de instancia para Session Manager](session-manager-getting-started-instance-profile.md).

Para obtener más información acerca de cómo crear y administrar las claves de KMS, consulte la [https://docs.aws.amazon.com/kms/latest/developerguide/](https://docs.aws.amazon.com/kms/latest/developerguide/).

Para obtener más información acerca de cómo utilizar la AWS CLI para activar el cifrado de datos de sesión en su cuenta con claves de KMS, consulte [Creación de un documento de preferencias de Session Manager (línea de comandos)](getting-started-create-preferences-cli.md) o [Actualizar preferencias de Session Manager (línea de comandos)](getting-started-configure-preferences-cli.md).

**nota**  
Se aplica un cargo por utilizar claves de KMS. Para obtener información, consulte [Precios de AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

**Para activar el cifrado de datos de sesión con claves de KMS (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. Seleccione la casilla de verificación situada junto a **Enable KMS encryption** (Habilitar cifrado de KMS).

1. Realice una de las siguientes acciones:
   + Elija el botón que se encuentra junto a **Select a KMS key in my current account** (Seleccione una clave de KMS en la cuenta actual) y, a continuación, seleccione una de las claves de la lista.

     -o bien-

     Elija el botón junto a **Enter a KMS key alias or KMS key ARN (Introducir un alias de clave de KMS o un ARN de clave de KMS)**. Ingrese de forma manual un alias de clave de KMS para una clave creada en su cuenta actual o ingrese el nombre de recurso de Amazon (ARN) de la clave perteneciente a otra cuenta. A continuación se muestran algunos ejemplos:
     + Alias de clave: `alias/my-kms-key-alias`
     + ARN de clave: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE`

     -o bien-

     Elija **Create new key** (Crear nueva clave) para crear una nueva clave de KMS en su cuenta. Después de crear la clave nueva, vuelva a la pestaña **Preferences (Preferencias)** y seleccione la clave para el cifrado de los datos de la sesión en su cuenta.

   Para obtener más información acerca de cómo compartir claves, consulte [Permiso para que las Cuentas de AWS externas accedan a una clave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts) en la *Guía para desarrolladores de AWS Key Management Service*.

1. Seleccione **Save**.

# Creación de un documento de preferencias de Session Manager (línea de comandos)
<a name="getting-started-create-preferences-cli"></a>

Utilice el siguiente procedimiento para crear documentos SSM que definan las preferencias para las sesiones de AWS Systems Manager Session Manager. Puede utilizar el documento para configurar las opciones de sesión, incluidos el cifrado de datos, la duración de la sesión y el registro. Por ejemplo, puede especificar si desea almacenar datos de registro de sesión en un bucket de Amazon Simple Storage Service (Amazon S3) o en un grupo de registro de Registros de Amazon CloudWatch. Puede crear documentos que definan las preferencias generales para todas las sesiones de una Cuenta de AWS y una Región de AWS, o que definan las preferencias para las sesiones individuales. 

**nota**  
Además, puede configurar las preferencias generales de la sesión mediante la consola del administrador de sesiones.

Los documentos utilizados para configurar las preferencias del administrador de sesiones deben tener un `sessionType` de `Standard_Stream`. Para obtener más información sobre los documentos de sesiones, consulte [Esquema del documento de Session](session-manager-schema.md).

Para obtener información sobre el uso de la línea de comandos para actualizar las preferencias de Session Manager existentes, consulte [Actualizar preferencias de Session Manager (línea de comandos)](getting-started-configure-preferences-cli.md).

Para ver un ejemplo de cómo se crean las preferencias de sesión mediante CloudFormation, consulte [Creación de un documento de Systems Manager para preferencias de Session Manager](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#aws-resource-ssm-document--examples) en la *Guía del usuario de AWS CloudFormation*.

**nota**  
Este procedimiento describe cómo crear documentos para establecer las preferencias de Session Manager a nivel de Cuenta de AWS. Para crear documentos que se utilizarán para establecer las preferencias a nivel de sesión, especifique un valor distinto de `SSM-SessionManagerRunShell` para las entradas de comandos relacionadas con el nombre del archivo.   
Para utilizar el documento para establecer las preferencias de las sesiones iniciadas desde AWS Command Line Interface (AWS CLI), proporcione el nombre del documento como el valor del parámetro `--document-name`. Para establecer las preferencias de las sesiones iniciadas desde la consola del administrador de sesiones, puede escribir el nombre del documento o seleccionarlo de una lista.

**Para crear preferencias de Session Manager (línea de comandos)**

1. Cree un archivo JSON en su equipo local con un nombre similar a `SessionManagerRunShell.json` y, a continuación, péguele el siguiente contenido.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": false,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

   También puede pasar valores a sus preferencias de sesión usando parámetros en lugar de codificar de forma rígida los valores, como se muestra en el siguiente ejemplo.

   ```
   {
      "schemaVersion":"1.0",
      "description":"Session Document Parameter Example JSON Template",
      "sessionType":"Standard_Stream",
      "parameters":{
         "s3BucketName":{
            "type":"String",
            "default":""
         },
         "s3KeyPrefix":{
            "type":"String",
            "default":""
         },
         "s3EncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         },
         "cloudWatchLogGroupName":{
            "type":"String",
            "default":""
         },
         "cloudWatchEncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         }
      },
      "inputs":{
         "s3BucketName":"{{s3BucketName}}",
         "s3KeyPrefix":"{{s3KeyPrefix}}",
         "s3EncryptionEnabled":"{{s3EncryptionEnabled}}",
         "cloudWatchLogGroupName":"{{cloudWatchLogGroupName}}",
         "cloudWatchEncryptionEnabled":"{{cloudWatchEncryptionEnabled}}",
         "kmsKeyId":""
      }
   }
   ```

1. Especifique a dónde quiere enviar los datos de la sesión. Puede especificar el nombre de un bucket de S3 (con un prefijo opcional) o el nombre de un grupo de registros de los Registros de CloudWatch. Si desea cifrar aún más los datos entre el cliente local y los nodos administrados, proporcione la clave de KMS para utilizarla para el cifrado. A continuación se muestra un ejemplo.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**nota**  
Si no desea cifrar los datos de registro de la sesión, cambie `true` por `false` en `s3EncryptionEnabled`.  
Si no va a enviar registros a un bucket de Amazon S3 ni a un grupo de registros de los Registros de CloudWatch, si no desea cifrar los datos de sesión activa ni desea activar Ejecutar como soporte para las sesiones de su cuenta, puede eliminar las líneas de esas opciones. Asegúrese de que la última línea de la sección `inputs` no termine con una coma.  
Si agrega un ID de clave de KMS para cifrar los datos de la sesión, tanto los usuarios que inician sesiones como los nodos administrados a los que se conectan deben tener permiso para utilizar la clave. Usted proporciona el permiso para utilizar la clave de KMS con Session Manager a través de las políticas de IAM. Para obtener información, consulte los siguientes temas:  
Agregar permisos de AWS KMS para los usuarios de su cuenta: [Ejemplos de políticas de IAM para Session Manager](getting-started-restrict-access-quickstart.md)
Agregar permisos de AWS KMS para los nodos administrados de la cuenta: [Paso 2: verificación o agregación de permisos de instancia para Session Manager](session-manager-getting-started-instance-profile.md)

1. Guarde el archivo.

1. En el directorio en el que creó el archivo JSON, ejecute el siguiente comando.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-document \
       --name SSM-SessionManagerRunShell \
       --content "file://SessionManagerRunShell.json" \
       --document-type "Session" \
       --document-format JSON
   ```

------
#### [  Windows  ]

   ```
   aws ssm create-document ^
       --name SSM-SessionManagerRunShell ^
       --content "file://SessionManagerRunShell.json" ^
       --document-type "Session" ^
       --document-format JSON
   ```

------
#### [   PowerShell   ]

   ```
   New-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentType "Session" `
       -DocumentFormat JSON
   ```

------

   Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.

   ```
   {
       "DocumentDescription": {
           "Status": "Creating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "1",
           "HashType": "Sha256",
           "CreatedDate": 1547750660.918,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "1"
       }
   }
   ```

# Actualizar preferencias de Session Manager (línea de comandos)
<a name="getting-started-configure-preferences-cli"></a>

El siguiente procedimiento describe cómo utilizar su herramienta de línea de comandos preferida para realizar cambios en las preferencias de AWS Systems Manager Session Manager para su Cuenta de AWS en la Región de AWS seleccionada. Use las preferencias de Session Manager para especificar opciones para registrar los datos de la sesión en un bucket de Amazon Simple Storage Service (Amazon S3) o en un grupo de registros de Amazon CloudWatch Logs. También puede utilizar las preferencias de Session Manager para cifrar los datos de la sesión.

**Para actualizar las preferencias de Session Manager (línea de comandos)**

1. Cree un archivo JSON en su equipo local con un nombre similar a `SessionManagerRunShell.json` y, a continuación, péguele el siguiente contenido.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": true,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

1. Especifique a dónde quiere enviar los datos de la sesión. Puede especificar el nombre de un bucket de S3 (con un prefijo opcional) o el nombre de un grupo de registros de los Registros de CloudWatch. Si desea cifrar aún más los datos entre el cliente local y los nodos administrados, proporcione la AWS KMS key para utilizarla para el cifrado. A continuación se muestra un ejemplo.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**nota**  
Si no desea cifrar los datos de registro de la sesión, cambie `true` por `false` en `s3EncryptionEnabled`.  
Si no va a enviar registros a un bucket de Amazon S3 ni a un grupo de registros de los Registros de CloudWatch, si no desea cifrar los datos de sesión activa ni desea activar Ejecutar como soporte para las sesiones de su cuenta, puede eliminar las líneas de esas opciones. Asegúrese de que la última línea de la sección `inputs` no termine con una coma.  
Si agrega un ID de clave de KMS para cifrar los datos de la sesión, tanto los usuarios que inician sesiones como los nodos administrados a los que se conectan deben tener permiso para utilizar la clave. Usted proporciona el permiso para utilizar la clave de KMS con Session Manager a través de las políticas de AWS Identity and Access Management (IAM). Para obtener información, consulte los siguientes temas:  
Agregar permisos de AWS KMS para los usuarios de su cuenta: [Ejemplos de políticas de IAM para Session Manager](getting-started-restrict-access-quickstart.md).
Agregar permisos de AWS KMS para los nodos administrados de la cuenta: [Paso 2: verificación o agregación de permisos de instancia para Session Manager](session-manager-getting-started-instance-profile.md).

1. Guarde el archivo.

1. En el directorio en el que creó el archivo JSON, ejecute el siguiente comando.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-document \
       --name "SSM-SessionManagerRunShell" \
       --content "file://SessionManagerRunShell.json" \
       --document-version "\$LATEST"
   ```

------
#### [  Windows  ]

   ```
   aws ssm update-document ^
       --name "SSM-SessionManagerRunShell" ^
       --content "file://SessionManagerRunShell.json" ^
       --document-version "$LATEST"
   ```

------
#### [   PowerShell   ]

   ```
   Update-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentVersion '$LATEST'
   ```

------

   Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.

   ```
   {
       "DocumentDescription": {
           "Status": "Updating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "2",
           "HashType": "Sha256",
           "CreatedDate": 1537206341.565,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "2"
       }
   }
   ```

# Paso 5: (Opcional) Restringir el acceso a los comandos de una sesión
<a name="session-manager-restrict-command-access"></a>

Puede restringir los comandos que un usuario puede ejecutar en una sesión de AWS Systems Manager Session Manager mediante un documento personalizado de tipo `Session` de AWS Systems Manager (SSM). En el documento, debe definir el comando que se ejecuta cuando el usuario inicia una sesión y los parámetros que el usuario puede proporcionar al comando. El valor del documento de `Session` `schemaVersion` debe ser 1.0 y su `sessionType` debe ser `InteractiveCommands`. Luego, puede crear políticas de AWS Identity and Access Management (IAM) que permitan a los usuarios acceder solo a los documentos de `Session` que usted defina. Para obtener más información acerca del uso de las políticas de IAM para restringir el acceso a los comandos de una sesión, consulte [Ejemplos de políticas de IAM para comandos interactivos](#interactive-command-policy-examples).

Los documentos con el `sessionType` de `InteractiveCommands` solo se admiten para sesiones iniciadas desde AWS Command Line Interface (AWS CLI). El usuario brinda el nombre del documento personalizado como valor del parámetro `--document-name` y proporciona cualquier valor de parámetro de comando mediante la opción `--parameters`. Para obtener más información sobre la ejecución de comandos interactivos, consulte [Inicio de una sesión (comandos interactivos y no interactivos)](session-manager-working-with-sessions-start.md#sessions-start-interactive-commands).

Utilice el siguiente procedimiento para crear un documento personalizado de SSM de tipo `Session` que defina el comando que el usuario tiene permitido ejecutar.

## Restringir el acceso a los comandos de una sesión (consola)
<a name="restrict-command-access-console"></a>

**Para restringir los comandos que un usuario puede ejecutar en una sesión de Session Manager (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Documentos**.

1. Elija **Create command or session (Crear comando o sesión)**.

1. En **Name** (Nombre), ingrese un nombre descriptivo para el documento.

1. En **Document type (Tipo de documento)**, elija **Session document (Documento Session)**.

1. Escriba el contenido del documento para definir el comando que un usuario puede ejecutar en una sesión de Session Manager utilizando JSON o YAML, tal y como se muestra en el siguiente ejemplo.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

------
#### [ JSON ]

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Elija **Create document** (Crear documento).

## Restringir el acceso a los comandos de una sesión (línea de comandos)
<a name="restrict-command-access-commandline"></a>

**Antes de empezar**  
Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI) o las Herramientas de AWS para PowerShell. Para obtener información, consulte [Instalación o actualización de la última versión de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Instalación de Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

**Para restringir los comandos que un usuario puede ejecutar en una sesión de Session Manager (línea de comandos)**

1. Cree un archivo JSON o YAML con el contenido del documento que defina el comando que un usuario puede ejecutar en una sesión de Session Manager, tal y como se muestra en el siguiente ejemplo.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

------
#### [ JSON ]

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Ejecute los siguientes comandos para crear un documento de SSM en el que se defina el comando que el usuario puede ejecutar en una sesión de Session Manager.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-document \
       --content file://path/to/file/documentContent.json \
       --name "exampleAllowedSessionDocument" \
       --document-type "Session"
   ```

------
#### [  Windows  ]

   ```
   aws ssm create-document ^
       --content file://C:\path\to\file\documentContent.json ^
       --name "exampleAllowedSessionDocument" ^
       --document-type "Session"
   ```

------
#### [   PowerShell   ]

   ```
   $json = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String
   New-SSMDocument `
       -Content $json `
       -Name "exampleAllowedSessionDocument" `
       -DocumentType "Session"
   ```

------

## Parámetros de comandos interactivos y la AWS CLI
<a name="restrict-command-access-parameters-cli"></a>

Hay una variedad de formas en las que puede proporcionar parámetros de comandos interactivos cuando utiliza la AWS CLI. Según el sistema operativo (SO) del equipo cliente que utilice para conectarse a nodos administrados con la AWS CLI, la sintaxis que proporcione para los comandos que contengan caracteres especiales o de escape puede diferir. En los siguientes ejemplos, se muestran algunas de las diferentes formas de proporcionar parámetros de comando cuando se utiliza la AWS CLI y cómo manejar los caracteres especiales o de escape.

Los parámetros almacenados en Parameter Store se pueden referenciar en la AWS CLI para obtener los parámetros de comandos, como se muestra en el siguiente ejemplo.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

------

En el siguiente ejemplo, se muestra cómo puede utilizar una sintaxis abreviada con la AWS CLI para pasar parámetros.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters command="ifconfig"
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters command="ipconfig"
```

------

También puede proporcionar parámetros en JSON, tal como se muestra en el siguiente ejemplo.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["ifconfig"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["ipconfig"]}'
```

------

Los parámetros también se pueden almacenar en un archivo JSON y proporcionarse a la AWS CLI, como se muestra en el siguiente ejemplo. Para obtener más información acerca del uso de los parámetros de la AWS CLI desde un archivo, consulte [Carga de los parámetros de la AWS CLI desde un archivo](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-file.html) en la *Guía del usuario de la AWS Command Line Interface*.

```
{
    "command": [
        "my command"
    ]
}
```

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters file://complete/path/to/file/parameters.json
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters file://complete/path/to/file/parameters.json
```

------

También puede generar un esqueleto de la AWS CLI desde un archivo JSON de entrada, tal como se muestra en el siguiente ejemplo. Para obtener más información acerca de la generación de esqueletos de la AWS CLI desde archivos JSON de entrada, consulte [Generación del esqueleto de la AWS CLI y de los parámetros de entrada desde un archivo de entrada JSON o YAML](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-skeleton.html) en la *Guía del usuario de la AWS Command Line Interface*.

```
{
    "Target": "instance-id",
    "DocumentName": "MyInteractiveCommandDocument",
    "Parameters": {
        "command": [
            "my command"
        ]
    }
}
```

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --cli-input-json file://complete/path/to/file/parameters.json
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --cli-input-json file://complete/path/to/file/parameters.json
```

------

Para los caracteres de escape que se encuentran entre comillas, debe agregar barras inversas adicionales a los caracteres de escape, como se muestra en el siguiente ejemplo.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

------

Para obtener más información acerca de cómo utilizar comillas con parámetros de comando en la AWS CLI, consulte [Uso de comillas con cadenas en la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-quoting-strings.html) en la *Guía del usuario de la AWS Command Line Interface*.

## Ejemplos de políticas de IAM para comandos interactivos
<a name="interactive-command-policy-examples"></a>

Puede crear políticas de IAM que permitan a los usuarios acceder solo a los documentos de `Session` que usted defina. De este modo, restringirá los comandos que puede ejecutar un usuario en una sesión de Session Manager a solo aquellos comandos que estén especificados en los documentos personalizados de tipo `Session` de SSM.

 **Permitir que un usuario ejecute un comando interactivo en un solo nodo administrado**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/i-02573cafcfEXAMPLE",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Permitir que un usuario ejecute un comando interactivo en todos los nodos administrados**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Permitir que un usuario ejecute varios comandos interactivos en todos los nodos administrados**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document-2"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

# Paso 6: (Opcional) Utilizar AWS PrivateLink para configurar un punto de enlace de la VPC para Session Manager
<a name="session-manager-getting-started-privatelink"></a>

Puede mejorar aún más la posición de seguridad de los nodos administrados configurando AWS Systems Manager para que use un punto de conexión de la nube virtual privada (VPC) de interfaz. Los puntos de enlace de interfaz tienen la tecnología de AWS PrivateLink que le permite acceder de forma privada a las API de Amazon Elastic Compute Cloud (Amazon EC2) y Systems Manager mediante el uso de direcciones IP privadas. 

AWS PrivateLink restringe todo el tráfico de red entre los nodos administrados, Systems Manager y Amazon EC2 a la red de Amazon. (Los nodos administrados no tienen acceso a Internet). Asimismo, no necesita una gateway de Internet ni un dispositivo NAT ni una gateway privada virtual. 

Para obtener información sobre cómo crear un punto de conexión de VPC, consulte [Mejora de la seguridad de las instancias de EC2 mediante puntos de conexión de VPC para Systems Manager](setup-create-vpc.md).

La alternativa a usar un punto de conexión de VPC es permitir el acceso a Internet saliente en los nodos administrados. En este caso, los nodos administrados también deben permitir el tráfico saliente HTTPS (puerto 443) a los siguientes puntos de conexión:
+  `ec2messages.region.amazonaws.com` 
+  `ssm.region.amazonaws.com` 
+  `ssmmessages.region.amazonaws.com` 

Systems Manager utiliza el último de estos puntos de enlace, `ssmmessages.region.amazonaws.com`, para realizar llamadas desde SSM Agent hacia el servicio Session Manager en la nube.

Para utilizar características opcionales como cifrado de AWS Key Management Service (AWS KMS), streaming de registros a Amazon CloudWatch Logs (CloudWatch Logs) y envío de registros a Amazon Simple Storage Service (Amazon S3), debe permitir el tráfico saliente HTTPS (puerto 443) a los siguientes puntos de conexión:
+  `kms.region.amazonaws.com` 
+  `logs.region.amazonaws.com` 
+  `s3.region.amazonaws.com` 

Para obtener más información acerca de los puntos de enlace requeridos para Systems Manager, consulte [Referencia: ec2messages, ssmmessages y otras operaciones de la API](systems-manager-setting-up-messageAPIs.md).

# Paso 7: (Opcional) Activar o desactivar los permisos administrativos de la cuenta ssm-user
<a name="session-manager-getting-started-ssm-user-permissions"></a>

A partir de la versión 2.3.50.0 de AWS Systems Manager SSM Agent, el agente crea una cuenta de usuario local llamada `ssm-user` y la agrega a `/etc/sudoers` (Linux y macOS) o al grupo de administradores (Windows). En las versiones anteriores a la 2.3.612.0 del agente, la cuenta se crea la primera vez que SSM Agent se inicia o reinicia después de la instalación. En la versión 2.3.612.0 y posteriores, la cuenta `ssm-user` se crea la primera vez que se inicia una sesión en un nodo. Este `ssm-user` es el usuario predeterminado del sistema operativo (SO) cuando se inicia una sesión de AWS Systems Manager Session Manager. La versión 2.3.612.0 de SSM Agent se lanzó el 8 de mayo de 2019.

Si desea impedir que los usuarios de Session Manager ejecuten comandos administrativos en un nodo, puede actualizar los permisos de las cuentas `ssm-user`. También puede restaurar estos permisos después de que se hayan eliminado.

**Topics**
+ [Administración de permisos de cuentas ssm-user sudo en Linux y macOS](#ssm-user-permissions-linux)
+ [Administración de los permisos de las cuentas de administrador ssm-user en Windows Server](#ssm-user-permissions-windows)

## Administración de permisos de cuentas ssm-user sudo en Linux y macOS
<a name="ssm-user-permissions-linux"></a>

Utilice uno de los siguientes procedimientos para activar o desactivar los permisos sudo de las cuentas ssm-user en nodos administrados de Linux y macOS.

**Use Run Command para modificar permisos sudo de ssm-user (consola)**
+ Utilice el procedimiento en [Ejecución de comandos desde la consola](running-commands-console.md) con los siguientes valores:
  + En **Command document (Documento Command)**, elija `AWS-RunShellScript`.
  + Para eliminar el acceso sudo, en el área **Command parameters** (Parámetros de comandos), pegue lo siguiente en el cuadro **Commands** (Comandos).

    ```
    cd /etc/sudoers.d
    echo "#User rules for ssm-user" > ssm-agent-users
    ```

    -o bien-

    Para restaurar el acceso sudo, en el área **Command parameters** (Parámetros de comandos), pegue lo siguiente en el cuadro **Commands** (Comandos).

    ```
    cd /etc/sudoers.d 
    echo "ssm-user ALL=(ALL) NOPASSWD:ALL" > ssm-agent-users
    ```

**Uso de la línea de comandos para modificar permisos sudo de ssm-user (AWS CLI)**

1. Conéctese al nodo administrado y ejecute el siguiente comando.

   ```
   sudo -s
   ```

1. Cambie el directorio de trabajo con el siguiente comando.

   ```
   cd /etc/sudoers.d
   ```

1. Abra el archivo con el nombre `ssm-agent-users` para editarlo.

1. Para eliminar el acceso sudo, elimine la siguiente línea.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

   -o bien-

   Para restaurar el acceso sudo, agregue la siguiente línea.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

1. Guarde el archivo.

## Administración de los permisos de las cuentas de administrador ssm-user en Windows Server
<a name="ssm-user-permissions-windows"></a>

Utilice uno de los siguientes procedimientos para activar o desactivar los permisos de administrador de las cuentas ssm-user en los nodos administrados de Windows Server.

**Uso de Run Command para modificar los permisos de administrador (consola)**
+ Utilice el procedimiento en [Ejecución de comandos desde la consola](running-commands-console.md) con los siguientes valores:

  En **Command document (Documento Command)**, elija `AWS-RunPowerShellScript`.

  Para eliminar el acceso administrativo, en el área **Command parameters** (Parámetros de comandos), pegue lo siguiente en el cuadro **Commands** (Comandos).

  ```
  net localgroup "Administrators" "ssm-user" /delete
  ```

  -o bien-

  Para restaurar el acceso administrativo, en el área **Command parameters** (Parámetros de comandos), pegue lo siguiente en el cuadro **Commands** (Comandos).

  ```
  net localgroup "Administrators" "ssm-user" /add
  ```

**Uso de la ventana de PowerShell o del símbolo del sistema para modificar los permisos de administrador**

1. Conéctese al nodo administrado y abra la ventana de PowerShell o del símbolo del sistema.

1. Para eliminar el acceso administrativo, ejecute el siguiente comando.

   ```
   net localgroup "Administrators" "ssm-user" /delete
   ```

   -o bien-

   Para restaurar el acceso administrativo, ejecute el siguiente comando.

   ```
   net localgroup "Administrators" "ssm-user" /add
   ```

**Uso de la consola de Windows para modificar los permisos de administrador**

1. Conéctese al nodo administrado y abra la ventana de PowerShell o del símbolo del sistema.

1. En la línea de comandos, ejecute `lusrmgr.msc` para abrir la consola **Local Users and Groups (Grupos y usuarios locales)**.

1. Abra el directorio **Usuarios** y, a continuación, **ssm-user**.

1. En la pestaña **Member Of (Miembro de)**, realice una de las siguientes acciones:
   + Para eliminar el acceso administrativo, seleccione **Administradores** y, a continuación, seleccione **Quitar**.

     -o bien-

     Para restaurar el acceso administrativo, ingrese **Administrators** en el cuadro de texto y, a continuación, elija **Add** (Agregar).

1. Seleccione **Aceptar**.

# Paso 8: (Opcional) Permitir y controlar permisos para conexiones de SSH mediante Session Manager
<a name="session-manager-getting-started-enable-ssh-connections"></a>

Puede permitir que los usuarios de la Cuenta de AWS utilicen la AWS Command Line Interface (AWS CLI) para establecer conexiones de Secure Shell (SSH) a los nodos administrados usando AWS Systems Manager Session Manager. Los usuarios que se conectan usando SSH también pueden copiar archivos entre sus máquinas locales y nodos administrados usando el protocolo de copia segura (SCP). Puede usar esta funcionalidad para conectarse a nodos administrados sin abrir puertos de entrada o mantener hosts de bastión.

 Cuando establece conexiones SSH a través deSession Manager, AWS CLI y SSM Agent crean conexiones WebSocket seguras a través de TLS a los puntos de conexión de Session Manager. La sesión SSH se ejecuta dentro de este túnel cifrado, lo que proporciona una capa adicional de seguridad sin necesidad de abrir los puertos de entrada en los nodos administrados.

Después de permitir las conexiones de SSH, puede utilizar las políticas de AWS Identity and Access Management (IAM) a fin de permitir o denegar explícitamente las conexiones de SSH mediante Session Manager a usuarios, grupos o roles.

**nota**  
El registro no está disponible para las sesiones de Session Manager que se conectan a través del reenvío de puertos o de SSH. Esto se debe a que SSH cifra todos los datos de la sesión dentro de la conexión TLS segura establecida entre los puntos de conexión AWS CLI y Session Manager, y Session Manager solo funciona como túnel para las conexiones de SSH.

**Topics**
+ [Permitir las conexiones de SSH para Session Manager](#ssh-connections-enable)
+ [Control de los permisos de usuario para las conexiones de SSH mediante Session Manager](#ssh-connections-permissions)

## Permitir las conexiones de SSH para Session Manager
<a name="ssh-connections-enable"></a>

Siga los siguientes pasos para permitir las conexiones de SSH mediante Session Manager en un nodo administrado. 

**Para permitir las conexiones de SSH para Session Manager**

1. En el nodo administrado en el que desea permitir las conexiones de SSH, realice el siguiente procedimiento:
   + Asegúrese de que se está ejecutando SSH en el nodo administrado. (Puede cerrar los puertos de entrada del nodo).
   + Asegúrese de la versión 2.3.672.0 de SSM Agent o una versión posterior esté instalada en el nodo administrado.

     Para obtener información sobre cómo instalar o actualizar el SSM Agent en un nodo administrado, consulte los siguientes temas:
     + [Cómo instalar y desinstalar de forma manual SSM Agent en instancias de EC2 para Windows Server](manually-install-ssm-agent-windows.md).
     +  [Instalación y desinstalación manual de SSM Agent en instancias de EC2 para Linux](manually-install-ssm-agent-linux.md) 
     +  [Instalación y desinstalación manual de SSM Agent en instancias de EC2 para macOS](manually-install-ssm-agent-macos.md) 
     +  [Cómo instalar SSM Agent en nodos de Windows híbridos](hybrid-multicloud-ssm-agent-install-windows.md) 
     +  [Cómo instalar SSM Agent en nodos de Linux híbridos](hybrid-multicloud-ssm-agent-install-linux.md) 
**nota**  
Para utilizar Session Manager con servidores en las instalaciones, dispositivos periféricos y máquinas virtuales (VM) que activó como nodos administrados, debe utilizar el nivel de instancias avanzadas. Para obtener más información acerca de las instancias avanzadas, consulte [Configuración de los niveles de instancias](fleet-manager-configure-instance-tiers.md).

1. En la máquina local desde la que desea conectarse a un nodo administrado utilizando SSH, haga lo siguiente:
   + Asegúrese de que la versión 1.1.23.0 o posterior del complemento Session Manager está instalada.

     Para obtener más información sobre la Session Manager instalación del plugin, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).
   + Actualice el archivo de configuración de SSH para permitir la ejecución de un comando de proxy que inicie una sesión de Session Manager y transfiera todos los datos a través de la conexión.

      **Linux y macOS** 
**sugerencia**  
El archivo de configuración de SSH suele estar en `~/.ssh/config`.

     Agregue lo siguiente al archivo de configuración en el equipo local.

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
         User ec2-user
     ```

      ** Windows ** 
**sugerencia**  
El archivo de configuración de SSH suele estar en `C:\Users\<username>\.ssh\config`.

     Agregue lo siguiente al archivo de configuración en el equipo local.

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p"
     ```
   + Cree o verifique que tiene un certificado Privacy Enhanced Mail (un archivo PEM) o, al menos, una clave pública, que se utilizará a la hora de establecer conexiones a los nodos administrados. Debe ser una clave que ya esté asociada al nodo administrado. Se deben configurar los permisos del archivo de clave privada para que solo usted pueda leerlo. Puede utilizar el siguiente comando para configurar los permisos del archivo de clave privada para que solo usted pueda leerlo.

     ```
     chmod 400 <my-key-pair>.pem
     ```

     Por ejemplo, para una instancia de Amazon Elastic Compute Cloud (Amazon EC2), el archivo de par de claves que creó o seleccionó cuando creó la instancia. (Debe especificar la ruta al certificado o a la clave como parte del comando para iniciar una sesión. Para obtener más información acerca de cómo iniciar una sesión mediante SSH, consulte ). [Inicio de una sesión (SSH)](session-manager-working-with-sessions-start.md#sessions-start-ssh).)

## Control de los permisos de usuario para las conexiones de SSH mediante Session Manager
<a name="ssh-connections-permissions"></a>

Después de habilitar las conexiones de SSH mediante Session Manager en un nodo administrado, puede utilizar las políticas de IAM para permitir o denegar la capacidad de establecer conexiones de SSH a usuarios, grupos o roles a través de Session Manager. 

**Uso de políticas de IAM para permitir las conexiones de SSH a través de Session Manager**
+ Utilice una de las siguientes opciones:
  + **Opción 1**: abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

    En el panel de navegación, elija **Policies (Políticas)** y actualice la política de permisos del usuario o rol al que desea permitir que inicie conexiones SSH a través de Session Manager. 

    Por ejemplo, agregue el siguiente elemento a la política de inicio rápido que creó en . [Políticas de usuarios finales de inicio rápido de Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user). Reemplace cada *example resource placeholder* por su propia información. 

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ssm:StartSession",
                "Resource": [
                    "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
                    "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
                ]
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Opción 2**: adjunte una política insertada a una política de usuario mediante la Consola de administración de AWS, la AWS CLI o la API de AWS.

    Uso del método que elija para adjuntar la declaración de política en la **Opción 1** a la política para un usuario, grupo o rol de AWS.

    Para obtener información, consulte [Agregagado y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*.

**Uso de una política de IAM para denegar las conexiones de SSH mediante Session Manager**
+ Utilice una de las siguientes opciones:
  + **Opción 1**: abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). En el panel de navegación, elija **Policies (Políticas)**, y, a continuación, actualice la política de permisos de forma que el usuario o el rol no puedan iniciar sesiones de Session Manager. 

    Por ejemplo, agregue el siguiente elemento a la política de inicio rápido que creó en [Políticas de usuarios finales de inicio rápido de Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Deny",
                "Action": "ssm:StartSession",
                "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Opción 2**: adjunte una política insertada a una política de usuario mediante la Consola de administración de AWS, la AWS CLI o la API de AWS.

    Uso del método que elija para adjuntar la declaración de política en la **Opción 1** a la política para un usuario, grupo o rol de AWS.

    Para obtener información, consulte [Agregagado y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*.

# Uso de Session Manager
<a name="session-manager-working-with"></a>

Puede utilizar la consola de AWS Systems Manager, la consola de Amazon Elastic Compute Cloud (Amazon EC2) o la AWS Command Line Interface (AWS CLI) para iniciar sesiones que lo conecten a los nodos administrados a los que el administrador del sistema le ha otorgado acceso mediante políticas de AWS Identity and Access Management (IAM). En función de sus permisos, también puede ver información sobre las sesiones, reanudar las sesiones inactivas cuyo tiempo de espera no haya finalizado y terminar las sesiones. Una vez que se establece una sesión, no se ve afectada por la duración de la sesión del rol de IAM. Para obtener información acerca de cómo limitar la duración de la sesión con Session Manager, consulte [Especificación de un valor de tiempo de espera de sesión inactiva](session-preferences-timeout.md) y [Especificar la duración máxima de la sesión](session-preferences-max-timeout.md).

Para obtener más información acerca de las sesiones, consulte [¿Qué es una sesión?](session-manager.md#what-is-a-session).

**Topics**
+ [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md)
+ [Inicio de una sesión](session-manager-working-with-sessions-start.md)
+ [Finalización de una sesión](session-manager-working-with-sessions-end.md)
+ [Visualización del historial de sesiones](session-manager-working-with-view-history.md)

# Instalación del complemento de Session Manager para la AWS CLI
<a name="session-manager-working-with-install-plugin"></a>

Para iniciar sesiones de Session Manager con los nodos administrados mediante AWS Command Line Interface (AWS CLI), debe instalar el *complemento de Session Manager* en su equipo local. Puede instalar el complemento en versiones compatibles de Microsoft Windows Server, macOS, Linux y Ubuntu Server.

**nota**  
La versión 1.16.12 o una posterior de la AWS CLI debe estar instalada en su equipo local para poder utilizar el complemento de Session Manager. Para obtener más información, consulte [Instalación o actualización de la versión de AWS Command Line Interface más reciente](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

**Topics**
+ [Session ManagerÚltima versión del complemento de e historial de versiones](plugin-version-history.md)
+ [Instalación del complemento de Session Manager en Windows](install-plugin-windows.md)
+ [Instalación del complemento de Session Manager en macOS](install-plugin-macos-overview.md)
+ [Cómo instalar el complemento de Session Manager en Linux](install-plugin-linux-overview.md)
+ [Verificación de la instalación del complemento de Session Manager](install-plugin-verify.md)
+ [El complemento Session Manager en GitHub](plugin-github.md)
+ [(Opcional) Activación del registro del complemento de Session Manager](install-plugin-configure-logs.md)

# Session ManagerÚltima versión del complemento de e historial de versiones
<a name="plugin-version-history"></a>

El equipo local debe ejecutar una versión compatible del complemento de Session Manager. En la actualidad, la versión más antigua compatible es la 1.1.17.0. Si ejecuta una versión anterior, es posible que las operaciones de Session Manager no se efectúen de manera correcta. 

 

Para ver si tiene la versión más reciente, ejecute el siguiente comando en la AWS CLI.

**nota**  
El comando devuelve los resultados únicamente si el complemento se encuentra en el directorio de instalación predeterminado de su sistema operativo. También puede comprobar la versión en el contenido del archivo `VERSION` en el directorio en el que ha instalado el complemento.

```
session-manager-plugin --version
```

En la siguiente tabla se muestran todas las versiones del complemento de Session Manager, así como las características y las mejoras incluidas en cada versión.

**importante**  
Le recomendamos que utilice siempre la versión más reciente. La versión más reciente incluye mejoras que mejoran la experiencia de uso del complemento.


| Versión | Fecha de lanzamiento | Details | 
| --- | --- | --- | 
| 1.2.792.0 |  17 de marzo de 2026  | **Corrección de errores**: se ha añadido soporte de teclado internacional para Windows. | 
| 1.2.779.0 |  12 de febrero de 2026  | **Mejora**: Se actualizó la versión Go a la 1.25 en Dockerfile. **Corrección de error**: Se agregaron líneas shebang a los scripts de paquetes de Debian. | 
| 1.2.764.0 |  19 de noviembre de 2025  | **Mejora**: se ha agregado soporte para la firma de solicitudes de OpenDataChannel. **Corrección de errores**: se corrigen los problemas de checkstyle para la compatibilidad con la versión más reciente de Go. | 
| 1.2.707.0 |  6 de febrero de 2025  | **Mejora**: se actualizó la versión Go a la 1.23 en el Dockerfile. Se actualizó el paso de configuración de la versión en el archivo README. | 
| 1.2.694.0 |  20 de noviembre de 2024  | **Corrección de error**: se anuló el cambio que agregaba credenciales a las solicitudes de OpenDataChannel. | 
| 1.2.688.0 |  6 de noviembre de 2024  | **Esta versión quedó obsoleta el 20/11/2024.** **Mejoras**:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/plugin-version-history.html) | 
| 1.2.677.0 |  10 de octubre de 2024  | **Mejora**: se ha agregado compatibilidad para pasar la versión del complemento con las solicitudes de OpenDataChannel. | 
| 1.2.650.0 |  2 de julio de 2024  | **Mejora**: se actualizó aws-sdk-go a la versión 1.54.10.**Corrección de errores**: se han reformulado los comentarios para la verificación de gofmt. | 
| 1.2.633.0 |  30 de mayo de 2024  | Mejora: Se ha actualizado el Dockerfile para que utilice una imagen de Amazon Elastic Container Registry (Amazon ECR). | 
| 1.2.553.0 |  10 de enero de 2024  | Mejora: se actualizaron aws-sdk-go y los paquetes dependientes de Golang. | 
| 1.2.536.0 |  4 de diciembre de 2023  | Mejora: se agregó soporte para pasar una respuesta de la API [StartSession](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartSession.html) como variable de entorno al complemento Session Manager. | 
| 1.2.497.0 |  1 de agosto de 2023  | Mejora: se actualizó el Go SDK a la versión 1.44.302. | 
| 1.2.463.0 |  15 de marzo de 2023  | Mejora: se agregó la compatibilidad con Mac with Apple silicon para Apple Mac (M1) en el instalador agregado y firmado de macOS.  | 
| 1.2.398.0 |  14 de octubre de 2022  | Mejora: es compatible con la versión 1.17 de Golang. Actualice el ejecutor de complementos del administrador de sesiones predeterminado para macOS si desea usar python3. Actualice la ruta de importación de SSMCLI al complemento del administrador de sesiones. | 
| 1.2.339.0 |  16 de junio de 2022  | Corrección de error: corrección del tiempo de espera de sesión inactiva para las sesiones de puertos. | 
| 1.2.331.0 |  27 de mayo de 2022  | Corrección de error: corrección del cierre prematuro de las sesiones de puertos cuando el servidor local no se conecta antes de que se agote el tiempo de espera. | 
| 1.2.323.0 |  19 de mayo de 2022  | Corrección de error: desactivación de mantenimiento de conexión de smux para utilizar la función de tiempo de espera de sesión inactiva. | 
| 1.2.312.0 |  31 de marzo de 2022  | Mejora: admite más tipos de carga de mensajes de salida. | 
| 1.2.295.0 |  12 de enero de 2022  | Solución de errores: sesiones que dejan de responder porque el cliente reenvía datos de flujo cuando el agente queda inactivo y registros incorrectos para mensajes de start\$1publication y pause\$1publication. | 
| 1.2.279.0 |  27 de octubre de 2021  | Mejora: empaquetado zip para la plataforma Windows. | 
| 1.2.245.0 |  19 de agosto de 2021  | Mejora: Actualice aws-sdk-go a la versión más reciente (v1.40.17) para admitir el AWS IAM Identity Center. | 
| 1.2.234.0 |  26 de julio de 2021  | Corrección de errores: gestione el escenario de sesión abruptamente terminada en el tipo de sesión interactiva. | 
| 1.2.205.0 |  10 de junio de 2021  | Mejora: se agregó compatibilidad con el instalador firmado de macOS. | 
| 1.2.54.0 |  29 de enero de 2021  | Mejora: se agregó compatibilidad con la ejecución de sesiones en modo de ejecución NonInteractiveCommands. | 
| 1.2.30.0 |  24 de noviembre de 2020  |  **Mejora**: se mejoró el rendimiento general (solo en las sesiones de reenvío de puertos).  | 
| 1.2.7.0 |  15 de octubre de 2020  |  **Mejora**: se redujo la latencia y se mejoró el rendimiento general (solo en las sesiones de reenvío de puertos).  | 
| 1.1.61.0 |  17 de abril de 2020  |  **Mejora**: ahora ARM es compatible con Linux y Ubuntu Server.   | 
| 1.1.54.0 |  6 de enero de 2020  |  **Corrección de errores**: gestione el escenario de condición de carrera de paquetes que se descartan cuando el complemento de Session Manager no está listo.   | 
|  1.1.50.0  | 19 de noviembre de 2019 |  **Mejora**: se ha añadido soporte para reenviar un puerto a un socket Unix local.  | 
|  1.1.35.0  | 7 de noviembre de 2019 |  **Mejora**: (Solo sesiones de reenvío de puertos) Enviar un comando TerminateSession a SSM Agent cuando el usuario local presione `Ctrl+C`.  | 
| 1.1.33.0 | 26 de septiembre de 2019 | Mejora: (solo sesiones de reenvío de puertos) Envíe una señal de desconexión al servidor cuando el cliente interrumpa la conexión TCP.  | 
| 1.1.31.0 | 6 de septiembre de 2019 | Mejora: actualización para mantener abierta la sesión de enrutamiento de puertos hasta que el servidor remoto cierre la conexión. | 
|  1.1.26.0  | 30 de julio de 2019 |  **Mejora**: actualización para limitar la velocidad de transferencia de datos durante una sesión.  | 
|  1.1.23.0  | 9 de julio de 2019 |  **Mejora**: se agregó compatibilidad con la ejecución de sesiones de SSH mediante Session Manager.  | 
| 1.1.17.0 | 4 de abril de 2019 |  **Mejora**: se ha añadido soporte para cifrar aún más los datos de la sesión utilizando AWS Key Management Service (AWS KMS).  | 
| 1.0.37.0 | 20 de septiembre de 2018 |  **Mejora**: corrección de errores para la versión de Windows.  | 
| 1.0.0.0 | 11 de septiembre de 2018 |  Versión inicial del complemento de Session Manager.  | 

# Instalación del complemento de Session Manager en Windows
<a name="install-plugin-windows"></a>

Puede instalar el complemento de Session Manager en Windows Vista o una versión posterior con el instalador independiente.

Cuando se hayan publicado las actualizaciones, deberá repetir el proceso de instalación para obtener la versión más reciente del complemento de Session Manager.

**nota**  
Observe la siguiente información.  
El instalador del complemento de Session Manager necesita derechos de administrador para instalar el complemento.
Para obtener mejores resultados, le recomendamos iniciar las sesiones en los clientes de Windows utilizando Windows PowerShell , versión 5 o una posterior. También puede utilizar el intérprete de comandos en Windows 10. El complemento de Session Manager solo es compatible con PowerShell y el intérprete de comandos. Es posible que las herramientas de línea de comandos de terceros no sean compatibles con el complemento.

**Para instalar el complemento de Session Manager con el instalador EXE**

1. Descargue el instalador mediante la siguiente dirección URL.

   ```
   https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe
   ```

   También puede descargar una versión comprimida del instalador utilizando la siguiente URL.

   ```
   https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPlugin.zip
   ```

1. Ejecute el instalador descargado y siga las instrucciones que aparecen en la pantalla. Si descargó la versión comprimida del instalador, primero debe descomprimir el instalador.

   Deje el cuadro de ubicación de la instalación en blanco para instalar el complemento en el directorio predeterminado.
   +  `%PROGRAMFILES%\Amazon\SessionManagerPlugin\bin\` 

1. Compruebe que la instalación se ha realizado correctamente. Para obtener más información, consulte [Verificación de la instalación del complemento de Session Manager](install-plugin-verify.md).
**nota**  
Si Windows no puede encontrar el ejecutable, es posible que tenga que volver a abrir el símbolo del sistema o añadir el directorio de instalación a su variable de entorno `PATH` manualmente. Para obtener información, consulte el tema sobre solución de problemas [Complemento de Session Manager no agregado de manera automática a la ruta de la línea de comandos (Windows)](session-manager-troubleshooting.md#windows-plugin-env-var-not-set).

# Instalación del complemento de Session Manager en macOS
<a name="install-plugin-macos-overview"></a>

Elija uno de los siguientes temas para instalar el complemento de Session Manager en macOS. 

**nota**  
El instalador firmado es un archivo `.pkg` firmado. El instalador agrupado utiliza un archivo `.zip`. Después de descomprimir el archivo, puede utilizar el binario para instalar el complemento.

## Instalación del complemento de Session Manager en macOS con el instalador firmado
<a name="install-plugin-macos-signed"></a>

En esta sección se describe cómo instalar el complemento de Session Manager en macOS con el instalador firmado.

**Para instalar el complemento de Session Manager con el instalador firmado (macOS)**

1. Descargue el instalador firmado.

------
#### [ x86\$164 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
   ```

------
#### [ Mac con silicona de Apple ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac_arm64/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
   ```

------

1. Ejecute los comandos de instalación. Si el comando falla, verifique que la carpeta `/usr/local/bin` exista. Si no es así, créela y vuelva a ejecutar el comando.

   ```
   sudo installer -pkg session-manager-plugin.pkg -target /
   sudo ln -s /usr/local/sessionmanagerplugin/bin/session-manager-plugin /usr/local/bin/session-manager-plugin
   ```

1. Compruebe que la instalación se ha realizado correctamente. Para obtener más información, consulte [Verificación de la instalación del complemento de Session Manager](install-plugin-verify.md).

## Instalación del complemento de Session Manager en macOS
<a name="install-plugin-macos"></a>

En esta sección se describe cómo instalar el complemento de Session Manager en macOS con el instalador incluido.

**importante**  
Tenga en cuenta la siguiente información importante.  
De forma predeterminada, el instalador requiere acceso sudo para ejecutarse, ya que el script instala el complemento en el directorio del sistema `/usr/local/sessionmanagerplugin`. Si no quiere instalar el complemento mediante sudo, actualice manualmente el script del instalador para instalar el complemento en un directorio que no requiera acceso sudo.
El instalador empaquetado no admite la instalación en rutas que contienen espacios.

**Para instalar el complemento de Session Manager con el instalador empaquetado (macOS)**

1. Descargue el instalador empaquetado.

------
#### [ x86\$164 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
   ```

------
#### [ Mac con silicona de Apple ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac_arm64/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
   ```

------

1. Descomprima el paquete.

   ```
   unzip sessionmanager-bundle.zip
   ```

1. Ejecute el comando de instalación.

   ```
   sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
   ```
**nota**  
 El complemento requiere Python 3.10 o una versión posterior. El script de instalación se ejecuta en la versión de Python predeterminada del sistema. Si tiene instalada una versión alternativa de Python y desea utilizarla para instalar el complemento de Session Manager, ejecute el script de instalación de esa versión mediante una ruta absoluta al ejecutable de Python. A continuación se muestra un ejemplo.  

   ```
   sudo /usr/local/bin/python3.11 sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
   ```

   El instalador instala el complemento de Session Manager en `/usr/local/sessionmanagerplugin` y crea el symlink `session-manager-plugin` en el directorio `/usr/local/bin`. De este modo, no es necesario especificar el directorio de instalación en la variable `$PATH` del usuario.

   Para ver una explicación de las opciones `-i` y `-b`, use la opción `-h`.

   ```
   ./sessionmanager-bundle/install -h
   ```

1. Compruebe que la instalación se ha realizado correctamente. Para obtener más información, consulte [Verificación de la instalación del complemento de Session Manager](install-plugin-verify.md).

**nota**  
Para desinstalar el complemento, ejecute los dos siguientes comandos en el orden que aparecen.  

```
sudo rm -rf /usr/local/sessionmanagerplugin
```

```
sudo rm /usr/local/bin/session-manager-plugin
```

# Cómo instalar el complemento de Session Manager en Linux
<a name="install-plugin-linux-overview"></a>

En esta sección, se incluye información sobre la verificación de la firma del paquete del instalador del complemento de Session Manager y la instalación del complemento en las siguientes distribuciones de Linux:
+ Amazon Linux 2
+ AL2023
+ RHEL
+ Debian Server
+ Ubuntu Server

**Topics**
+ [Verificación de la firma del complemento de Session Manager](install-plugin-linux-verify-signature.md)
+ [Instalar el complemento Session Manager en Amazon Linux 2, Amazon Linux 2023 y las distribuciones de Red Hat Enterprise Linux](install-plugin-linux.md)
+ [Instale el complemento Session Manager en Debian Server y Ubuntu Server](install-plugin-debian-and-ubuntu.md)

# Verificación de la firma del complemento de Session Manager
<a name="install-plugin-linux-verify-signature"></a>

Los paquetes de instaladores RPM y Debian del complemento de Session Manager para instancias de Linux están firmados criptográficamente. Puede usar la clave pública para verificar que el binario y el paquete del complemento sean originales y que no se hayan modificado. Si hay algún tipo de daño o alteración en el archivo, se produce un error en la verificación. Puede verificar la firma del paquete del instalador mediante la herramienta GNU Privacy Guard (GPG). La siguiente información es para las versiones del complemento de Session Manager 1.2.707.0 o posteriores.

Complete los siguientes pasos para verificar la firma del paquete del instalador del complemento de Session Manager.

**Topics**
+ [Paso 1: descargue el paquete del instalador del complemento de Session Manager](#install-plugin-linux-verify-signature-installer-packages)
+ [Paso 2: descargue el archivo de firma asociado](#install-plugin-linux-verify-signature-packages)
+ [Paso 3: instale la herramienta GPG](#install-plugin-linux-verify-signature-packages-gpg)
+ [Paso 4: verifique el paquete del instalador del complemento de Session Manager en un servidor Linux](#install-plugin-linux-verify-signature-packages)

## Paso 1: descargue el paquete del instalador del complemento de Session Manager
<a name="install-plugin-linux-verify-signature-installer-packages"></a>

Descargue el paquete del instalador del complemento de Session Manager que quiere verificar.

**Amazon Linux 2, AL2023 y los paquetes RPM de RHEL**

------
#### [ x86\$164 ]

```
curl -o "session-manager-plugin.rpm" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm"
```

------
#### [ ARM64 ]

```
curl -o "session-manager-plugin.rpm" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm"
```

------

**Paquetes Deb de Debian Server y Ubuntu Server**

------
#### [ x86\$164 ]

```
curl -o "session-manager-plugin.deb" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb"
```

------
#### [ ARM64 ]

```
curl -o "session-manager-plugin.deb" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb"
```

------

## Paso 2: descargue el archivo de firma asociado
<a name="install-plugin-linux-verify-signature-packages"></a>

Después de descargar el paquete del instalador, descargue el archivo de firma asociado para la verificación del paquete. Para proporcionar un nivel adicional de protección contra la copia o el uso no autorizados del archivo binario del complemento de Session Manager incluido en el paquete, también ofrecemos firmas binarias, que puede usar para validar archivos binarios individuales. Puede optar por usar estas firmas binarias en función de sus necesidades de seguridad.

**Amazon Linux 2, AL2023 y paquetes de firma de RHEL**

------
#### [ x86\$164 ]

Paquete:

```
curl -o "session-manager-plugin.rpm.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm.sig"
```

Binario:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.sig"
```

------
#### [ ARM64 ]

Paquete:

```
curl -o "session-manager-plugin.rpm.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm.sig"
```

Binario:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.sig"
```

------

**Paquetes de firma Deb de Debian Server y Ubuntu Server**

------
#### [ x86\$164 ]

Paquete:

```
curl -o "session-manager-plugin.deb.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb.sig"
```

Binario:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.sig"
```

------
#### [ ARM64 ]

Paquete:

```
curl -o "session-manager-plugin.deb.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb.sig"
```

Binario:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.sig"
```

------

## Paso 3: instale la herramienta GPG
<a name="install-plugin-linux-verify-signature-packages-gpg"></a>

Para verificar la firma del complemento de Session Manager, debe tener la herramienta GNU Privacy Guard (GPG) instalada en el sistema. El proceso de verificación requiere el uso de la versión 2.1 o posterior de GPG. Para comprobar su versión de GPG, ejecute el siguiente comando:

```
gpg --version
```

Si su versión de GPG es anterior a la 2.1, actualícela antes de continuar con el proceso de verificación. En la mayoría de los sistemas, puede actualizar la herramienta GPG con su administrador de paquetes. Por ejemplo, en versiones compatibles de Amazon Linux y RHEL, puede usar los siguientes comandos:

```
sudo yum update
sudo yum install gnupg2
```

En sistemas Ubuntu Server y Debian Server compatibles, puede usar los siguientes comandos:

```
sudo apt-get update
sudo apt-get install gnupg2
```

Asegúrese de tener la versión de GPG requerida antes de continuar con el proceso de verificación.

## Paso 4: verifique el paquete del instalador del complemento de Session Manager en un servidor Linux
<a name="install-plugin-linux-verify-signature-packages"></a>

Use el siguiente procedimiento para verificar el paquete del instalador del complemento de Session Manager en un servidor Linux.

**nota**  
Amazon Linux 2 no es compatible con la versión 2.1 o superior de la herramienta GPG. Si el siguiente procedimiento no funciona en las instancias de Amazon Linux 2, verifique la firma en una plataforma diferente antes de instalarla en las instancias de Amazon Linux 2.

1. Copie la siguiente clave pública y guárdela en un archivo denominado “session-manager-plugin.gpg”.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   
   mFIEZ5ERQxMIKoZIzj0DAQcCAwQjuZy+IjFoYg57sLTGhF3aZLBaGpzB+gY6j7Ix
   P7NqbpXyjVj8a+dy79gSd64OEaMxUb7vw/jug+CfRXwVGRMNtIBBV1MgU1NNIFNl
   c3Npb24gTWFuYWdlciA8c2Vzc2lvbi1tYW5hZ2VyLXBsdWdpbi1zaWduZXJAYW1h
   em9uLmNvbT4gKEFXUyBTeXN0ZW1zIE1hbmFnZXIgU2Vzc2lvbiBNYW5hZ2VyIFBs
   dWdpbiBMaW51eCBTaWduZXIgS2V5KYkBAAQQEwgAqAUCZ5ERQ4EcQVdTIFNTTSBT
   ZXNzaW9uIE1hbmFnZXIgPHNlc3Npb24tbWFuYWdlci1wbHVnaW4tc2lnbmVyQGFt
   YXpvbi5jb20+IChBV1MgU3lzdGVtcyBNYW5hZ2VyIFNlc3Npb24gTWFuYWdlciBQ
   bHVnaW4gTGludXggU2lnbmVyIEtleSkWIQR5WWNxJM4JOtUB1HosTUr/b2dX7gIe
   AwIbAwIVCAAKCRAsTUr/b2dX7rO1AQCa1kig3lQ78W/QHGU76uHx3XAyv0tfpE9U
   oQBCIwFLSgEA3PDHt3lZ+s6m9JLGJsy+Cp5ZFzpiF6RgluR/2gA861M=
   =2DQm
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importe la clave pública en su llavero. El valor de clave devuelto debe ser `2C4D4AFF6F6757EE`.

   ```
   $ gpg --import session-manager-plugin.gpg
   gpg: key 2C4D4AFF6F6757EE: public key "AWS SSM Session Manager <session-manager-plugin-signer@amazon.com> (AWS Systems Manager Session Manager Plugin Linux Signer Key)" imported
   gpg: Total number processed: 1
   gpg:               imported: 1
   ```

1. Ejecute el siguiente comando para verificar la huella digital.

   ```
   gpg --fingerprint 2C4D4AFF6F6757EE
   ```

   La huella digital del resultado del comando debe coincidir con lo siguiente.

   ```
   7959 6371 24CE 093A D501 D47A 2C4D 4AFF 6F67 57EE
   ```

   ```
   pub   nistp256 2025-01-22 [SC]
         7959 6371 24CE 093A D501  D47A 2C4D 4AFF 6F67 57EE
   uid           [ unknown] AWS SSM Session Manager <session-manager-plugin-signer@amazon.com> (AWS Systems Manager Session Manager Plugin Linux Signer Key)
   ```

   Si la huella digital no coincide, no instale el complemento. Póngase en contacto con AWS Support.

1. Verifique la firma del paquete del instalador. Reemplace *signature-filename* y *downloaded-plugin-filename* por los valores que especificó cuando descargó el archivo de firma y session-manager-plugin, como se muestra en la tabla que figura más arriba en este tema.

   ```
   gpg --verify signature-filename downloaded-plugin-filename
   ```

   Por ejemplo, para la arquitectura x86\$164 en Amazon Linux 2, el comando es el siguiente:

   ```
   gpg --verify session-manager-plugin.rpm.sig session-manager-plugin.rpm
   ```

   Este comando devuelve un resultado similar al siguiente.

   ```
   gpg: Signature made Mon Feb 3 20:08:32 2025 UTC gpg: using ECDSA key 2C4D4AFF6F6757EE
   gpg: Good signature from "AWS Systems Manager Session Manager <session-manager-plugin-signer@amazon.com> (AWS Systems Manager Session Manager Plugin Linux Signer Key)" [unknown] 
   gpg: WARNING: This key is not certified with a trusted signature! 
   gpg: There is no indication that the signature belongs to the owner. 
   Primary key fingerprint: 7959 6371 24CE 093A D501 D47A 2C4D 4AFF 6F67 57EE
   ```

Si el resultado incluye la expresión `BAD signature`, compruebe si ha realizado el procedimiento correctamente. Si sigue recibiendo esta respuesta, comuníquese con AWS Support y no instale el paquete. El mensaje de advertencia sobre la confianza no significa que la firma no sea válida, sino que no se ha verificado la clave pública. Una clave solo es de confianza si la ha firmado usted o alguien en quien confíe. Si el resultado incluye la frase `Can't check signature: No public key`, verifique que haya descargado la versión 1.2.707.0 o posterior del complemento de Session Manager.

# Instalar el complemento Session Manager en Amazon Linux 2, Amazon Linux 2023 y las distribuciones de Red Hat Enterprise Linux
<a name="install-plugin-linux"></a>

Siga el siguiente procedimiento para instalar el complemento Session Manager en Amazon Linux 2, Amazon Linux 2023 (AL2023) y las distribuciones de RHEL.

1. Descargue el paquete RPM del complemento de Session Manager.

------
#### [ x86\$164 ]

   En Amazon Linux 2 y RHEL 7, ejecute el siguiente comando:

   ```
   sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
   ```

   En AL2023 y RHEL 8 y 9, ejecute el siguiente comando:

   ```
   sudo dnf install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
   ```

------
#### [ ARM64 ]

   En Amazon Linux 2 y RHEL 7, ejecute el siguiente comando:

   ```
   sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm
   ```

   En AL2023 y RHEL 8 y 9, ejecute el siguiente comando:

   ```
   sudo dnf install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm
   ```

------

1. Compruebe que la instalación se ha realizado correctamente. Para obtener más información, consulte [Verificación de la instalación del complemento de Session Manager](install-plugin-verify.md).

**nota**  
Si quiere desinstalar el complemento, ejecute `sudo yum erase session-manager-plugin -y`

# Instale el complemento Session Manager en Debian Server y Ubuntu Server
<a name="install-plugin-debian-and-ubuntu"></a>

1. Descargue el paquete deb del complemento de Session Manager.

------
#### [ x86\$164 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
   ```

------
#### [ ARM64 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb" -o "session-manager-plugin.deb"
   ```

------

1. Ejecute el comando de instalación.

   ```
   sudo dpkg -i session-manager-plugin.deb
   ```

1. Compruebe que la instalación se ha realizado correctamente. Para obtener más información, consulte [Verificación de la instalación del complemento de Session Manager](install-plugin-verify.md).

**nota**  
Si alguna vez desea desinstalar el complemento, ejecute `sudo dpkg -r session-manager-plugin`

# Verificación de la instalación del complemento de Session Manager
<a name="install-plugin-verify"></a>

Ejecute los siguientes comandos para verificar que el complemento de Session Manager se instaló correctamente.

```
session-manager-plugin
```

Si la instalación se realizó de forma correcta, se devuelve el siguiente mensaje.

```
The Session Manager plugin is installed successfully. Use the AWS CLI to start a session.
```

También puede probar la instalación ejecutando el comando [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) en la [AWS Command Line Interface](https://aws.amazon.com/cli/) (AWS CLI). En el siguiente comando, reemplace *instance-id* por su propia información.

```
aws ssm start-session --target instance-id
```

Este comando solo funcionará si ha instalado y configurado la AWS CLI, y si el administrador de Session Manager le ha concedido los permisos de IAM necesarios para acceder al nodo administrado de destino con Session Manager.

# El complemento Session Manager en GitHub
<a name="plugin-github"></a>

El código fuente del complemento Session Manager está disponible en [https://github.com/aws/session-manager-plugin](https://github.com/aws/session-manager-plugin) para que pueda adaptar el complemento a sus necesidades. Le recomendamos enviar [solicitudes de inserción](https://github.com/aws/session-manager-plugin/blob/mainline/CONTRIBUTING.md) para los cambios que le gustaría que incluyamos. No obstante, Amazon Web Services no admite la ejecución de copias modificadas de este software.

# (Opcional) Activación del registro del complemento de Session Manager
<a name="install-plugin-configure-logs"></a>

El complemento de Session Manager incluye una opción para permitir el registro de las sesiones que ejecute. De forma predeterminada, el registro está desactivado.

Si permite el registro, el complemento de Session Manager creará archivos de registros para la actividad de la aplicación (`session-manager-plugin.log`) y los errores (`errors.log`) en su equipo local.

**Topics**
+ [Activación del registro del complemento de Session Manager (Windows)](#configure-logs-windows)
+ [Habilitación del registro del complemento de Session Manager (Linux y macOS)](#configure-logs-linux)

## Activación del registro del complemento de Session Manager (Windows)
<a name="configure-logs-windows"></a>

1. Localice el archivo `seelog.xml.template` del complemento. 

   La ubicación predeterminada es `C:\Program Files\Amazon\SessionManagerPlugin\seelog.xml.template`.

1. Cambie el nombre del archivo a `seelog.xml`.

1. Abra el archivo y cambie `minlevel="off"` a `minlevel="info"` o `minlevel="debug"`.
**nota**  
De forma predeterminada, las entradas de registro sobre la apertura de un canal de datos y la reconexión de sesiones se registran en el nivel **DE INFORMACIÓN**. Las entradas de flujos de datos (paquetes y confirmación) se registran en el nivel **DE DEPURACIÓN**.

1. Cambie otras opciones de configuración que desea modificar. Entre las opciones que se pueden cambiar se encuentran las siguientes: 
   + **Nivel de depuración**: puede cambiar el nivel de depuración de `formatid="fmtinfo"` a `formatid="fmtdebug"`.
   + **Opciones de archivos de registro**: puede realizar cambios en las opciones de archivos de registro, como la ubicación en la que se almacenan los registros, con la excepción de los nombres de los archivos de registro. 
**importante**  
No cambie los nombres de los archivos, si no, el registro no funcionará correctamente.

     ```
     <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\session-manager-plugin.log" maxsize="30000000" maxrolls="5"/>
     <filter levels="error,critical" formatid="fmterror">
     <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\errors.log" maxsize="10000000" maxrolls="5"/>
     ```

1. Guarde el archivo.

## Habilitación del registro del complemento de Session Manager (Linux y macOS)
<a name="configure-logs-linux"></a>

1. Localice el archivo `seelog.xml.template` del complemento. 

   La ubicación predeterminada es `/usr/local/sessionmanagerplugin/seelog.xml.template`.

1. Cambie el nombre del archivo a `seelog.xml`.

1. Abra el archivo y cambie `minlevel="off"` a `minlevel="info"` o `minlevel="debug"`.
**nota**  
De forma predeterminada, las entradas de registro sobre la apertura de canales de datos y la reconexión de sesiones se registran en el nivel **DE INFORMACIÓN**. Las entradas de flujos de datos (paquetes y confirmación) se registran en el nivel **DE DEPURACIÓN**.

1. Cambie otras opciones de configuración que desea modificar. Entre las opciones que se pueden cambiar se encuentran las siguientes: 
   + **Nivel de depuración**: puede cambiar el nivel de depuración de `formatid="fmtinfo"` a `outputs formatid="fmtdebug"`.
   + **Opciones de archivos de registro**: puede realizar cambios en las opciones de archivos de registro, como la ubicación en la que se almacenan los registros, con la excepción de los nombres de los archivos de registro. 
**importante**  
No cambie los nombres de los archivos, si no, el registro no funcionará correctamente.

     ```
     <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/session-manager-plugin.log" maxsize="30000000" maxrolls="5"/>
     <filter levels="error,critical" formatid="fmterror">
     <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/errors.log" maxsize="10000000" maxrolls="5"/>
     ```
**importante**  
Si utiliza el directorio predeterminado especificado para almacenar registros, debe ejecutar comandos de sesión usando **sudo** o proporcionar el directorio donde el complemento instaló todos los permisos de lectura y escritura. Para eludir estas restricciones, cambie la ubicación donde se almacenan los registros.

1. Guarde el archivo.

# Inicio de una sesión
<a name="session-manager-working-with-sessions-start"></a>

Puede utilizar la consola de AWS Systems Manager, la consola de Amazon Elastic Compute Cloud (Amazon EC2), la AWS Command Line Interface (AWS CLI) o SSH para iniciar una sesión.

**Topics**
+ [Inicio de una sesión (consola de Systems Manager)](#start-sys-console)
+ [Inicio de una sesión (consola de Amazon EC2)](#start-ec2-console)
+ [Inicio de una sesión (AWS CLI)](#sessions-start-cli)
+ [Inicio de una sesión (SSH)](#sessions-start-ssh)
+ [Inicio de una sesión (enrutamiento de puertos)](#sessions-start-port-forwarding)
+ [Inicio de una sesión (reenvío de puertos a host remoto)](#sessions-remote-port-forwarding)
+ [Inicio de una sesión (comandos interactivos y no interactivos)](#sessions-start-interactive-commands)

## Inicio de una sesión (consola de Systems Manager)
<a name="start-sys-console"></a>

Puede utilizar la consola de AWS Systems Manager para iniciar una sesión con un nodo administrado en la cuenta.

**nota**  
Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte [Configuración de Session Manager](session-manager-getting-started.md).

**Para iniciar una sesión (consola de Systems Manager)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Haga clic en **Start session (Iniciar sesión)**.

1. (Opcional) Ingrese una descripción de la sesión en el campo **Motivo de la sesión**.

1. En **Instancias de destino**, elija el botón de opción situado a la izquierda del nodo administrado al que desea conectarse.

   Si el nodo que desea no está en la lista o si selecciona un nodo y recibe un error de configuración, consulte [Nodo administrado no disponible o no configurado para Session Manager](session-manager-troubleshooting.md#session-manager-troubleshooting-instances) para seguir los pasos de solución de problemas.

1. Seleccione **Iniciar sesión** para iniciar la sesión de forma inmediata.

   -o bien-

   Elija **Siguiente** para ver las opciones de sesión.

1. (Opcional) En **Documento de sesión**, seleccione el documento que desea ejecutar cuando se inicie la sesión. Si el documento admite parámetros de tiempo de ejecución, puede introducir uno o más valores separados por comas en cada campo de parámetro.

1. Elija **Siguiente**.

1. Haga clic en **Start session (Iniciar sesión)**.

Una vez establecida la conexión, puede ejecutar comandos bash (Linux y macOS) o comandos PowerShell (Windows), tal como lo haría con cualquier otro tipo de conexión.

**importante**  
Si desea permitir a los usuarios especificar un documento al iniciar las sesiones en la consola de Session Manager, tenga en cuenta lo siguiente:  
Debe conceder a los usuarios los permisos `ssm:GetDocument` y `ssm:ListDocuments` en su política de IAM. Para obtener más información, consulte [Conceder acceso a documentos de sesión personalizados en la consola](getting-started-restrict-access-examples.md#grant-access-documents-console-example).
La consola solo admite los documentos de Session que tengan el `sessionType` definido como `Standard_Stream`. Para obtener más información, consulte [Esquema del documento de Session](session-manager-schema.md).

## Inicio de una sesión (consola de Amazon EC2)
<a name="start-ec2-console"></a>

Puede utilizar la consola de Amazon Elastic Compute Cloud (Amazon EC2) para iniciar una sesión con una instancia de su cuenta.

**nota**  
Si recibe un mensaje de error que indica que no está autorizado para llevar a cabo una o más acciones de Systems Manager (`ssm:command-name`), debe contactar con su administrador para recibir ayuda. El administrador es la persona que le proporcionó las credenciales de inicio de sesión. Pídale a esa persona que actualice las políticas de modo que le permitan iniciar sesiones desde la consola de Amazon EC2. Si es administrador, consulte [Ejemplos de políticas de IAM para Session Manager](getting-started-restrict-access-quickstart.md) para obtener más información.

**Para iniciar una sesión (consola de Amazon EC2)**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances** (Instancia[s]).

1. Seleccione la instancia y elija **Connect (Conectar)**.

1. Para **Connection Method (Método de conexión)**, seleccione **Session Manager**.

1. Elija **Conectar**.

Una vez establecida la conexión, puede ejecutar comandos bash (Linux y macOS) o comandos PowerShell (Windows), tal como lo haría con cualquier otro tipo de conexión.

## Inicio de una sesión (AWS CLI)
<a name="sessions-start-cli"></a>

Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

Para obtener más información, consulte [Instalación o actualización de la última versión de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte [Configuración de Session Manager](session-manager-getting-started.md).

Para utilizar la AWS CLI para ejecutar comandos de sesión, el complemento de Session Manager también debe estar instalado en su equipo local. Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).

Para iniciar una sesión mediante la AWS CLI, ejecute el siguiente comando y reemplace *instance-id* por su propia información.

```
aws ssm start-session \
    --target instance-id
```

Para obtener más información sobre otras opciones que puede utilizar con el comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

## Inicio de una sesión (SSH)
<a name="sessions-start-ssh"></a>

Para iniciar una sesión de SSH de Session Manager, la versión 2.3.672.0 o una versión posterior de SSM Agent debe estar instalada en el nodo administrado.

**Requisitos de conexión de SSH**  
Tome nota de los siguientes requisitos y limitaciones de las conexiones de sesión mediante SSH con Session Manager:
+ El nodo administrado de destino debe estar configurado para admitir conexiones SSH. Para obtener más información, consulte [(Opcional) Habilitación y control de permisos para conexiones de SSH mediante Session Manager](session-manager-getting-started-enable-ssh-connections.md).
+ Debe conectarse utilizando la cuenta del nodo administrado asociada al certificado Privacy Enhanced Mail (PEM), no la cuenta `ssm-user` que se utiliza para otros tipos de conexiones de sesión. Por ejemplo, en las instancias de EC2 de Linux y macOS, el usuario predeterminado es `ec2-user`. Para obtener información sobre cómo identificar al usuario predeterminado de cada tipo de instancia, consulte [Obtención de información sobre una instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connection-prereqs.html#connection-prereqs-get-info-about-instance) en la *Guía del usuario de Amazon EC2*.
+ El registro no está disponible para las sesiones de Session Manager que se conectan a través del reenvío de puertos o de SSH. Esto se debe a que SSH cifra todos los datos de la sesión dentro de la conexión TLS segura establecida entre los puntos de conexión AWS CLI y Session Manager, y Session Manager solo funciona como túnel para las conexiones de SSH.

**nota**  
Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte [Configuración de Session Manager](session-manager-getting-started.md).

Para iniciar una sesión con SSH, ejecute el siguiente comando. Reemplace cada *example resource placeholder* por su propia información.

```
ssh -i /path/my-key-pair.pem username@instance-id
```

**sugerencia**  
Cuando inicia una sesión con SSH, puede copiar archivos locales al nodo administrado de destino con el siguiente formato de comando.  

```
scp -i /path/my-key-pair.pem /path/ExampleFile.txt username@instance-id:~
```

Para obtener más información sobre otras opciones que puede utilizar con el comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

## Inicio de una sesión (enrutamiento de puertos)
<a name="sessions-start-port-forwarding"></a>

Para iniciar una sesión de reenvío de puertos de Session Manager, el nodo administrado debe tener instalada la versión 2.3.672.0 de SSM Agent o una posterior.

**nota**  
Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte [Configuración de Session Manager](session-manager-getting-started.md).  
Para utilizar la AWS CLI para ejecutar comandos de sesión, debe instalar el complemento de Session Manager en su equipo local. Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).  
Según el sistema operativo y la herramienta de línea de comandos, la colocación de comillas puede variar, y es posible que se requieran caracteres de escape.

Para iniciar una sesión de reenvío de puertos, ejecute el siguiente comando desde la CLI. Reemplace cada *example resource placeholder* por su propia información.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name AWS-StartPortForwardingSession \
    --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name AWS-StartPortForwardingSession ^
    --parameters portNumber="3389",localPortNumber="56789"
```

------

El valor `portNumber` representa el puerto remoto del nodo administrado al que desea que se redirija el tráfico de la sesión. Por ejemplo, puede especificar el puerto `3389` para conectarse a un nodo de Windows mediante el protocolo de escritorio remoto (RDP). Si no especifica el parámetro `portNumber`, Session Manager utiliza `80` como el valor predeterminado. 

`localPortNumber` es el puerto del equipo local donde comienza el tráfico, por ejemplo `56789`. Este valor es lo que se ingresa cuando se conecta a un nodo administrado mediante un cliente. Por ejemplo, **localhost:56789**.

Para obtener más información sobre otras opciones que puede utilizar con el comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

Para obtener más información acerca de las sesiones de reenvío de puertos, consulte [Port Forwarding Using AWS Systems ManagerSession Manager](https://aws.amazon.com/blogs/aws/new-port-forwarding-using-aws-system-manager-sessions-manager/) (Reenvío de puertos mediante Session Manager de Systems Manager) en el *Blog de noticias de AWS*.

## Inicio de una sesión (reenvío de puertos a host remoto)
<a name="sessions-remote-port-forwarding"></a>

Para iniciar una sesión de reenvío de puertos de Session Manager a un host remoto, el nodo administrado debe tener instalada la versión 3.1.1374.0 o posterior de SSM Agent. No se requiere que Systems Manager administre el host remoto.

**nota**  
Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte [Configuración de Session Manager](session-manager-getting-started.md).  
Para utilizar la AWS CLI para ejecutar comandos de sesión, debe instalar el complemento de Session Manager en su equipo local. Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).  
Según el sistema operativo y la herramienta de línea de comandos, la colocación de comillas puede variar, y es posible que se requieran caracteres de escape.

Para iniciar una sesión de reenvío de puertos, ejecute el siguiente comando desde la AWS CLI. Reemplace cada *example resource placeholder* con su propia información.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name AWS-StartPortForwardingSessionToRemoteHost \
    --parameters '{"host":["mydb.example.us-east-2.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["3306"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name AWS-StartPortForwardingSessionToRemoteHost ^
    --parameters host="mydb.example.us-east-2.rds.amazonaws.com",portNumber="3306",localPortNumber="3306"
```

------

El valor `host` representa el nombre de host o la dirección IP del host remoto al que desea conectarse. Se siguen aplicando los requisitos generales de conectividad y resolución de nombres entre el nodo administrado y el host remoto.

El valor `portNumber` representa el puerto remoto del nodo administrado al que desea que se redirija el tráfico de la sesión. Por ejemplo, puede especificar el puerto `3389` para conectarse a un nodo de Windows mediante el protocolo de escritorio remoto (RDP). Si no especifica el parámetro `portNumber`, Session Manager utiliza `80` como el valor predeterminado. 

`localPortNumber` es el puerto del equipo local donde comienza el tráfico, por ejemplo `56789`. Este valor es lo que se ingresa cuando se conecta a un nodo administrado mediante un cliente. Por ejemplo, **localhost:56789**.

Para obtener más información sobre otras opciones que puede utilizar con el comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

### Iniciar una sesión con una tarea de Amazon ECS
<a name="sessions-remote-port-forwarding-ecs-task"></a>

Session Manager permite iniciar una sesión de reenvío de puertos con una tarea dentro de un clúster de Amazon Elastic Container Service (Amazon ECS). Para ello, habilite ECS Exec. Para obtener más información sobre Amazon ECS, consulte [Supervisión de los contenedores de Amazon ECS con ECS Exec](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

También debe actualizar el rol de tarea en IAM para incluir los siguientes permisos:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
       "Effect": "Allow",
       "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
       ],
      "Resource": "*"
      }
   ]
}
```

------

Para iniciar una sesión de reenvío de puertos con una tarea de Amazon ECS, ejecute el siguiente comando desde la AWS CLI. Reemplace cada *example resource placeholder* con su propia información.

**nota**  
Elimine los símbolos < y > del parámetro `target`. Estos símbolos se proporcionan únicamente para que el lector los aclare.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> \
    --document-name AWS-StartPortForwardingSessionToRemoteHost \
    --parameters '{"host":["URL"],"portNumber":["port_number"], "localPortNumber":["port_number"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> ^
    --document-name AWS-StartPortForwardingSessionToRemoteHost ^
    --parameters host="URL",portNumber="port_number",localPortNumber="port_number"
```

------

## Inicio de una sesión (comandos interactivos y no interactivos)
<a name="sessions-start-interactive-commands"></a>

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte [Configuración de Session Manager](session-manager-getting-started.md).

Para utilizar la AWS CLI para ejecutar comandos de sesión, el complemento de Session Manager también debe estar instalado en su equipo local. Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).

Para iniciar una sesión de comandos interactivos, ejecute el siguiente comando. Reemplace cada *example resource placeholder* por su propia información.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name CustomCommandSessionDocument \
    --parameters '{"logpath":["/var/log/amazon/ssm/amazon-ssm-agent.log"]}'
```

------
#### [ Windows ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name CustomCommandSessionDocument ^
    --parameters logpath="/var/log/amazon/ssm/amazon-ssm-agent.log"
```

------

Para obtener más información sobre otras opciones que puede utilizar con el comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

 **Más información**   
+  [Uso del reenvío de puertos en AWS Systems Manager Session Manager para conectarse a hosts remotos](https://aws.amazon.com/blogs/mt/use-port-forwarding-in-aws-systems-manager-session-manager-to-connect-to-remote-hosts/) 
+  [Reenvío de puertos de instancias Amazon EC2 con AWS Systems Manager](https://aws.amazon.com/blogs/mt/amazon-ec2-instance-port-forwarding-with-aws-systems-manager/) 
+  [Administre los recursos de AWS administrados de Microsoft AD con el reenvío de puertos Session Manager](https://aws.amazon.com/blogs/mt/manage-aws-managed-microsoft-ad-resources-with-session-manager-port-forwarding/) 
+ [Port Forwarding Using AWS Systems ManagerSession Manager](https://aws.amazon.com/blogs/aws/new-port-forwarding-using-aws-system-manager-sessions-manager/) en el *Blog de noticias de AWS*.

# Finalización de una sesión
<a name="session-manager-working-with-sessions-end"></a>

Puede utilizar la consola de AWS Systems Manager o la AWS Command Line Interface (AWS CLI) para terminar una sesión que haya iniciado en la cuenta. Si toca en el botón **Terminar** de una sesión en la consola o llama a la acción de la API [TerminateSession](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_TerminateSession.html) por medio de la AWS CLI, Session Manager finaliza permanentemente la sesión y cierra la conexión de datos entre el cliente Session Manager y SSM Agent en el nodo administrado. No puede reanudar una sesión terminada.

Si no hay actividad del usuario en una sesión abierta durante 20 minutos, el estado de inactividad acciona un tiempo de espera. Session Manager no llama a `TerminateSession`,pero sí cierra el canal subyacente. No puede reanudar una sesión cerrada debido a un tiempo de espera de inactividad.

Recomendamos siempre cerrar una sesión de forma explícita con el comando `terminate-session`, cuando se utilice el AWS CLI, o el botón **Finalizar** cuando se utilice la consola. (Los botones **Finalizar** se encuentran tanto en la ventana de la sesión como en la página principal de la consola Session Manager). Si solo cierra un navegador o una ventana de comandos, la sesión permanecerá como **Activa** en la consola durante 30 días. Cuando no cierra una sesión de forma explícita o cuando la sesión termina por inactividad, todos los procesos que estaban en ejecución en el nodo administrado en ese momento seguirán ejecutándose.

**Topics**
+ [Finalización de una sesión (consola)](#stop-sys-console)
+ [Finalización de una sesión (AWS CLI)](#stop-cli)

## Finalización de una sesión (consola)
<a name="stop-sys-console"></a>

Puede utilizar la consola de AWS Systems Manager para terminar una sesión en la cuenta.

**Para terminar una sesión (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. En **Sessions (Sesiones)**, elija la opción que aparece a la izquierda de la sesión que desea terminar.

1. Elija **Finalizar**.

## Finalización de una sesión (AWS CLI)
<a name="stop-cli"></a>

Para terminar una sesión con la AWS CLI, ejecute el siguiente comando. Reemplace *session-id* por su propia información.

```
aws ssm terminate-session \
    --session-id session-id
```

Para obtener más información sobre el comando **terminate-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/terminate-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/terminate-session.html) en la sección AWS Systems Manager de la Referencia de comando de la AWS CLI.

# Visualización del historial de sesiones
<a name="session-manager-working-with-view-history"></a>

Puede usar la consola de AWS Systems Manager o la AWS Command Line Interface (AWS CLI) para ver información acerca de las sesiones de su cuenta. En la consola, puede ver los detalles de la sesión, como los siguientes:
+ El ID de la sesión
+ Qué usuario se ha conectado a un nodo administrado a través de una sesión
+ El ID del nodo administrado
+ Cuándo la sesión comenzó y terminó
+ El estado de la sesión
+ la ubicación especificada para almacenar los registros de la sesión (si está habilitado)

Al usar la AWS CLI, puede ver una lista de sesiones de su cuenta, pero no los detalles adicionales que están disponibles en la consola.

Para obtener más información acerca del historial de sesiones de registro, consulte [Habilitar y deshabilitar el registro de la sesión](session-manager-logging.md).

**Topics**
+ [Visualización del historial de sesiones (consola)](#view-console)
+ [Visualización del historial de sesiones (AWS CLI)](#view-history-cli)

## Visualización del historial de sesiones (consola)
<a name="view-console"></a>

Puede usar la consola de AWS Systems Manager para ver los detalles de las sesiones de su cuenta.

**Para ver el historial de sesiones (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Session history (Historial de sesiones)**.

   -o bien-

   Si la página principal de Session Manager se abre primero, elija **Configurar preferencias** y, a continuación, elija la pestaña **Historial de sesiones**.

## Visualización del historial de sesiones (AWS CLI)
<a name="view-history-cli"></a>

Para ver una lista de las sesiones de su cuenta con la AWS CLI, ejecute el siguiente comando.

```
aws ssm describe-sessions \
    --state History
```

**nota**  
Este comando solo devuelve los resultados de las conexiones a destinos iniciados mediante Session Manager. No muestra las conexiones realizadas a través de otros medios, como el Protocolo de escritorio remoto (RDP) o el Protocolo de shell seguro (SSH).

Para obtener más información sobre otras opciones que puede utilizar con el comando **describe-sessions**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-sessions.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-sessions.html) en la sección sobre AWS Systems Manager de la Referencia de comandos de la AWS CLI.

# Registro de la actividad de la sesión
<a name="session-manager-auditing"></a>

Además de proporcionar información acerca de las sesiones actuales y completadas en la consola de Systems Manager, el Session Manager proporciona la posibilidad de registrar la actividad de las sesiones en la Cuenta de AWS con AWS CloudTrail.

CloudTrail registra las llamadas a la API de la sesión realizadas a través de la consola de Systems Manager, la AWS Command Line Interface (AWS CLI) y el SDK de Systems Manager. Puede ver la información en la consola de CloudTrail o almacenarla en un bucket de Amazon Simple Storage Service (Amazon S3) especificado. Se utiliza un bucket de Amazon S3 para todos los registros de CloudTrail de su cuenta. Para obtener más información, consulte [Registro de llamadas a la API de AWS Systems Manager con AWS CloudTrail](monitoring-cloudtrail-logs.md).

**nota**  
Para llevar a cabo un análisis periódico e histórico de sus archivos de registro, considere la posibilidad de consultar los registros de CloudTrail mediante [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) o una tabla que usted mantenga. Para obtener más información, consulte [Consulta de registros de AWS CloudTrail](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html) en la *Guía del usuario de AWS CloudTrail*. 

## Supervisión de la actividad de la sesión con Amazon EventBridge (consola)
<a name="session-manager-auditing-eventbridge-events"></a>

Con EventBridge, puede configurar reglas para detectar cuándo se producen cambios en los recursos de AWS. Puede crear una regla para detectar cuándo un usuario de su organización inicia o termina una sesión y, a continuación, por ejemplo, recibir una notificación a través de Amazon SNS sobre el evento. 

La compatibilidad de EventBridge con Session Manager se basa en los registros de las operaciones de la API que CloudTrail registró. (Puede usar la integración de CloudTrail a EventBridge para responder a la mayoría de los eventos de AWS Systems Manager). Las acciones que se llevan a cabo dentro de una sesión, como un comando `exit`, que no hacen una llamada a la API no son detectadas por EventBridge.

En los siguientes pasos se describe cómo iniciar las notificaciones a través de Amazon Simple Notification Service (Amazon SNS) cuando se produce un evento de la API de Session Manager, como **StartSession**.

**Para supervisar la actividad de la sesión con Amazon EventBridge (consola)**

1. Cree un tema de Amazon SNS que se utilice para enviar notificaciones cuando se produzca un evento de Session Manager del que desea realizar un seguimiento.

   Para obtener más información, consulte [Creación de un tema](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

1. Cree una regla de EventBridge para invocar el destino de Amazon SNS para el tipo de evento de Session Manager del que desea realizar un seguimiento.

   Para obtener más información sobre cómo crear la regla, consulte [Creating Amazon EventBridge rules that react to events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html) en la *Guía del usuario de Amazon EventBridge*.

   Cuando siga los pasos para crear la regla, realice las siguientes selecciones:
   + En **AWS service** (Servicio de ), elija **Systems Manager**.
   + En **Tipo de evento**, elija **Llamada a la API de AWS con CloudTrail**.
   + Elija **Specific operation(s) (Operaciones específicas)** y, a continuación, introduzca los comandos de Session Manager (uno a uno) para recibir notificaciones. También puede elegir **StartSession**, **ResumeSession** y **TerminateSession**. (EventBridge no admite los comandos `Get*`, ` List*` ni `Describe*`).
   + Para **Seleccione un destino**, elija **Tema de SNS**. En **Topic** (Tema), seleccione el nombre del tema de Amazon SNS que creó en el paso 1.

Para obtener más información, consulte la *[Guía del usuario de Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/)* y la *[Guía de introducción a Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/gsg/)*.

# Habilitar y deshabilitar el registro de la sesión
<a name="session-manager-logging"></a>

El registro de sesiones registra la información sobre las sesiones actuales y finalizadas en la consola de Systems Manager. También se pueden registrar los detalles sobre los comandos que se ejecutan durante las sesiones en su Cuenta de AWS. Registrarse en la sesión le permite hacer lo siguiente:
+ Crear y almacenar los registros de sesión para fines de archivado.
+ Generar un informe que muestre los detalles de cada conexión realizada en los nodos administrados mediante Session Manager en los últimos 30 días.
+ Genere notificaciones del registro de la sesión en su Cuenta de AWS, como las notificaciones de Amazon Simple Notification Service (Amazon SNS).
+ Iniciar otra acción automáticamente en un recurso de AWS como resultado de las acciones realizadas durante una sesión, como la ejecución de una función de AWS Lambda, el inicio de una canalización de AWS CodePipeline o la ejecución de un documento de AWS Systems Manager Run Command.

**importante**  
Tenga en cuenta los siguientes requisitos y limitaciones de Session Manager:  
Session Manager registra los comandos que usted ingresa y sus resultados durante una sesión, en función de sus preferencias de sesión. Para evitar que la información confidencial, como las contraseñas, se vean en los registros de sesión, recomendamos utilizar los siguientes comandos al ingresar información confidencial durante una sesión.  

  ```
  stty -echo; read passwd; stty echo;
  ```

  ```
  $Passwd = Read-Host -AsSecureString
  ```
Si utiliza Windows Server 2012 o versiones anteriores, los datos de sus registros podrían no tener el formato óptimo. Recomendamos que utilice Windows Server 2012 R2 y posterior para contar con formatos de registro óptimo.
Si utiliza nodos administrados de Linux o macOS, asegúrese de que la utilidad de pantalla esté instalada. Si no lo está, los datos de registro podrían truncarse. En Amazon Linux 2, AL2023 y Ubuntu Server, la utilidad de pantalla se instala de forma predeterminada. Para instalar la pantalla de forma manual, en función de la versión de Linux que utilice, ejecute `sudo yum install screen` o `sudo apt-get install screen`.
El registro no está disponible para las sesiones de Session Manager que se conectan a través del reenvío de puertos o de SSH. Esto se debe a que SSH cifra todos los datos de la sesión dentro de la conexión TLS segura establecida entre los puntos de conexión AWS CLI y Session Manager, y Session Manager solo funciona como túnel para las conexiones de SSH.

Para obtener más información acerca de los permisos necesarios para utilizar Amazon S3 o los Registros de Amazon CloudWatch para registrar los datos de la sesión, consulte [Creación de un rol de IAM con permisos para Session Manager, Amazon S3 y los Registros de CloudWatch (consola)](getting-started-create-iam-instance-profile.md#create-iam-instance-profile-ssn-logging).

Consulte los siguientes temas para obtener más información acerca de las opciones de registro de Session Manager.

**Topics**
+ [Streaming de los datos de la sesión con los Registros de Amazon CloudWatch (consola)](session-manager-logging-cwl-streaming.md)
+ [Registro de los datos de la sesión con Amazon S3 (consola)](session-manager-logging-s3.md)
+ [Registro de los datos de la sesión con los Registros de Amazon CloudWatch (consola)](session-manager-logging-cloudwatch-logs.md)
+ [Configuración del registro de sesiones en disco](session-manager-logging-disk.md)
+ [Ajuste del tiempo de almacenamiento del archivo de registro temporal de Session Manager en el disco](session-manager-logging-disk-retention.md)
+ [Inhabilitación del registro de Session Manager en Registros de CloudWatch y Amazon S3](session-manager-enable-and-disable-logging.md)

# Streaming de los datos de la sesión con los Registros de Amazon CloudWatch (consola)
<a name="session-manager-logging-cwl-streaming"></a>

Puede enviar un flujo continuo de registros de datos de sesión a los Registros de Amazon CloudWatch. Los detalles esenciales, como los comandos que un usuario ha ejecutado en una sesión, el ID del usuario que ejecutó los comandos y las marcas de tiempo para el momento en que los datos de sesión se transmiten a los Registros de CloudWatch, se incluyen cuando se efectúa el streaming de los datos de la sesión. Con el streaming de los datos de la sesión, los registros tienen formato JSON para ayudarlo a integrarse a sus soluciones de registro existentes. El streaming de los datos de la sesión no es compatible con los comandos interactivos.

**nota**  
Para transmitir los datos de la sesión desde los nodos administrados de Windows Server, debe tener instalado PowerShell 5.1 o una versión posterior. De forma predeterminada, Windows Server 2016 y las versiones posteriores tienen instalada la versión requerida de PowerShell. Sin embargo, Windows Server 2012 y 2012 R2 no tienen instalada de forma predeterminada la versión requerida de PowerShell. Si aún no ha actualizado PowerShell en los nodos administrados de Windows Server 2012 o 2012 R2, puede hacerlo mediante Run Command. Para obtener información sobre cómo actualizar PowerShell con Run Command, consulte [Actualización de PowerShell con Run Command](run-command-tutorial-update-software.md#rc-console-pwshexample).

**importante**  
Si tiene la configuración de política **PowerShell Transcription** (Transcripción de PowerShell) establecida en los nodos administrados de Windows Server, no podrá transmitir los datos de la sesión.

**Para transmitir los datos de la sesión con los Registros de Amazon CloudWatch (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. En **CloudWatch logging** (Registro de CloudWatch), seleccione la casilla de verificación ubicada junto a **Enable** (Habilitar).

1. Elija la opción de **Stream session logs** (Transmitir registros de sesiones).

1. (Recomendado) Seleccione la casilla de verificación situada junto a **Allow only encrypted CloudWatch log groups** (Permitir solo los grupos de registros cifrados de CloudWatch). Con esta opción activada, los datos de registro se cifran con la clave de cifrado del lado del servidor especificado para el grupo de registros. Si no desea cifrar los datos de registro que se envían a los Registros de CloudWatch, desactive la casilla de verificación. También debe desactivar la casilla de verificación si no se permite el cifrado en el grupo de registros.

1. En **CloudWatch logs** (Registros de CloudWatch), para especificar el grupo de registros de los Registros de CloudWatch existente en su Cuenta de AWS en el que se cargarán los registros de la sesión, seleccione una de las siguientes opciones:
   + Ingrese el nombre de un grupo de registros en el cuadro de texto que ya se haya creado en su cuenta para almacenar los datos de registro de las sesiones.
   + **Browse log groups** (Buscar grupos de registros): seleccione un grupo de registros que ya se haya creado en su cuenta para almacenar los datos de registro de las sesiones.

1. Seleccione **Save**.

# Registro de los datos de la sesión con Amazon S3 (consola)
<a name="session-manager-logging-s3"></a>

Puede elegir almacenar los datos de registro de las sesiones en un bucket de Amazon Simple Storage Service (Amazon S3) especificado con fines de depuración y solución de problemas. La opción predeterminada es para los registros que se van a enviar a un bucket cifrado de Amazon S3. El cifrado se realiza con la clave especificada para el bucket, ya sea una AWS KMS key o una clave de cifrado del lado del servidor (SSE) de Amazon S3 (AES-256). 

**importante**  
Si utiliza buckets de estilo de alojamiento virtual con Capa de conexión segura (SSL), el certificado comodín de SSL solo se asociará con los buckets que no contengan puntos. Para solucionar esto, use HTTP o escriba su propia lógica de verificación de certificado. Cuando use buckets de tipo de alojamiento virtual, le recomendamos no utilizar puntos (“.”) en los nombres de los buckets.

**Cifrado de buckets de Amazon S3**  
Para poder enviar los registros a su bucket de Amazon S3 con cifrado, el cifrado debe estar permitido en el bucket. Para obtener más información acerca del cifrado de buckets de Amazon S3, consulte [Cifrado predeterminado de Amazon S3 para los buckets de S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html).

**Clave administrada por el cliente**  
Si utiliza una clave de KMS que administra usted mismo para cifrar el bucket, el perfil de instancias de IAM adjunto a sus instancias debe tener permisos explícitos para leer la clave. Si utiliza una Clave administrada de AWS, la instancia no requiere este permiso explícito. Para obtener más información acerca de cómo proporcionar al perfil de instancias acceso para utilizar la clave, consulte [Permiso del uso de la clave a los usuarios](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) en la *Guía para desarrolladores de AWS Key Management Service*.

Siga estos pasos para configurar Session Manager para que almacene los registros de las sesiones en un bucket de Amazon S3.

**nota**  
También puede utilizar la AWS CLI para especificar o cambiar el bucket de Amazon S3 al que se enviarán los datos de la sesión. Para obtener más información, consulte [Actualizar preferencias de Session Manager (línea de comandos)](getting-started-configure-preferences-cli.md).

**Cómo registrar los datos de la sesión con Amazon S3 (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. Marque la casilla de verificación situada junto a **Enable** (Habilitar) en **S3 logging** (Registro de S3).

1. (Recomendado) Seleccione la casilla de verificación situada junto a **Allow only encrypted S3 buckets** (Permitir solo buckets cifrados de S3). Con esta opción activada, los datos de registro se cifran con la clave de cifrado del lado del servidor especificada para el bucket. Si no desea cifrar los datos de registro que se envían a Amazon S3, desactive la casilla de verificación. También debe desactivar la casilla de verificación si no se permite el cifrado en el bucket de S3.

1. En **S3 bucket name (Nombre del bucket de S3)**, realice alguna de las siguientes operaciones:
**nota**  
Cuando use buckets de tipo de alojamiento virtual, le recomendamos no utilizar puntos (“.”) en los nombres de los buckets. Para obtener más información acerca de las convenciones de nomenclatura de buckets de Amazon S3, consulte [Restricciones y limitaciones de los buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) en la *Guía del usuario de Amazon Simple Storage Service*.
   + **Choose a bucket name from the list** (Elegir un nombre de bucket de la lista): seleccione un bucket de Amazon S3 que ya se haya creado en su cuenta para almacenar los datos de registro de las sesiones.
   + **Enter a bucket name in the text box** (Ingresar el nombre de un bucket en el cuadro de texto): escriba el nombre de un bucket de Amazon S3 que ya se haya creado en su cuenta para almacenar los datos de registro de las sesiones.

1. (Opcional) En **S3 key prefix (Prefijo de clave de S3)**, escriba el nombre de una carpeta nueva o existente para almacenar registros en el bucket seleccionado.

1. Seleccione **Save**.

Para obtener más información acerca de cómo se trabaja con Amazon S3 y buckets de Amazon S3, consulte la *[Guía del usuario de Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)* y la *[Guía del usuario de Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)*.

# Registro de los datos de la sesión con los Registros de Amazon CloudWatch (consola)
<a name="session-manager-logging-cloudwatch-logs"></a>

Con Registros de Amazon CloudWatch, puede acceder a los archivos de registros de diversos Servicios de AWS, supervisarlos y almacenarlos. Puede enviar los datos de registro de las sesiones a un grupo de registros de los Registros de CloudWatch con fines de depuración y solución de problemas. La opción predeterminada es enviar los datos de registro con cifrado mediante su clave de KMS, pero puede enviar los datos a su grupo de registros con o sin cifrado. 

Siga estos pasos para configurar AWS Systems Manager Session Manager para que envíe los datos de registro de las sesiones a un grupo de registros de los Registros de CloudWatch al final de sus sesiones.

**nota**  
También puede utilizar la AWS CLI para especificar o cambiar el grupo de registros de los Registros de CloudWatch al que se enviarán los datos de la sesión. Para obtener más información, consulte [Actualizar preferencias de Session Manager (línea de comandos)](getting-started-configure-preferences-cli.md).

**Para registrar los datos de la sesión con los Registros de Amazon CloudWatch (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. En **CloudWatch logging** (Registro de CloudWatch), seleccione la casilla de verificación ubicada junto a **Enable** (Habilitar).

1. Elija la opción **Upload session logs** (Cargar registros de sesiones).

1. (Recomendado) Seleccione la casilla de verificación situada junto a **Allow only encrypted CloudWatch log groups** (Permitir solo los grupos de registros cifrados de CloudWatch). Con esta opción activada, los datos de registro se cifran con la clave de cifrado del lado del servidor especificado para el grupo de registros. Si no desea cifrar los datos de registro que se envían a los Registros de CloudWatch, desactive la casilla de verificación. También debe desactivar la casilla de verificación si no se permite el cifrado en el grupo de registros.

1. En **CloudWatch logs** (Registros de CloudWatch), para especificar el grupo de registros de CloudWatch Logs existente en su Cuenta de AWS en el que se cargarán los registros de la sesión, seleccione una de las siguientes opciones:
   + **Choose a log group from the list (Elegir un grupo de recursos de la lista)**: seleccione un grupo de registros que ya se ha creado en su cuenta para almacenar datos de registros de sesiones.
   + **Enter a log group name in the text box (Escribir un nombre del grupo de registros en el cuadro de texto)**: escriba el nombre de un grupo de registros que ya se haya creado en su cuenta para almacenar los datos de registro de la sesión.

1. Seleccione **Save**.

Para obtener más información acerca del uso de los Registros de CloudWatch, consulte la *[Guía del usuario de los Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*.

# Configuración del registro de sesiones en disco
<a name="session-manager-logging-disk"></a>

Tras habilitar el registro de Session Manager en CloudWatch o Amazon S3, todos los comandos ejecutados durante una sesión (y los resultado de estos) se registran en un archivo temporal del disco de la instancia de destino. El archivo temporal se llama `ipcTempFile.log`. 

`ipcTempFile.log` se controla mediante el parámetro `SessionLogsDestination` del archivo de configuración de SSM Agent. Este parámetro acepta los siguientes valores:
+ **disk**: si especifica este parámetro y el registro de sesiones en CloudWatch o Amazon S3 está *habilitado*, SSM Agent crea el archivo de registro temporal `ipcTempFile.log` y registra los comandos de sesión y la salida en el disco. Session Manager carga este registro en CloudWatch o S3 durante o después de la sesión, según la configuración del registro. A continuación, el registro se elimina según la duración especificada para el parámetro de configuración `SessionLogsRetentionDurationHours` de SSM Agent.

  Si especifica este parámetro y el registro de sesiones en CloudWatch y Amazon S3 está *deshabilitado*, SSM Agent seguirá registrando el historial de comandos y los resultados en el archivo `ipcTempFile.log`. El archivo se eliminará según la duración especificada para el parámetro de configuración `SessionLogsRetentionDurationHours` de SSM Agent.
+ **none**: si especifica este parámetro y el registro de sesiones en CloudWatch o Amazon S3 está *habilitado*, el registro en el disco funciona exactamente igual que si hubiera especificado el parámetro `disk`. SSM Agent necesita el archivo temporal cuando se habilita el registro de sesiones en CloudWatch o Amazon S3.

  Si especifica este parámetro y el registro de sesiones en CloudWatch y Amazon S3 está *deshabilitado*, SSM Agent no creará el archivo `ipcTempFile.log`.

Utilice el siguiente procedimiento para activar o desactivar la creación del archivo de registro temporal `ipcTempFile.log` en el disco cuando se inicie una sesión.

**Activación o desactivación de la creación del archivo de registro temporal Session Manager en el disco**

1. Instale SSM Agent en su instancia o actualícelo a la versión 3.2.2086 o superior. Para obtener información sobre cómo comprobar el número de versión del agente, consulte [Verificación del número de versión de SSM Agent](ssm-agent-get-version.md). Para obtener información sobre cómo instalar el agente de manera manual, busque el procedimiento correspondiente a su sistema operativo en las siguientes secciones:
   + [Instalación y desinstalación manual de SSM Agent en instancias de EC2 para Linux](manually-install-ssm-agent-linux.md)
   + [Instalación y desinstalación manual de SSM Agent en instancias de EC2 para macOS](manually-install-ssm-agent-macos.md)
   + [Cómo instalar y desinstalar de forma manual SSM Agent en instancias de EC2 para Windows Server](manually-install-ssm-agent-windows.md)

1. Conéctese a su instancia y busque el archivo `amazon-ssm-agent.json` en la siguiente ubicación.
   + **Linux**: /etc/amazon/ssm/
   + **macOS**: /opt/aws/ssm/
   + **Windows Server**: C:\$1Program Files\$1Amazon\$1SSM

   Si el archivo `amazon-ssm-agent.json` no existe, copie el contenido de `amazon-ssm-agent.json.template` en un archivo nuevo del mismo directorio. Asigne al nuevo archivo el nombre `amazon-ssm-agent.json`. 

1. En el parámetro `SessionLogsDestination`, especifique `none` o `disk`. Guarde los cambios.

1. [Reinicie](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-status-and-restart.html) SSM Agent.

Si especificó `disk` en el parámetro `SessionLogsDestination`, puede comprobar que SSM Agent crea el archivo de registro temporal al iniciar una nueva sesión y, a continuación, localizando `ipcTempFile.log` en la siguiente ubicación:
+ **Linux**: /var/lib/amazon/ssm/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **macOS**: /opt/aws/ssm/data/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **Windows Server**: C:\$1ProgramData\$1Amazon\$1SSM\$1InstanceData\$1*target ID*\$1session\$1orchestration\$1*session ID*\$1Standard\$1Stream\$1ipcTempFile.log

**nota**  
De forma predeterminada, el archivo de registro temporal se guarda en la instancia durante 14 días.

Si desea actualizar el parámetro `SessionLogsDestination` en varias instancias, le recomendamos que cree un documento de SSM que especifique la nueva configuración. A continuación, puede usar Run Command de Systems Manager para implementar el cambio en sus instancias. Para obtener más información, consulte [Writing your own AWS Systems Manager documents (blog)](https://aws.amazon.com/blogs/mt/writing-your-own-aws-systems-manager-documents/) y [Ejecución de comandos en nodos administrados](running-commands.md).

# Ajuste del tiempo de almacenamiento del archivo de registro temporal de Session Manager en el disco
<a name="session-manager-logging-disk-retention"></a>

Tras habilitar el registro de Session Manager en CloudWatch o Amazon S3, todos los comandos ejecutados durante una sesión (y los resultado de estos) se registran en un archivo temporal del disco de la instancia de destino. El archivo temporal se llama `ipcTempFile.log`. Durante una sesión, o una vez finalizada, Session Manager carga este registro temporal en CloudWatch o S3. A continuación, el registro temporal se elimina según la duración especificada para el parámetro de configuración `SessionLogsRetentionDurationHours` de SSM Agent. De forma predeterminada, el archivo de registro temporal se guarda en la instancia durante 14 días en la siguiente ubicación:
+ **Linux**: /var/lib/amazon/ssm/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **macOS**: /opt/aws/ssm/data/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **Windows Server**: C:\$1ProgramData\$1Amazon\$1SSM\$1InstanceData\$1*target ID*\$1session\$1orchestration\$1*session ID*\$1Standard\$1Stream\$1ipcTempFile.log

Utilice el siguiente procedimiento para ajustar el tiempo de almacenamiento del archivo de registro de Session Manager en el disco.

**Ajuste del tiempo de almacenamiento del archivo `ipcTempFile.log` en el disco**

1. Conéctese a su instancia y busque el archivo `amazon-ssm-agent.json` en la siguiente ubicación.
   + **Linux**: /etc/amazon/ssm/
   + **macOS**: /opt/aws/ssm/
   + **Windows Server**: C:\$1Program Files\$1Amazon\$1SSM

   Si el archivo `amazon-ssm-agent.json` no existe, copie el contenido de `amazon-ssm-agent.json.template` en un archivo nuevo del mismo directorio. Asigne al nuevo archivo el nombre `amazon-ssm-agent.json`. 

1. Cambie el valor de `SessionLogsRetentionDurationHours` al número de horas deseado. Si `SessionLogsRetentionDurationHours` se establece en 0, el archivo de registro temporal se creará durante la sesión y se eliminará al finalizarla. Esta configuración debe garantizar que el archivo de registro no persista una vez finalizada la sesión.

1. Guarde los cambios.

1. [Reinicie](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-status-and-restart.html) SSM Agent.

# Inhabilitación del registro de Session Manager en Registros de CloudWatch y Amazon S3
<a name="session-manager-enable-and-disable-logging"></a>

Puede utilizar la consola de Systems Manager o la AWS CLI para deshabilitar el registro de la sesión en la cuenta.

**Para deshabilitar el registro de la sesión (consola)**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Session Manager**.

1. Elija la pestaña **Preferences (Preferencias)** y, a continuación, **Edit (Editar)**.

1. Para deshabilitar el registro de CloudWatch, en la sección **Registro de CloudWatch**, desactive la casilla **Habilitar**.

1. Para deshabilitar el registro de S3, en la sección **Registro de S3**, desactive la casilla **Habilitar**.

1. Seleccione **Save**.

**Para deshabilitar el registro de sesiones (AWS CLI)**  
Para deshabilitar el registro de la sesión mediante la AWS CLI, siga las instrucciones en [Actualizar preferencias de Session Manager (línea de comandos)](getting-started-configure-preferences-cli.md).

 En el archivo JSON, asegúrese de que las entradas de `s3BucketName` y `cloudWatchLogGroupName` no contengan valores. Por ejemplo: 

```
"inputs": {
        "s3BucketName": "",
        ...
        "cloudWatchLogGroupName": "",
        ...
    }
```

Como alternativa, puede eliminar todas las entradas de `S3*` y `cloudWatch*` del archivo JSON para deshabilitar el registro.

**nota**  
Según la configuración, después de deshabilitar CloudWatch o S3, es posible que SSM Agent siga generando un archivo de registro temporal en el disco. Para obtener información sobre cómo deshabilitar el registro, consulte [Configuración del registro de sesiones en disco](session-manager-logging-disk.md).

# Esquema del documento de Session
<a name="session-manager-schema"></a>

La siguiente información describe los elementos de esquema de un documento de Session. AWS Systems Manager Session Manager utiliza los documentos de Session para determinar qué tipo de sesión iniciar, como una sesión estándar, una sesión de reenvío de puertos o una sesión para ejecutar un comando interactivo.

 [schemaVersion](#version)   
Versión del esquema del documento de Session. Los documentos de Session solo admiten la versión 1.0.  
Tipo: cadena  
Obligatorio: sí

 [description](#descript)   
Una descripción que especifique para el documento de Session. Por ejemplo, “Documento para iniciar la sesión de reenvío de puertos con Session Manager”.  
Tipo: cadena  
Requerido: no

 [sessionType](#type)   
El tipo de sesión que se utiliza para establecer el documento de Session.  
Tipo: cadena  
Obligatorio: sí  
Valores válidos: `InteractiveCommands` \$1 `NonInteractiveCommands` \$1 `Port` \$1 `Standard_Stream`

 [inputs](#in)   
Las preferencias de sesión que se van a utilizar para las sesiones establecidas mediante este documento de Session. Este elemento es necesario para los documentos de Session que se utilizan para crear sesiones `Standard_Stream`.  
Tipo: StringMap  
Obligatorio: no    
 [s3BucketName](#bucket)   
El bucket de Amazon Simple Storage Service (Amazon S3) al que desea enviar los registros de las sesiones al finalizarlas.  
Tipo: cadena  
Requerido: no  
 [s3KeyPrefix](#prefix)   
El prefijo que se debe utilizar al enviar registros al bucket de Amazon S3 que usted especificó en el elemento de entrada `s3BucketName` Para obtener más información acerca del uso de un prefijo compartido con almacenamiento de objetos en Amazon S3, consulte [How do I use folders in an S3 bucket?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html) en la *Guía del usuario de Amazon Simple Storage Service*.  
Tipo: cadena  
Requerido: no  
 [s3EncryptionEnabled](#s3Encrypt)   
Si se establece en `true`, el bucket de Amazon S3 especificado en el elemento de entrada `s3BucketName` debe estar cifrado.  
Tipo: Booleano  
Obligatorio: sí  
 [cloudWatchLogGroupName](#logGroup)   
El nombre del grupo de los Registros de Amazon CloudWatch (Registros de CloudWatch) al que desea enviar los registros de las sesiones al finalizarlas.  
Tipo: cadena  
Requerido: no  
 [cloudWatchEncryptionEnabled](#cwEncrypt)   
Si se establece en `true`, el grupo de registros que especificó en el elemento de entrada `cloudWatchLogGroupName` debe estar cifrado.  
Tipo: Booleano  
Obligatorio: sí  
 [cloudWatchStreamingEnabled](#cwStream)   
Si se establece en `true`, se envía un flujo continuo de registros de datos de sesiones al grupo de registros que especificó en el elemento de entrada `cloudWatchLogGroupName`. Si se establece en `false`, los registros de las sesiones se envían al grupo de registros que especificó en el elemento de entrada `cloudWatchLogGroupName` al finalizar las sesiones.  
Tipo: Booleano  
Obligatorio: sí  
 [kmsKeyId](#kms)   
El ID de la AWS KMS key que desee utilizar para cifrar aún más los datos entre los equipos cliente locales y los nodos administrados de Amazon Elastic Compute Cloud (Amazon EC2) a los que se conecte.  
Tipo: cadena  
Requerido: no  
 [runAsEnabled](#run)   
Si se establece en `true`, debe especificar una cuenta de usuario que exista en los nodos administrados a los que se conectará en el elemento de entrada `runAsDefaultUser`. De lo contrario, las sesiones no se iniciarán. De forma predeterminada, las sesiones se inician utilizando la cuenta `ssm-user` creada por AWS Systems Manager SSM Agent. La característica Ejecutar como solo se admite para conectarse a nodos administrados de Linux y macOS.  
Tipo: Booleano  
Obligatorio: sí  
 [runAsDefaultUser](#runUser)   
El nombre de la cuenta de usuario con la que se iniciarán las sesiones en los nodos administrados de Linux y macOS cuando el elemento de entrada `runAsEnabled` se establezca en `true`. La cuenta de usuario que especifique para este elemento de entrada debe existir en los nodos administrados a los que se conectará; de lo contrario, las sesiones no podrán iniciarse.  
Tipo: cadena  
Requerido: no  
 [idleSessionTimeout](#timeout)   
La cantidad de tiempo de inactividad que desea permitir antes de que una sesión se termine. Esta entrada se mide en minutos.  
Tipo: cadena  
Valores válidos: de 1 a 60  
Obligatorio: no  
 [maxSessionDuration](#maxDuration)   
La cantidad máxima de tiempo que desea permitir antes de que una sesión se termine. Esta entrada se mide en minutos.  
Tipo: cadena  
Valores válidos: 1-1440  
Obligatorio: no  
 [shellProfile](#shell)   
Las preferencias que especificó por sistema operativo para que se apliquen dentro de las sesiones, como las preferencias de shell, las variables de entorno, los directorios de trabajo y la ejecución de varios comandos cuando se inicia una sesión.  
Tipo: StringMap  
Obligatorio: no    
 [windows](#win)   
Las preferencias de shell, las variables de entorno, los directorios de trabajo y los comandos que especifique para las sesiones en los nodos administrados de Windows Server.  
Tipo: cadena  
Requerido: no  
 [linux](#lin)   
Las preferencias del intérprete de comandos, las variables de entorno, los directorios de trabajo y los comandos que especifique para las sesiones en los nodos administrados de Linux y macOS.  
Tipo: cadena  
Requerido: no

 [parameters](#param)   
Un objeto que define los parámetros que acepta el documento. Para obtener más información acerca de cómo definir los parámetros de los documentos, consulte **parámetros** en [Elementos de datos de nivel superior](documents-syntax-data-elements-parameters.md#top-level). En el caso de los parámetros a los que suele hacer referencia, le recomendamos almacenarlos en Systems Manager Parameter Store y, luego, hacer referencia a ellos. Puede hacer referencia a los parámetros de Parameter Store `String` y `StringList` en esta sección de un documento. No puede hacer referencia a los parámetros de Parameter Store `SecureString` en esta sección de un documento. Puede hacer referencia a un parámetro de Parameter Store mediante el siguiente formato.  

```
{{ssm:parameter-name}}
```
Para obtener más información acerca de Parameter Store, consulte [AWS Systems Manager Parameter Store](systems-manager-parameter-store.md).  
Tipo: StringMap  
Obligatorio: no

 [properties](#props)   
Un objeto cuyos valores especificados se utilizan en la operación `StartSession` de la API.  
Para los documentos de Session que se utilizan para las sesiones `InteractiveCommands`, el objeto de propiedades incluye los comandos que se ejecutarán en los sistemas operativos que usted especifique. Además, puede determinar si los comandos se ejecutan como `root` mediante la propiedad booleana `runAsElevated`. Para obtener más información, consulte [Restricción del acceso a los comandos de una sesión](session-manager-restrict-command-access.md).  
Para los documentos de Session que se utilizan para las sesiones `Port`, el objeto de propiedades contiene el número de puerto al que se debe redirigir el tráfico. Para ver un ejemplo, consulte más adelante en este tema el ejemplo de documento de Session de tipo `Port`.  
Tipo: StringMap  
Obligatorio: no

Ejemplo de documento de Session de tipo `Standard_Stream`

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Document to hold regional settings for Session Manager
sessionType: Standard_Stream
inputs:
  s3BucketName: ''
  s3KeyPrefix: ''
  s3EncryptionEnabled: true
  cloudWatchLogGroupName: ''
  cloudWatchEncryptionEnabled: true
  cloudWatchStreamingEnabled: true
  kmsKeyId: ''
  runAsEnabled: true
  runAsDefaultUser: ''
  idleSessionTimeout: '20'
  maxSessionDuration: '60'
  shellProfile:
    windows: ''
    linux: ''
```

------
#### [ JSON ]

```
{
    "schemaVersion": "1.0",
    "description": "Document to hold regional settings for Session Manager",
    "sessionType": "Standard_Stream",
    "inputs": {
        "s3BucketName": "",
        "s3KeyPrefix": "",
        "s3EncryptionEnabled": true,
        "cloudWatchLogGroupName": "",
        "cloudWatchEncryptionEnabled": true,
        "cloudWatchStreamingEnabled": true,
        "kmsKeyId": "",
        "runAsEnabled": true,
        "runAsDefaultUser": "",
        "idleSessionTimeout": "20",
        "maxSessionDuration": "60",
        "shellProfile": {
            "windows": "date",
            "linux": "pwd;ls"
        }
    }
}
```

------

Ejemplo de documento de Session de tipo `InteractiveCommands`

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Document to view a log file on a Linux instance
sessionType: InteractiveCommands
parameters:
  logpath:
    type: String
    description: The log file path to read.
    default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
    allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
properties:
  linux:
    commands: "tail -f {{ logpath }}"
    runAsElevated: true
```

------
#### [ JSON ]

```
{
    "schemaVersion": "1.0",
    "description": "Document to view a log file on a Linux instance",
    "sessionType": "InteractiveCommands",
    "parameters": {
        "logpath": {
            "type": "String",
            "description": "The log file path to read.",
            "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
            "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
        }
    },
    "properties": {
        "linux": {
            "commands": "tail -f {{ logpath }}",
            "runAsElevated": true
        }
    }
}
```

------

Ejemplo de documento de Session de tipo `Port`

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Document to open given port connection over Session Manager
sessionType: Port
parameters:
  paramExample:
    type: string
    description: document parameter
properties:
  portNumber: anyPortNumber
```

------
#### [ JSON ]

```
{
    "schemaVersion": "1.0",
    "description": "Document to open given port connection over Session Manager",
    "sessionType": "Port",
    "parameters": {
        "paramExample": {
            "type": "string",
            "description": "document parameter"
        }
    },
    "properties": {
        "portNumber": "anyPortNumber"
    }
}
```

------

Ejemplo de documento de Session con caracteres especiales

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Example document with quotation marks
sessionType: InteractiveCommands
parameters:
  Test:
    type: String
    description: Test Input
    maxChars: 32
properties:
  windows:
    commands: |
        $Test = '{{ Test }}'
        $myVariable = \"Computer name is $env:COMPUTERNAME\"
        Write-Host "Test variable: $myVariable`.`nInput parameter: $Test"
    runAsElevated: false
```

------
#### [ JSON ]

```
{
   "schemaVersion":"1.0",
   "description":"Test document with quotation marks",
   "sessionType":"InteractiveCommands",
   "parameters":{
      "Test":{
         "type":"String",
         "description":"Test Input",
         "maxChars":32
      }
   },
   "properties":{
      "windows":{
         "commands":[
            "$Test = '{{ Test }}'",
            "$myVariable = \\\"Computer name is $env:COMPUTERNAME\\\"",
            "Write-Host \"Test variable: $myVariable`.`nInput parameter: $Test\""
         ],
         "runAsElevated":false
      }
   }
}
```

------

# Resolución de problemas de Session Manager
<a name="session-manager-troubleshooting"></a>

Utilice la siguiente información como ayuda para solucionar problemas con AWS Systems Manager Session Manager.

**Topics**
+ [AccessDeniedException cuando se llama a la operación TerminateSession](#session-manager-troubleshooting-access-denied-exception)
+ [Se produjo un error inesperado en el proceso del documento: se agotó el tiempo de espera del operador documental.](#session-manager-troubleshooting-document-worker-timed-out)
+ [Session Manager no se puede conectar desde la consola de Amazon EC2](#session-manager-troubleshooting-EC2-console)
+ [Sin permiso para iniciar una sesión](#session-manager-troubleshooting-start-permissions)
+ [SSM Agent no está en línea](#session-manager-troubleshooting-agent-not-online)
+ [Sin permiso para cambiar preferencias de sesiones](#session-manager-troubleshooting-preferences-permissions)
+ [Nodo administrado no disponible o no configurado para Session Manager](#session-manager-troubleshooting-instances)
+ [Session ManagerComplemento de no encontrado](#plugin-not-found)
+ [Complemento de Session Manager no agregado de manera automática a la ruta de la línea de comandos (Windows)](#windows-plugin-env-var-not-set)
+ [Session ManagerEl complemento no responde](#plugin-unresponsive)
+ [TargetNotConnected](#ssh-target-not-connected)
+ [Aparece una pantalla en blanco después de iniciar una sesión](#session-manager-troubleshooting-start-blank-screen)
+ [El nodo administrado deja de responder durante las sesiones de larga ejecución](#session-manager-troubleshooting-log-retention)
+ [Se ha producido un error (InvalidDocument) al llamar a la operación StartSession](#session-manager-troubleshooting-invalid-document)

## AccessDeniedException cuando se llama a la operación TerminateSession
<a name="session-manager-troubleshooting-access-denied-exception"></a>

**Problema**: cuando se intenta terminar una sesión, Systems Manager devuelve el siguiente error:

```
An error occurred (AccessDeniedException) when calling the TerminateSession operation: 
User: <user_arn> is not authorized to perform: ssm:TerminateSession on resource: 
<ssm_session_arn> because no identity-based policy allows the ssm:TerminateSession action.
```

**Solución A: confirme que la [última versión del complemento de Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/plugin-version-history.html) esté instalada en el nodo.**

Introduzca el siguiente comando en el terminal y pulse Intro.

```
session-manager-plugin --version
```

**Solución B: instale o vuelva a instalar la última versión del complemento.**

Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).

**Solución C: intente restablecer la conexión con el nodo.**

Compruebe que el nodo responda a las solicitudes. Intente restablecer la sesión. O, si es necesario, abra la consola de Amazon EC2 y compruebe el estado de la instancia en ejecución.

## Se produjo un error inesperado en el proceso del documento: se agotó el tiempo de espera del operador documental.
<a name="session-manager-troubleshooting-document-worker-timed-out"></a>

**Problema**: al iniciar una sesión en un host Linux, Systems Manager devuelve el siguiente error:

```
document process failed unexpectedly: document worker timed out, 
check [ssm-document-worker]/[ssm-session-worker] log for crash reason
```

Si configuró el registro SSM Agent, como se describe en [Visualización de registros de SSM Agent](ssm-agent-logs.md), puede ver más detalles en el registro de depuración. En este caso, Session Manager muestra la siguiente entrada de registro:

```
failed to create channel: too many open files
```

Este error generalmente indica que hay demasiados procesos de trabajo de Session Manager en ejecución y que el sistema operativo subyacente ha alcanzado un límite. Tiene dos opciones para resolver este problema.

**Solución A: aumentar el límite de notificación de archivos del sistema operativo**

Para aumentar el límite, ejecute el siguiente comando desde un host Linux independiente. Este comando utiliza Run Command de Systems Manager. El valor especificado aumenta `max_user_instances` a 8192. Este valor es considerablemente superior al valor predeterminado de 128, pero no sobrecargará los recursos del host:

```
aws ssm send-command --document-name AWS-RunShellScript \
--instance-id i-02573cafcfEXAMPLE  --parameters \
"commands=sudo sysctl fs.inotify.max_user_instances=8192"
```

**Solución B: reducir las notificaciones de archivos utilizadas por Session Manager en el host de destino**

Ejecute el siguiente comando desde un host Linux independiente para enumerar las sesiones que se ejecutan en el host de destino:

```
aws ssm describe-sessions --state Active --filters key=Target,value=i-02573cafcfEXAMPLE
```

Revise la salida del comando para identificar las sesiones que ya no se necesitan. Puede terminar esas sesiones mediante la ejecución del siguiente comando desde un host Linux independiente:

```
aws ssm terminate-session —session-id session ID
```

Opcionalmente, una vez que no haya más sesiones en ejecución en el servidor remoto, podrá liberar recursos adicionales mediante la ejecución del siguiente comando desde un host Linux independiente. Este comando termina todos los procesos de Session Manager que se ejecutan en el host remoto y, en consecuencia, todas las sesiones con el host remoto. Antes de ejecutar este comando, verifique que no haya sesiones en curso que desee conservar:

```
aws ssm send-command --document-name AWS-RunShellScript \
            --instance-id i-02573cafcfEXAMPLE --parameters \
'{"commands":["sudo kill $(ps aux | grep ssm-session-worker | grep -v grep | awk '"'"'{print $2}'"'"')"]}'
```

## Session Manager no se puede conectar desde la consola de Amazon EC2
<a name="session-manager-troubleshooting-EC2-console"></a>

**Problema**: luego de crear una instancia nueva, en el botón **Conectar** > en la pestaña **Administrador de sesiones** de la consola de Amazon Elastic Compute Cloud (Amazon EC2) no aparece la opción para conectarse.

**Solución A: creación de un perfil de instancia**. Si aún no lo ha hecho (tal y como se indica en la información de la pestaña **Administrador de sesiones** de la consola de EC2), cree un perfil de instancia de AWS Identity and Access Management (IAM) mediante Quick Setup. Quick Setup es una herramienta de AWS Systems Manager.

Session Manager requiere un perfil de instancia de IAM para conectarse a la instancia. Puede crear un perfil de instancia y asignarlo a la instancia mediante la creación de una [configuración de administración de host](https://docs.aws.amazon.com/systems-manager/latest/userguide/quick-setup-host-management.html) conQuick Setup. Una *configuración de administración de host* crea un perfil de instancia con los permisos necesarios y lo asigna a la instancia. Una configuración de administración de host también habilita otras herramientas de Systems Manager y crea roles de IAM para ejecutar esas herramientas. El uso de Quick Setup o de las herramientas habilitadas por la configuración de administración de host es gratuito. [Abra Quick Setup y cree una configuración de administración de host](https://console.aws.amazon.com/systems-manager/quick-setup/create-configuration&configurationType=SSMHostMgmt).

**importante**  
Luego de crear la configuración de administración de host, Amazon EC2 puede tardar varios minutos en registrar el cambio y actualizar la pestaña **Administrador de sesiones**. Si la pestaña no muestra el botón **Conectar** después de dos o tres minutos, actualice su instancia. Si sigue sin ver la opción para conectarse, abra [Configuración Rápida](https://console.aws.amazon.com/systems-manager/quick-setup/create-configuration&configurationType=SSMHostMgmt) y verifique que solo tenga una configuración de administración de hosts. Si hay dos, elimine la configuración anterior y espere unos minutos.

Si sigue sin poder conectarse después de crear una configuración de administración de host o si se produce un error, incluido un error relacionado con SSM Agent, consulte una de las siguientes soluciones:
+  [Solución B: no hay un error, pero aún no se puede conectar](#session-manager-troubleshooting-EC2-console-no-error) 
+  [Solución C: error por la falta del SSM Agent](#session-manager-troubleshooting-EC2-console-no-agent) 

### Solución B: no hay un error, pero aún no se puede conectar
<a name="session-manager-troubleshooting-EC2-console-no-error"></a>

Si creó la configuración de administración de host, esperó varios minutos antes de intentar conectarse y sigue sin poder hacerlo, es posible que tenga que aplicar de manera manual la configuración de administración de host a la instancia. Utilice el siguiente procedimiento para actualizar la configuración de administración de host con Quick Setup y aplicar los cambios a una instancia.

**Actualización de una configuración de administración de host mediante Quick Setup**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Quick Setup**.

1. En la lista **Configuraciones**, elija la configuración **Administración de host** que creó.

1. Elija **Acciones**y, luego, seleccione **Editar configuración**.

1. Cerca de la parte inferior de la sección **Objetivos**, en **Elija cómo desea segmentar las instancias**, seleccione **Manual**.

1. En la sección **Instancias**, elija la instancia que creó.

1. Elija **Actualizar**.

Espere unos minutos a que EC2 actualice la pestaña **Administrador de sesiones**. Si sigue sin poder conectarse o si se produce un error, revise las demás soluciones para este problema.

### Solución C: error por la falta del SSM Agent
<a name="session-manager-troubleshooting-EC2-console-no-agent"></a>

Si no pudo crear una configuración de administración de host con Quick Setup o si se produjo un error que indicaba que SSM Agent no estaba instalado, es posible que deba instalar SSM Agent de manera manual en la instancia. SSM Agent es un software de Amazon que permite a Systems Manager conectarse a la instancia medianteSession Manager. SSM Agent está instalado de forma predeterminada en la mayoría de las imágenes de máquina de Amazon (AMI). Si la instancia se creó a partir de una AMI no estándar o una AMI anterior, es posible que deba instalar el agente de manera manual. Para conocer el procedimiento de instalación de SSM Agent, consulte el siguiente tema correspondiente al sistema operativo de la instancia.
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html) 
+  [AlmaLinux](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-alma.html) 
+  [Amazon Linux 2 y AL2023](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-al2.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-deb.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-deb.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-oracle.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-oracle.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rhel.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rhel.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rocky.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rocky.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-ubuntu.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-ubuntu.html) 

Si se presentan problemas con SSM Agent, consulte [Resolución de problemas de SSM Agent](troubleshooting-ssm-agent.md).

## Sin permiso para iniciar una sesión
<a name="session-manager-troubleshooting-start-permissions"></a>

**Problema**: intenta iniciar una sesión, pero el sistema le indica que no tiene los permisos necesarios.
+ **Solución**: un administrador de sistema no le ha concedido los permisos de política de AWS Identity and Access Management (IAM) para iniciar sesiones de Session Manager. Para obtener información, consulte [Control del acceso de las sesiones de usuario a las instancias](session-manager-getting-started-restrict-access.md).

## SSM Agent no está en línea
<a name="session-manager-troubleshooting-agent-not-online"></a>

**Problema**: ve un mensaje en la pestaña **Session Manager** de la instancia de Amazon EC2 que indica: “SSM Agent no está en línea. El SSM Agent no pudo conectarse a un punto de conexión de Systems Manager para registrarse en el servicio”.

**Solución**: SSM Agent es un software de Amazon que se ejecuta en instancias de Amazon EC2 para que Session Manager pueda conectarse a ellas. Si ve este error, significa SSM Agent no puede establecer una conexión con el punto de conexión de Systems Manager. Los posibles orígenes del problema podrían estar en las restricciones del firewall, en los problemas de enrutamiento o la falta de conectividad a Internet. Para resolver esta situación, investigue los problemas de conectividad de la red. Para obtener más información, consulte [Resolución de problemas de SSM Agent](troubleshooting-ssm-agent.md) y [Solución de problemas de disponibilidad de nodos administrados](fleet-manager-troubleshooting-managed-nodes.md). Para obtener información sobre los puntos de conexión de Systems Manager, consulte [Cuotas y puntos de conexión de AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html) en la Referencia general de AWS.

## Sin permiso para cambiar preferencias de sesiones
<a name="session-manager-troubleshooting-preferences-permissions"></a>

**Problema**: intenta actualizar las preferencias de sesión globales para su organización, pero el sistema le indica que no tiene los permisos necesarios para hacerlo.
+ **Solución**: un administrador de sistema no le ha concedido los permisos de política de IAM para configurar las preferencias de Session Manager. Para obtener más información, consulte [Concesión o denegación de permisos de usuario para actualizar preferencias de Session Manager](preference-setting-permissions.md).

## Nodo administrado no disponible o no configurado para Session Manager
<a name="session-manager-troubleshooting-instances"></a>

**Problema 1**: desea iniciar una sesión en la página de la consola **Start a session** (Iniciar una sesión), pero un nodo administrado no está en la lista.
+ **Solución A**: El nodo administrado al que desea conectarse podría no haberse configurado para AWS Systems Manager. Para obtener más información, consulte [Cómo configurar la consola unificada de Systems Manager para una organización](systems-manager-setting-up-organizations.md). 
**nota**  
Si AWS Systems Manager SSM Agent ya se está ejecutando en un nodo administrado cuando adjunte el perfil de instancias de IAM, es posible que tenga que reiniciar el agente antes de que la instancia aparezca en la página **Start a session** (Iniciar una sesión) de la consola.
+ **Solución B**: la configuración del proxy que aplicó a SSM Agent en el nodo administrado puede ser incorrecta. Si la configuración del proxy es incorrecta, el nodo administrado no podrá alcanzar los puntos de conexión de servicio necesarios o el nodo se podría notificar como un sistema operativo diferente a Systems Manager. Para obtener más información, consulte [Configuración de SSM Agent para utilizar un proxy en nodos de Linux](configure-proxy-ssm-agent.md) y [Configurar el SSM Agent para usar un proxy para las instancias de Windows Server](configure-proxy-ssm-agent-windows.md).

**Problema 2**: un nodo administrado al que desea conectarse está en la lista de la página **Start a session** (Iniciar una sesión) de la consola, pero la página notifica que “The instance you selected isn't configured to use Session Manager” (La instancia que ha seleccionado no está configurada para utilizar Session Manager). 
+ **Solución A**: el nodo administrado se ha configurado para usarse con el servicio de Systems Manager, pero el perfil de instancias de IAM adjunto al nodo podría no incluir los permisos para la herramienta Session Manager. Para obtener información, consulte [Verificación o creación de un perfil de instancias de IAM con permisos de Session Manager](session-manager-getting-started-instance-profile.md).
+ **Solución B**: el nodo administrado no está ejecutando una versión de SSM Agent que admita Session Manager. Actualice SSM Agent en el nodo a la versión 2.3.68.0 o una posterior. 

  Actualice SSM Agent de forma manual en un nodo administrado siguiendo los pasos que se describen en [Cómo instalar y desinstalar de forma manual SSM Agent en instancias de EC2 para Windows Server](manually-install-ssm-agent-windows.md), [Instalación y desinstalación manual de SSM Agent en instancias de EC2 para Linux](manually-install-ssm-agent-linux.md) o [Instalación y desinstalación manual de SSM Agent en instancias de EC2 para macOS](manually-install-ssm-agent-macos.md), en función del sistema operativo. 

  También puede usar el documento de Run Command `AWS-UpdateSSMAgent` para actualizar la versión del agente en una o varios nodos administrados a la vez. Para obtener más información, consulte [Actualización de SSM Agent mediante Run Command](run-command-tutorial-update-software.md#rc-console-agentexample).
**sugerencia**  
Para mantener siempre actualizado el agente, le recomendamos actualizar el SSM Agent a la versión más reciente según un programa automatizado que defina utilizando cualquiera de los siguientes métodos:  
Ejecutar `AWS-UpdateSSMAgent` como parte de una asociación de State Manager. Para obtener más información, consulte [Tutorial: actualización automática de SSM Agent con AWS CLI](state-manager-update-ssm-agent-cli.md).
Ejecute `AWS-UpdateSSMAgent` como parte de un periodo de mantenimiento. Para obtener información acerca de cómo trabajar con periodos de mantenimiento, consulte [Crear y administrar periodos de mantenimiento mediante la consola](sysman-maintenance-working.md) y [Tutorial: cree y configure un periodo de mantenimiento mediante la AWS CLI](maintenance-windows-cli-tutorials-create.md).
+ **Solución C**: el nodo administrado no puede alcanzar los puntos de conexión de servicio requeridos. Puede mejorar la posición de seguridad de los nodos administrados mediante el uso de puntos de conexión de interfaz con tecnología AWS PrivateLink para conectarse a los puntos de conexión de Systems Manager. La alternativa a usar un punto de conexión de interfaz es permitir el acceso a Internet saliente en los nodos administrados. Para obtener más información, consulte [Uso de PrivateLink para configurar un punto de enlace de la VPC para Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-privatelink.html).
+ **Solución D**: el nodo administrado dispone de recursos de memoria o CPU limitados. Aunque el nodo administrado podría de otro modo ser funcional, si el nodo no tiene suficientes recursos disponibles, no podrá establecer una sesión. Para obtener más información, consulte [Solución de problemas de una instancia inaccesible](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html).

## Session ManagerComplemento de no encontrado
<a name="plugin-not-found"></a>

Para utilizar la AWS CLI para ejecutar comandos de sesión, el complemento de Session Manager también debe estar instalado en su equipo local. Para obtener más información, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).

## Complemento de Session Manager no agregado de manera automática a la ruta de la línea de comandos (Windows)
<a name="windows-plugin-env-var-not-set"></a>

Cuando instala el complemento de Session Manager en Windows, el archivo ejecutable `session-manager-plugin` debería agregarse de forma automática a la variable de entorno `PATH` del sistema operativo. Si el comando no funciona después de ejecutarlo para verificar si el complemento de Session Manager se ha instalado correctamente (`aws ssm start-session --target instance-id`), es posible que deba configurarlo de forma manual mediante el procedimiento que se indica a continuación.

**Para modificar la variable PATH (Windows)**

1. Pulse la tecla de Windows e ingrese **environment variables**.

1. Elija **Edit environment variables for your account (Edición de las variables de entorno de esta cuenta)**.

1. Elija **PATH** y después **Editar**.

1. Añada rutas al campo **Variable value (Valor de variable)**, separadas por punto y coma, como se muestra en este ejemplo: *`C:\existing\path`*;*`C:\new\path`*

   *`C:\existing\path`* representa el valor que ya está en el campo. *`C:\new\path`* representa la ruta que desea añadir, como se muestra en el siguiente ejemplo.
   + **64-Máquinas de 64 bits**: `C:\Program Files\Amazon\SessionManagerPlugin\bin\`

1. Elija **OK (Aceptar)** dos veces para aplicar la nueva configuración.

1. Cierre los símbolos del sistema en ejecución y vuelva a abrirlos.

## Session ManagerEl complemento no responde
<a name="plugin-unresponsive"></a>

Durante una sesión de remisión de puertos, el tráfico podría dejar de remitirse si tiene un software antivirus instalado en el equipo local. En algunos casos, el software antivirus interfiere con el complemento de Session Manager que causa interbloqueos en el proceso. Para resolver este problema, permita o excluya el complemento de Session Manager del software antivirus. Para obtener información sobre la ruta de instalación predeterminada para el complemento de Session Manager, consulte [Instalación del complemento de Session Manager para la AWS CLI](session-manager-working-with-install-plugin.md).

## TargetNotConnected
<a name="ssh-target-not-connected"></a>

**Problema**: intenta iniciar una sesión, pero el sistema devuelve el mensaje de error “An error occurred (TargetNotConnected) when calling the StartSession operation: *InstanceID* isn't connected” (Se produjo un error [DestinoNoConectado] al llamar a la operación StartSession: el ID de la instancia no está conectado).
+ **Solución A**: este error se devuelve cuando el nodo administrado de destino especificado para la sesión no está completamente configurado para su uso con Session Manager. Para obtener más información, consulte [Configuración de Session Manager](session-manager-getting-started.md).
+ **Solución B**: este error también se devuelve si intenta iniciar una sesión en un nodo administrado que se encuentra en otra Cuenta de AWS o Región de AWS.

## Aparece una pantalla en blanco después de iniciar una sesión
<a name="session-manager-troubleshooting-start-blank-screen"></a>

**Problema**: ha iniciado una sesión y Session Manager muestra una pantalla en blanco.
+ **Solución A**: este problema puede darse cuando el volumen raíz del nodo administrado está lleno. Debido a la falta de espacio en disco, el SSM Agent ya no funciona en el nodo. Para resolver este problema, utilice Amazon CloudWatch para recopilar las métricas y los registros de los sistemas operativos. Para obtener información, consulte [Recopilación de métricas, registros y seguimientos con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) en la *Guía del usuario de Amazon CloudWatch*.
+ **Solución B**: puede aparecer una pantalla en blanco si accedió a la consola mediante un enlace que incluye un par de punto de enlace y región que no coinciden. Por ejemplo, en la siguiente dirección URL de la consola, `us-west-2` es el punto de enlace especificado, pero `us-west-1` es la Región de AWS especificada.

  ```
  https://us-west-2.console.aws.amazon.com/systems-manager/session-manager/sessions?region=us-west-1
  ```
+ **Solución C**: el nodo administrado se conecta a Systems Manager mediante los puntos de conexión de la VPC, y las preferencias de Session Manager registran la salida de la sesión en un bucket de Amazon S3 o en grupo de Registros de Amazon CloudWatch, pero no existe ningún punto de conexión de la puerta de enlace de `s3` ni un punto de conexión de la interfaz de `logs` en la VPC. Se necesita un punto de conexión de `s3` con el formato **`com.amazonaws.region.s3`** si los nodos administrados se conectan a Systems Manager mediante puntos de conexión de la VPC y sus preferencias de Session Manager escriben la salida de la sesión en un bucket de Amazon S3. De manera alternativa, se requiere un punto de conexión de `logs` con el formato **`com.amazonaws.region.logs`** si los nodos administrados se conectan a Systems Manager mediante los puntos de conexión de la VPC, y sus preferencias de Session Manager registran la salida de la sesión en un grupo de Registros de CloudWatch. Para obtener más información, consulte [Creación de puntos de enlace de la VPC para Systems Manager](setup-create-vpc.md#create-vpc-endpoints).
+ **Solución D**: se ha eliminado el grupo de registros o el bucket de Amazon S3 que especificó en sus preferencias de sesión. Para resolver este problema, actualice sus preferencias de sesión con un grupo de registros o un bucket de S3 válidos.
+ **Solución E**: el grupo de registros o el bucket de Amazon S3 que especificó en sus preferencias de sesión no está cifrado, pero ha establecido el elemento de entrada `cloudWatchEncryptionEnabled` o `s3EncryptionEnabled` en `true`. Para resolver este problema, actualice sus preferencias de sesión con un grupo de registros o un bucket de Amazon S3 que estén cifrados o establezca el elemento de entrada `cloudWatchEncryptionEnabled` o `s3EncryptionEnabled` en `false`. Este escenario solo se aplica a los clientes que crean preferencias de sesión mediante las herramientas de línea de comandos.

## El nodo administrado deja de responder durante las sesiones de larga ejecución
<a name="session-manager-troubleshooting-log-retention"></a>

**Problema**: el nodo administrado deja de responder o se bloquea durante una sesión de larga ejecución.

**Solución**: reducir la duración de la retención de registros de SSM Agent para Session Manager.

**Para reducir la duración de la retención de registros de SSM Agent de las sesiones**

1. Busque `amazon-ssm-agent.json.template` en el directorio `/etc/amazon/ssm/` para Linux o `C:\Program Files\Amazon\SSM` para Windows.

1. Copie el contenido de `amazon-ssm-agent.json.template` en un nuevo archivo dentro del mismo directorio denominado `amazon-ssm-agent.json`.

1. Disminuya el valor predeterminado de `SessionLogsRetentionDurationHours` en la propiedad de `SSM` y guarde el archivo.

1. Restablecer el SSM Agent.

## Se ha producido un error (InvalidDocument) al llamar a la operación StartSession
<a name="session-manager-troubleshooting-invalid-document"></a>

**Problema**: Aparece el siguiente error al iniciar una sesión empleando la AWS CLI.

```
An error occurred (InvalidDocument) when calling the StartSession operation: Document type: 'Command' is not supported. Only type: 'Session' is supported for Session Manager.
```

**Solución**: El documento SSM que especificó para el parámetro `--document-name` no es un documento *Session*. Utilice el siguiente procedimiento para ver una lista de documentos Session en la Consola de administración de AWS.

**Para ver una lista de documentos Session**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Documentos**.

1. En la lista **Categorías**, seleccione **Documentos Session**.