AWS IAM이란
AWS IAM이란 (What is IAM?)
AWS 계정을 만들면 처음에는 root 사용자 하나가 모든 리소스에 완전한 접근권을 가져요. 그런데 실무에선 그 힘을 여러 사람·워크로드에게 안전하게 나눠줘야 해요. AWS Identity and Access Management(IAM)가 바로 그 접근 통제를 담당하는 웹 서비스예요.
출처: https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html
IAM은 "누가 인증(로그인)됐고, 누가 인가(권한)를 받았는지"를 통제해요. AWS 리소스에 대한 접근 권한을 관리해서, 어떤 사용자가 어떤 리소스에 접근할 수 있는지 제어해요.
계정을 만들면 root 사용자라는 로그인 아이덴티티 하나가 모든 서비스·리소스에 완전한 접근권을 가져요. AWS는 root 사용자를 일상 작업에 쓰지 말라고 강력히 권장해요. 대신 IAM으로 관리자·분석가·개발자 같은 아이덴티티를 추가로 만들고, 그들이 맡은 일에 필요한 리소스 접근을 부여해요.
동작 흐름은 이래요. IAM에서 사용자를 설정하면 그 사용자는 자격증명으로 AWS에 인증해요. 인증은 로그인 자격증명을, 계정이 신뢰하는 principal(IAM 사용자, AWS STS 연합 principal, IAM 역할, 애플리케이션)과 대조해서 이뤄져요. 그다음 특정 서비스를 고르면 그 서비스가 권한 부여 요청을 받아, 사용자가 권한 있는 사용자 목록에 있는지, 어떤 정책이 적용되고 있는지 확인해요. 인가되면 principal이 리소스에 대해 작업(예: EC2 인스턴스 시작, S3 버킷 삭제)을 수행할 수 있어요.
요청은 **기본적으로 거부(deny by default)**로 시작해요. root 사용자는 기본적으로 전체 접근을 갖는 예외지만, 일반 principal은 해당 요청의 모든 부분이 적용 가능한 정책에 의해 허용될 때만 인가돼요.
더 알아보기
- 접근 관리 개요: Access management for AWS resources
- 아이덴티티(사용자·그룹·역할): IAM Identities