[AWS SAA] IAM(Identity and Access Management)

시훈·2025년 3월 19일

AWS SAA

목록 보기
1/43



AWS를 활용할 때 가장 먼저 고민해야 할 사항 중 하나가 보안이다. 특히 다양한 서비스와 리소스를 효율적으로 운영하려면, 각 사용자가 어떤 서비스에 어느 정도로 접근할 수 있는지 세밀하게 제어할 수 있어야 한다.

IAM(Identity and Access Management)은 이를 가능하게 해주는 핵심 서비스다. 이 글에서는 IAM의 주요 개념과 특징을 살펴보고, AWS SAA 시험 대비 관점에서 어떤 점들을 주의해야 하는지 함께 알아보겠다.

1. IAM의 기본 개념

1-1. 사용자(User)

개별 계정을 의미하며, AWS 리소스에 직접 로그인해 작업한다.
사용자에게는 필요한 권한만 부여해야 하며, 루트 계정 대신 IAM 사용자 계정을 활용하는 것이 바람직하다.

1-2. 그룹(Group)

사용자를 묶는 단위다. 여러 사용자에게 공통된 권한을 부여할 때 유용하다.
예: 개발자 그룹, 운영자 그룹, QA 그룹 등으로 나누어 관리하면 권한 할당이 간편해진다.

1-3. 역할(Role)

AWS 서비스나 외부 애플리케이션이 AWS 리소스에 접근하도록 할 때 사용한다.
예: EC2 인스턴스에 역할을 부여하면, 해당 인스턴스에서 실행되는 애플리케이션은 별도의 Access Key 없이도 권한을 부여받아 S3, DynamoDB 등에 접근할 수 있다.

1-4. 정책(Policy)

JSON 문서 형태로, ‘누가, 어떤 리소스에, 어떤 동작을 할 수 있는가?’를 정의한다.
AWS가 미리 제공하는 관리형 정책(Managed Policy)도 있고, 상황에 맞춰 직접 작성하는 커스텀 정책도 있다.

2. IAM의 주요 특징

중앙집중식 관리

IAM 콘솔에서 모든 사용자∙그룹∙역할을 한 번에 관리할 수 있다. 이는 권한을 부여하거나 회수할 때, 혹은 보안 점검을 할 때 유리하다.

최소 권한 원칙(Least Privilege Principle)

사용자가 수행해야 하는 작업에 필요한 권한만 부여하는 것이 핵심이다. 과도한 권한은 보안 위험을 초래하므로 지양해야 한다.

MFA(Multi-Factor Authentication) 지원

비밀번호 외에 OTP 같은 추가 인증을 사용해 로그인 보안을 강화할 수 있다. 특히 관리자 권한 사용자에게는 필수적이다.

모니터링 및 로깅

AWS CloudTrail과 연동하면, 누가 어떤 작업을 했는지 추적 가능하다. 보안 사고가 발생해도 빠르게 원인을 찾을 수 있다.

3. AWS SAA 시험 대비 관점

AWS SAA 시험에서는 IAM을 어떻게 구성하고 적용하는지 묻는 시나리오형 문제가 자주 등장한다. 예를 들어, 특정 EC2 인스턴스가 S3 버킷에 접근해야 하는 상황을 제시하고, 어떻게 권한을 부여해야 하는지를 묻는 식이다.

3-1. 자주 나오는 시나리오

  • EC2에서 다른 서비스 접근: 인스턴스 역할(Role)을 사용하면, 애플리케이션이 Access Key를 직접 관리하지 않고도 해당 서비스에 접근할 수 있다.

  • 크로스 계정 액세스: 여러 AWS 계정 간 리소스 접근이 필요할 때는 역할과 신뢰 정책(Trust Policy)을 구성해 안전하게 접근 권한을 전달한다.

  • 정책 구성 이해: IAM 정책의 Effect, Action, Resource 등을 통해 세밀하게 권한을 설정할 수 있어야 한다.

3-2. 보안 모범 사례(Best Practices)

  • 루트 계정 사용 자제: 루트 계정으로 해야만 하는 작업(예: 결제 정보 변경 등) 외에는 별도의 관리자 계정을 만들어 사용한다.
    비밀번호 정책 강화: 비밀번호 복잡도, 만료 주기, 재사용 제한 등을 설정해 보안을 높인다.

  • MFA 적용: 관리자 권한을 지닌 계정이나 중요한 역할을 맡은 계정에는 반드시 MFA를 활성화한다.

  • 주기적 감사: 사용하지 않는 사용자, 역할, 정책을 정기적으로 정리한다. 시험 문제에서도 ‘어떤 사용자가 더 이상 필요 없는 권한을 갖고 있다’는 시나리오가 종종 제시된다.

4. IAM 활용 예시

4-1. 개발자 그룹 생성 및 정책 할당

개발자 그룹을 만든 뒤, EC2 인스턴스 확인, S3 버킷 읽기 같은 개발 업무에 필요한 정책을 연결한다.
개발자 그룹에 해당 사용자를 추가하면, 자동으로 정책에 정의된 권한을 부여받는다.

4-2. EC2 인스턴스 역할(Role) 할당

S3 Full Access 같은 정책을 가진 역할(Role)을 생성한다.
EC2 인스턴스를 실행할 때 해당 역할을 연결하면, 인스턴스에서 동작하는 애플리케이션은 별도 Access Key 없이 S3에 접근할 수 있다.
시험 시나리오로도 자주 등장하는 형태이므로, IAM 역할을 통해 서비스 접근 권한을 부여하는 방식을 확실히 이해해두어야 한다.

5. 정리 및 결론

AWS IAM은 클라우드 환경에서 권한 관리를 담당하는 핵심 서비스이며, SAA 시험에서도 중요하게 다뤄진다. 사용자∙그룹∙역할∙정책을 통해 AWS 리소스에 대한 접근 권한을 세밀하게 제어할 수 있고, MFA, CloudTrail 등과 연계해 보안을 한층 강화할 수 있다.

⚠️추가로 IAM은 리전 기반 서비스가 아닌 글로벌 서비스이다!

profile
Backend Developer / Cloud Engineer

0개의 댓글