전체 그래프
AWS

AWS IAM

cloudawssecurityiam

상위: AWS

요약

AWS Identity and Access Management(IAM)는 AWS 계정 내에서 누가(주체) 무엇을(리소스) 어떻게(작업) 할 수 있는지를 중앙에서 관리하는 서비스. 모든 AWS 보안의 출발점.

핵심 구성 요소

  • IAM User: 개별 사용자. AWS 리소스 접근 자격증명(액세스 키, 콘솔 비밀번호) 보유
  • IAM Group: User를 묶어 정책을 일괄 적용 (예: developers, admins)
  • IAM Policy: 어떤 주체에 어떤 작업이 허용/거부되는지 정의하는 JSON 문서 (Effect/Action/Resource 구조)
  • IAM Role: 자격증명을 심지 않고 임시로 권한을 위임받는 장치. EC2·Lambda 같은 서비스가 다른 서비스에 접근할 때 사용

실무 원칙

  • 최소 권한(Least Privilege): 필요한 작업·리소스만 명시적으로 허용. * 권한은 지양
  • 키 대신 Role: EC2에 액세스 키를 하드코딩하지 말고 인스턴스 프로파일(Role)로 부여 — 키 유출 사고의 대부분이 하드코딩에서 발생
  • 루트 계정 봉인: 루트는 MFA 걸고 일상 작업에 사용 금지

예시 정책

{
  "Effect": "Allow",
  "Action": ["s3:GetObject"],
  "Resource": "arn:aws:s3:::my-bucket/*"
}

특정 버킷의 객체 읽기만 허용 — 이 이상은 전부 기본 거부.

관련 노트