Configurar el acceso a la consola serie de EC2 - Amazon Elastic Compute Cloud

Configurar el acceso a la consola serie de EC2

Para configurar el acceso a la consola serie, debe conceder acceso a la consola serie a nivel de cuenta y, a continuación, configurar políticas de IAM para conceder acceso a los usuarios. Para instancias de Linux, también debe configurar un usuario basado en contraseña en cada instancia a fin de que los usuarios puedan utilizar la consola serie para solucionar problemas.

Antes de empezar, asegúrese de comprobar los prerrequisitos.

Niveles de acceso a la consola serie de EC2

De forma predeterminada, no hay acceso a la consola serie en el nivel de cuenta. Debe conceder explícitamente el acceso a la consola serie en el nivel de cuenta. Para obtener más información, consulte Administrar el acceso a la cuenta a la consola serie de EC2.

Puede utilizar una política de control de servicios (service control policy, SCP) para permitir el acceso a la consola serie dentro de su organización. A continuación, puede tener un control de acceso granular de los usuarios de IAM mediante una política de IAM para controlar el acceso. Al utilizar una combinación de políticas SCP e IAM, tiene diferentes niveles de control de acceso a la consola serie.

Nivel de organización

Puede utilizar una política de control de servicios (SCP) para permitir el acceso a la consola serie para las cuentas de miembros de su organización. Para obtener más información acerca de SCP, consulte Políticas de control de servicios en la Guía del usuario de AWS Organizations.

Nivel de instancia

Puede configurar las políticas de acceso a la consola serie mediante construcciones IAM PrincipalTag y ResourceTag y especificando instancias por su ID. Para obtener más información, consulte Configurar políticas de IAM para el acceso a la consola serie de EC2.

Nivel de usuario

Puede configurar el acceso a nivel de usuario configurando una política de IAM para permitir o denegar a un usuario especificado el permiso para insertar la clave pública SSH al servicio de consola serie de una instancia determinada. Para obtener más información, consulte Configurar políticas de IAM para el acceso a la consola serie de EC2.

Nivel de SO (solo instancias de Linux)

Puede establecer una contraseña de usuario en el nivel del SO invitado. Esto proporciona acceso a la consola serie para algunos casos de uso. Sin embargo, para supervisar los registros, no necesita un usuario basado en contraseña. Para obtener más información, consulte Cómo establecer una contraseña de usuario de SO en una instancia de Linux.

Administrar el acceso a la cuenta a la consola serie de EC2

De forma predeterminada, no hay acceso a la consola serie en el nivel de cuenta. Debe conceder explícitamente el acceso a la consola serie en el nivel de cuenta.

Concesión de permisos a los usuarios para administrar el acceso a la cuenta

Para permitir que los usuarios administren el acceso a la cuenta en la consola serie de EC2, debe concederles los permisos de IAM necesarios.

La siguiente política concede permisos para ver el estado de la cuenta y para permitir y evitar el acceso de cuenta a la consola serie de EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:GetSerialConsoleAccessStatus", "ec2:EnableSerialConsoleAccess", "ec2:DisableSerialConsoleAccess" ], "Resource": "*" } ] }

Para obtener más información, consulte Creación de políticas de IAM en la Guía del usuario de IAM.

Ver el estado de acceso a la cuenta en la consola serie

Para ver el estado de acceso a la cuenta a la consola serie (consola)
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija EC2 Dashboard (Panel de EC2).

  3. En Account attributes (Atributos de cuenta), elija EC2 Serial Console (Consola serie de EC2).

    El campo de EC2 Serial Console access (Acceso a la consola serie de EC2) indica si el acceso a la cuenta está Allowed (Permitido) o Prevented (Impedido).

    La siguiente captura de pantalla muestra que la cuenta no puede utilizar la consola serie de EC2.

    Se evita el acceso a la consola serie de EC2.
Para ver el estado de acceso a la cuenta de la consola serie (AWS CLI)

Utilice el comando get-serial-console-access-status para ver el estado de acceso a la cuenta en la consola serie.

aws ec2 get-serial-console-access-status --region us-east-1

En el siguiente resultado, true indica que la cuenta tiene permitido el acceso a la consola serie.

{ "SerialConsoleAccessEnabled": true }

Conceder acceso a la cuenta a la consola serie

Para conceder acceso a la cuenta a la consola serie (consola)
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija EC2 Dashboard (Panel de EC2).

  3. En Account attributes (Atributos de cuenta), elija EC2 Serial Console (Consola serie de EC2).

  4. Seleccione Manage (Administrar).

  5. Para permitir el acceso a la consola serie de EC2 de todas las instancias de la cuenta, active la casilla de verificación Allow (Permitir).

  6. Elija Update (Actualizar).

Para conceder acceso a la cuenta a la consola serie (AWS CLI)

Utilice el comando enable-serial-console-access para permitir el acceso de cuenta a la consola serie.

aws ec2 enable-serial-console-access --region us-east-1

En el siguiente resultado, true indica que la cuenta tiene permitido el acceso a la consola serie.

{ "SerialConsoleAccessEnabled": true }

Denegar el acceso de cuenta a la consola serie

Para denegar el acceso de cuenta a la consola serie (consola)
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija EC2 Dashboard (Panel de EC2).

  3. En Account attributes (Atributos de cuenta), elija EC2 Serial Console (Consola serie de EC2).

  4. Seleccione Manage (Administrar).

  5. Para evitar el acceso a la consola serie de EC2 de todas las instancias de la cuenta, desactive la casilla de verificación Allow (Permitir).

  6. Elija Update (Actualizar).

Para denegar el acceso a la cuenta a la consola serie (AWS CLI)

Utilice el comando disable-serial-console-access para impedir el acceso de cuenta a la consola serie.

aws ec2 disable-serial-console-access --region us-east-1

En el siguiente resultado, false indica que se deniega el acceso de la consola serie a la cuenta.

{ "SerialConsoleAccessEnabled": false }

Configurar políticas de IAM para el acceso a la consola serie de EC2

De forma predeterminada, los usuarios no tienen acceso a la consola serie. Su organización debe configurar políticas de IAM para conceder a los usuarios el acceso necesario. Para obtener más información, consulte Creación de políticas de IAM en la Guía del usuario de IAM.

Para el acceso a la consola serie, cree un documento de política JSON que incluya la ec2-instance-connect:SendSerialConsoleSSHPublicKey acción. Esta acción concede permiso a un usuario para insertar la clave pública en el servicio de consola serie, que inicia una sesión de consola serie. Recomendamos restringir el acceso a instancias de EC2 específicas. De lo contrario, todos los usuarios con este permiso pueden conectarse a la consola serie de todas las instancias de EC2.

Permitir explícitamente el acceso a la consola serie

De forma predeterminada, nadie tiene acceso a la consola serie. Para conceder acceso a la consola serie, debe configurar una política para permitir explícitamente el acceso. Se recomienda configurar una política que restrinja el acceso a instancias específicas.

La siguiente política permite el acceso a la consola serie de una instancia específica, identificada por su ID de instancia.

Tenga en cuenta que las acciones DescribeInstances, DescribeInstanceTypes y GetSerialConsoleAccessStatus no admiten permisos a nivel de recurso y, por lo tanto, todos los recursos, indicados por el * (asterisco), deben especificarse para estas acciones.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribeInstances", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "Resource": "*" }, { "Sid": "AllowinstanceBasedSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey" ], "Resource": "arn:aws:ec2:region:account-id:instance/i-0598c7d356eba48d7" } ] }

Denegar explícitamente el acceso a la consola serie

La siguiente política de IAM permite el acceso a la consola serie de todas las instancias, indicada por el * (asterisco), y deniega explícitamente el acceso a la consola serie de una instancia específica, identificada por su ID.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "Resource": "*" }, { "Sid": "DenySerialConsoleAccess", "Effect": "Deny", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey" ], "Resource": "arn:aws:ec2:region:account-id:instance/i-0598c7d356eba48d7" } ] }

Utilizar etiquetas de recursos para controlar el acceso a la consola serie

Puede utilizar etiquetas de recursos para controlar el acceso a la consola serie de una instancia.

El control de acceso basado en atributos es una estrategia de autorización que define permisos basados en etiquetas que pueden asociarse a usuarios y recursos de AWS. Por ejemplo, la siguiente política permite a un usuario iniciar una conexión de consola serie para una instancia solo si la etiqueta de recurso de esa instancia y la etiqueta principal tienen el mismo valor SerialConsole para la clave de etiqueta.

Para obtener más información sobre el uso de etiquetas para controlar el acceso a los recursos de AWS, consulte Control de acceso a los recursos de AWS en la Guía del usuario de IAM.

Tenga en cuenta que las acciones DescribeInstances, DescribeInstanceTypes y GetSerialConsoleAccessStatus no admiten permisos a nivel de recurso y, por lo tanto, todos los recursos, indicados por el * (asterisco), deben especificarse para estas acciones.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribeInstances", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "Resource": "*" }, { "Sid": "AllowTagBasedSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey" ], "Resource": "arn:aws:ec2:region:account-id:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/SerialConsole": "${aws:PrincipalTag/SerialConsole}" } } } ] }

Cómo establecer una contraseña de usuario de SO en una instancia de Linux

nota

Esta sección se aplica únicamente a las instancias de Linux.

Puede conectarse a la consola serie sin una contraseña. Sin embargo, para utilizar la consola serie para solucionar problemas de una instancia de Linux, esta debe tener un usuario de sistema operativo basado en contraseña.

Puede establecer la contraseña para cualquier usuario del sistema operativo, incluido el usuario raíz. Tenga en cuenta que el usuario raíz puede modificar todos los archivos, mientras que cada usuario del sistema operativo puede tener permisos limitados.

Debe establecer una contraseña de usuario para cada instancia para la que vaya a utilizar la consola serie. Es un requisito de una sola vez para cada instancia.

nota

Las siguientes instrucciones solo son aplicables si ha lanzado la instancia mediante una AMI de Linux proporcionada por AWS porque, de forma predeterminada, las AMI proporcionadas por AWS no están configuradas con un usuario basado en contraseña. Si ha iniciado la instancia con una AMI que ya tiene configurada la contraseña de usuario raíz, puede omitir estas instrucciones.

Para establecer una contraseña de usuario de SO en una instancia de Linux
  1. Conéctese a la instancia. Puede utilizar cualquier método para conectarse a la instancia, excepto el método de conexión de la consola serie de EC2.

  2. Para establecer la contraseña de un usuario, utilice el comando passwd. En el siguiente ejemplo, el usuario es root.

    [ec2-user ~]$ sudo passwd root

    A continuación, se muestra un ejemplo del resultado.

    Changing password for user root. New password:
  3. En la solicitud New password, ingrese la nueva contraseña.

  4. En la solicitud, vuelva a ingresar la contraseña.