Permiso de perfiles de shell configurable - AWS Systems Manager

Permiso de perfiles de shell configurable

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) y Políticas de usuarios finales de inicio rápido de Session Manager.

  • 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/.

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

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

  4. 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.

  5. Seleccione Guardar.

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 "------- ------ ----- ----- ----- ------ -- -----------"}