
EC2 내부에 배포되어 있거나, 여러가지 소프트웨어들이 외부 AWS 다양한 서비스들을 사용(접근)할때 권한을 어떻게 가지고 연동하는지 알아보자~
EC2에 권한 부여
- IAM 자격 증명을 등록
- IAM 사용자를 생성하고 IAM 자격증명을 발급받아 EC2에 등록
- AWS Configure를 통해 자격 증명을 파일로 등록 (~/.aws/credentials)
- 관리가 어렵고 바꾸기가 힘들다는 단점이 있다.
- 예 : EC2 100대의 자격 증명을 교체해야 한다면 ..
- IAM 역할을 부여 - AWS에서 권장하는 방법
- 권한이 부여된 IAM 역할을 만들고 EC2에 부여
- 관리가 쉽고 교체가 쉽다.
- 내부적으로 지속적으로 자격증명을 변경할 수 있다.
- 뛰어난 보안성을 가진다
역할(Role)
Role은 특정 권한 집합이며, IAM 사용자는 해당 Role을 Assume하여 그 Role의 권한을 임시로 사용할 수 있다.
이는 권한을 직접 부여받는 것이 아니라, 필요할 때 다른 권한 세트를 전환하여 사용하는 방식을 뜻한다.

이러한 역할을 AWS에 서비스에도 동일하게 적용할 수 있다.

그래서 EC2에서 S3에 접근할 때 IAM 사용자의 Access Key를 직접 사용하는 방식은 보안상 위험할 수 있다. 대신 EC2에 S3 권한을 가진 IAM Role을 부여하고, 해당 Role을 통해 임시 자격증명을 사용하여 접근하는 것이 권장된다.


자격증명을 교체한다면?
여러 대의 EC2 인스턴스에서 Access Key를 사용하는 경우, 키를 교체하려면 모든 인스턴스에 접속하여 수동으로 변경해야한다.
반면 IAM Role을 사용하면 EC2에 부여된 Role의 Policy만 수정해도 모든 인스턴스에 자동으로 반영되므로 훨씬 효율적으로 관리할 수 있다.


권한을 부여해보자
- IAM 역할 생성
- EC2 생성 후 역할 연동
- AWS CLI를 활용하여 IAM 사용자 목록 출력
- Node.js 어플리케이션에서 IAM 사용자 목록 출력




새로운 EC2를 생성해준다.

EC2를 프로비저닝할때 '고급 세부정보' 에서 IAM 인스턴스 프로파일을 방금 생성한 역할을 선택한다.

간단한 node js를 설치하는 스크립트 유저데이터를 설정해준다

별도로 AccessKey를 설정하지 않았음에도 IAM User가 정상적으로 조회된다.
EC2인스턴스에 간단한 프로젝트를 넣고 코드를 통해 AccessKey와 secret없이 EC2에 부여된 역할로 IAM 유저를 조회해본다.
즉, EC2에 부여된 역할이 EC2 내에 있는 모든 어플리케이션에 권한을 주는지 확인하는것이다.


조회 결과가 잘 출력되는것을 확인할 수 있다!
'AWS' 카테고리의 다른 글
| [AWS] Elastic Load Balancer (1) | 2026.04.04 |
|---|---|
| [AWS] EC2 Autoscaling (0) | 2026.04.04 |
| [AWS] EC2 유저 데이터와 메타데이터 (0) | 2026.03.30 |
| [AWS] ENI 와 Elastic IP (0) | 2026.03.29 |
| [AWS] EC2 보안그룹 (0) | 2026.03.25 |