AWS IAM 정리

DevRocket·2025년 10월 7일

AWS SAA

목록 보기
1/6
post-thumbnail

IAM 정의

IAM (Identity and Access Management)
AWS 리소스(예: EC2, S3, RDS 등)에 접근할 수 있는 사용자와 권한을 관리하는 서비스다.

쉽게 말하면 “누가(AWS User, Role, Principal)가 무엇(Resource)에 어떤 방식으로(Action) 접근할 수 있는가”를 정의하는 시스템이다.


IAM의 핵심 목적

  1. 인증(Authentication)

    • 누가 로그인했는지를 식별
    • 예: 사용자, 애플리케이션, 외부 ID 제공자 등
  2. 인가(Authorization)

    • 인증된 사용자가 어떤 행동을 할 수 있는지 결정
    • 정책(Policy)을 통해 서비스별로 세밀하게 제어
  3. 보안 관리(Security Control)

    • MFA(다단계 인증), 임시 자격 증명(STS Token), 최소 권한 원칙(Least Privilege Principle) 등을 통해 계정 보안 강화
    • 사용자의 접근 권한 주기적 검토, 비활성 계정 관리, Access Key 회전(rotate)을 통해 용이한 유지보수

IAM 주요 구성요소

구성 요소설명예시
UserAWS에 로그인할 수 있는 개별 계정ex) dev_user, admin_user
Group여러 사용자를 묶어 동일한 권한 부여ex) Developers, Auditors
Role특정 서비스나 외부 사용자에게 임시 권한 부여ex) EC2 → S3 접근용 Role
Policy권한을 정의한 JSON 형식의 문서ex) "Action": "s3:*", "Resource": "*"
STS임시 자격 증명을 발급하는 서비스ex) AssumeRole, 연동 로그인 등

IAM Policy 구조 예시

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::example-bucket"
    }
  ]
}
  • Effect: Allow 또는 Deny
  • Action: 허용할 작업 (예: s3:GetObject)
  • Resource: 적용 대상 리소스
  • Condition: 특정 조건(IP, 시간대 등)

IAM의 역할 요약

역할설명
사용자 관리사람·애플리케이션 계정 생성 및 접근 제어
권한 제어리소스별 접근 정책 관리
보안 강화MFA, 비밀번호 정책, 세션 관리
교차 계정 접근Cross-account Role로 다른 계정 리소스 접근 가능

정리

IAM은 필요에 의해 “누가, 무엇에, 어떻게 접근할 수 있는가”를 정의하는 AWS의 권한 관리 시스템이다.

모든 AWS 서비스는 IAM 위에서 동작하며, 보안 설계의 첫 단계는 항상 IAM 구조를 올바르게 잡는 것이다.


0개의 댓글