EC2 인스턴스에 Role 부여

이번에는 사용자가 직접 S3에 접근하지 않고, EC2가 대신하여 S3에 접근하게 하고자 합니다. 아래와 같이 전에 생성한 EC2에 S3 읽기 권한을 가진 Role을 생성하고, 그 Role을 EC2에 부여합니다. 그러면 EC2는 해당 Role을 위임받아 S3에 접근할 수 있습니다.

1. S3 읽기 권한을 가진 Role 생성

builders-role로 역할전환된 상태에서 IAM 좌측의 역할 선택 후 역할 만들기 버튼을 클릭합니다.

2. 신뢰할 수 있는 엔터티 선택

AWS서비스 선택 후, 하단에서 EC2를 선택하고 다음 버튼을 클릭합니다.

3. 권한 추가

AmazonS3ReadOnlyAccess 권한을 검색 후 선택하고, 다음 버튼을 클릭합니다.

4. 이름 지정, 검토 및 생성

역할 이름에 builders-s3-read-role을 입력하고, 화면 하단부에 역할 생성 버튼을 클릭합니다.

5. EC2에서 S3 읽기

builders-role로 역할전환된 상태에서 EC2서비스로 가서 전에 만들어둔 EC2를 선택하고 연결 버튼을 클릭합니다. (EC2 인스턴스가 안 보이시면, 리전이 서울인지 확인해보세요.)

EC2 내부에서 aws s3 ls 명령어를 통해, S3 버킷 리스트를 출력을 시도해보면 인증 관련된 문구가 나오면서 리스트가 출력되지 않습니다.

다시 EC2 인스턴스 화면으로 돌아와서, EC2 인스턴스를 선택하시고 우측 상단의 작업 → 보안 → IAM 역할 수정을 선택합니다.

IAM역할에서 만들어둔 S3 Read권한이 부여된 builders-s3-read-role을 선택하고 저장 버튼을 클릭합니다.

다시 EC2 인스턴스에 접속하여, aws s3 ls 명령어를 입력하시면 이번에는 S3 버킷 리스트가 정상적으로 보이는 것을 확인하실 수 있습니다.

이것을 통해 인스턴스는 Role을 위임받아, 그 Role에 부여된 권한을 대신 수행할 수 있다는 것을 알 수 있습니다.

Last updated

Was this helpful?