Session Manager를 사용하여 인스턴스에 대한 액세스를 제어하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 3월 17일

특정 사용자가 지정한 인스턴스에 대한 Session Manager 세션을 시작할 수 있도록 내 인스턴스에 대한 액세스를 제어하려고 합니다. 어떻게 해야 합니까?

간략한 설명

AWS Systems Manager Session Manager를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 또는 온프레미스 인스턴스를 관리할 수 ​​있습니다. Session Manager는 브라우저 기반 셸 또는 AWS 명령줄 인터페이스(AWS CLI)를 통해 연결합니다.

Identity and Access Management(IAM) 정책을 사용하여 Session Manager를 통해 인스턴스에 액세스 가능한 사용자를 제어할 수 있습니다. IAM 정책은 사용자가 수행할 수 있는 API 작업도 제어합니다.

사전 조건

해결 방법

사용자가 Session Manager에 연결하도록 허용하려면 먼저 IAM 사용자에게 StartSession 액세스 권한을 부여하는 IAM 정책을 생성합니다. 그런 다음, IAM 사용자에 IAM 정책을 연결합니다.

다음 단계에 따라 IAM 사용자가 AWS CLI를 사용하여 Session Manager 세션을 시작할 수 있도록 허용하는 IAM 정책을 생성하고 연결합니다. 다음 예제 정책은 세션을 특정 인스턴스로 시작하는 기능을 제한합니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

1.    IAM 콘솔을 열고 왼쪽 탐색 창에서 정책(Policies)을 선택합니다.

2.    정책 생성(Create policy)을 선택하고 JSON 탭을 선택합니다.

3.    특정 인스턴스에 대한 액세스 제한 샘플 JSON 문서를 복사한 다음, 콘솔의 JSON 탭에 정책을 붙여넣습니다.

중요: 예제 정책의 리소스 ARN은 us-east-2 AWS 리전을 사용하고 인스턴스 ID계정 ID를 포함합니다. 이 값을 사용자 고유의 값으로 바꿔야 합니다.

4.    다음: 태그(Next: Tags)를 선택합니다.

5.    [Next: Review]를 선택하십시오.

6.    [이름]에 정책 이름을 입력합니다.

7.    (선택 사항) 설명(Description)에 설명을 입력합니다.

8.    Create policy(정책 만들기)를 선택하여 정책을 저장합니다.

9.    Session Manager를 사용하여 인스턴스에 대한 액세스 권한을 부여하려는 사용자에게 IAM 정책을 연결합니다.

액세스 권한이 부여된 사용자는 이제 다음 AWS CLI 명령을 사용하여 start-session API 호출을 시작할 수 있습니다.

참고: 사용자는 세션을 시작하려는 인스턴스 ID로 instance-id를 바꿔야 합니다.

aws ssm start-session --target instance-id

사용자가 Amazon EC2 콘솔을 사용하여 세션을 시작할 수 있도록 허용하려면 다음 AWS 관리형 정책도 사용자에게 연결해야 합니다.

  • AmazonSSMReadOnlyAccess
  • AmazonEC2ReadOnlyAccess