구성 가능한 셸 프로파일 허용 - AWS Systems Manager

구성 가능한 셸 프로파일 허용

기본적으로 Linux용 EC2 인스턴스의 세션은 Bourne 쉘(sh)을 사용하여 시작합니다. 그러나 bash 등의 다른 셸을 사용하고자 할 수 있습니다. 구성 가능한 셸 프로파일을 허용하여 세션 내에서 셸 기본 설정, 환경 변수, 작업 디렉터리 및 세션이 시작될 때 여러 명령 실행과 같은 기본 설정을 사용자 지정할 수 있습니다.

중요

Systems Manager 는 셸 프로파일의 명령이나 스크립트를 검사하여 실행되기 전에 인스턴스에 어떤 변화가 있는지 확인하지 않습니다. 사용자가 셸 프로파일에 입력한 명령이나 스크립트를 수정할 수 있는 권한을 제한하려면 다음을 권장합니다.

  • AWS Identity and Access Management(IAM) 사용자 및 역할에 대한 사용자 지정된 세션 유형 문서를 생성합니다. 그런 다음 이러한 사용자 및 역할에 대한 IAM 정책을 수정하여 StartSession API 작업이 해당 사용자에 대해 생성한 세션 유형 문서만 사용할 수 있도록 합니다. 자세한 내용은 Session Manager 기본 설정 문서 생성(명령줄)Session Manager에 대한 빠른 시작 최종 사용자 정책 섹션을 참조하세요.

  • IAM 사용자 및 역할에 대한 IAM 정책을 수정하여 생성한 세션 유형 문서 리소스에 대한 UpdateDocument API 작업 액세스를 거부합니다. 이렇게 하면 사용자와 역할이 설정을 수정하지 않고도 세션 기본 설정에 대해 생성한 문서를 사용할 수 있습니다.

구성 가능한 셸 프로파일을 설정하려면
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Session Manager를 선택합니다.

  3. 기본 설정 탭을 선택하고 편집을 선택합니다.

  4. 해당 운영 체제의 필드에서 세션이 시작될 때 실행할 환경 변수, 셸 기본 설정 또는 명령을 지정합니다.

  5. Save(저장)를 선택합니다.

다음은 셸 프로파일에 추가할 수 있는 몇 가지 예제 명령입니다.

bash 쉘로 변경하고 Linux 인스턴스의 /usr 디렉터리로 변경합니다.

exec /bin/bash cd /usr

세션 시작 시 타임스탬프 및 시작 메시지를 출력합니다.

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

세션 시작 시 동적 시스템 활동을 봅니다.

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