AWS 계정을 처음 만들면 모든 권한을 가진 루트 사용자가 생깁니다. 이 계정으로 모든 일을 하고 싶겠지만, 이는 매우 위험한 습관입니다.
IAM(Identity and Access Management)은 "누가, 무엇에, 어떻게 접근할 수 있는지"를 관리하는 서비스입니다. AWS 보안의 첫 번째 관문입니다.
---
회사 출입증 시스템에 비유하면
큰 회사의 건물을 떠올려봅시다. 모든 직원이 같은 만능 출입증을 쓴다면 어떨까요? 인턴이 실수로 서버실에 들어가거나, 퇴사한 직원이 여전히 금고에 접근할 수 있게 됩니다.
IAM은 직원마다 딱 필요한 만큼만 출입 권한을 부여하는 시스템입니다. 인턴은 사무실만, 개발자는 개발 서버만, 관리자는 전체 시스템에 접근할 수 있게 합니다.
---
IAM의 4가지 핵심 구성 요소
!IAM 핵심 구성 요소 4가지: 사용자, 그룹, 역할, 정책
사용자 (User)
AWS에 접근하는 개별 사람이나 애플리케이션입니다. 각 사용자는 자신만의 고유한 로그인 정보(비밀번호 또는 액세스 키)를 갖습니다.
중요: 루트 사용자와 일반 IAM 사용자는 다릅니다. 루트 사용자는 모든 것을 할 수 있는 최고 관리자 계정입니다. 일상 업무에는 절대 사용하면 안 됩니다.
---
그룹 (Group)
같은 역할을 하는 여러 사용자를 묶어서 권한을 한꺼번에 관리합니다.
예를 들어, "개발팀" 그룹을 만들고 EC2 접근 권한을 부여하면, 그 그룹에 속한 개발자 10명이 자동으로 같은 권한을 갖게 됩니다. 새 개발자가 입사하면 그룹에 추가하기만 하면 됩니다. 권한을 하나하나 설정할 필요가 없습니다.
---
역할 (Role)
임시로 권한을 빌려주는 방식입니다. 사람뿐 아니라 AWS 서비스 자체에도 부여할 수 있습니다.
예를 들어, EC2 서버(가상 컴퓨터)가 S3 저장소에 파일을 올려야 한다고 해봅시다. 서버 자체는 사람이 아니니 비밀번호를 줄 수 없습니다. 이때 역할을 부여합니다.
역할은 "임시 출입증"에 비유할 수 있습니다. 외부 방문객에게 하루짜리 출입증을 주는 것처럼, 필요할 때만 쓰고 끝나면 자동으로 만료됩니다.
---
정책 (Policy)
"무엇을 할 수 있고, 무엇을 할 수 없는지"를 정의한 규칙입니다. JSON 형식으로 작성됩니다.
사용자, 그룹, 역할에 정책을 붙여서 권한을 부여합니다. "S3 버킷 읽기는 허용하지만 삭제는 금지"처럼 세밀하게 설정할 수 있습니다.
---
반드시 지켜야 할 보안 습관 3가지
루트 사용자 잠금: 루트 사용자로 일상 업무를 하지 마세요. 루트 사용자는 계정 생성 직후 MFA를 설정하고, 잠가두는 것이 원칙입니다.
최소 권한 원칙: 각 사용자에게 업무에 꼭 필요한 최소한의 권한만 줍니다. 개발자에게 프로덕션 데이터베이스 삭제 권한을 줄 이유가 없습니다.
MFA(다단계 인증) 활성화: 비밀번호만으로는 부족합니다. 스마트폰 OTP 앱 같은 추가 인증 수단을 더하면 보안이 훨씬 강해집니다. 비밀번호가 유출되어도 계정을 지킬 수 있습니다.
---
함께 알아두면 좋은 관련 서비스
| 서비스 | 하는 일 | |--------|--------| | IAM Identity Center (SSO) | 여러 AWS 계정에 한 번의 로그인으로 접근 가능 | | AWS STS | 임시 보안 자격 증명을 발급해주는 서비스 | | Amazon Cognito | 모바일 앱이나 웹사이트의 사용자 로그인을 관리 | | AWS Secrets Manager | 비밀번호, API 키 같은 민감 정보를 안전하게 저장 |
---
시험 핵심 정리
"일상 업무에 루트 사용자 사용 금지" -- 가장 중요한 보안 원칙
"필요한 최소한의 권한만 부여" -- 최소 권한 원칙 (Principle of Least Privilege)
"여러 사용자에게 같은 권한을 쉽게 관리" -- 그룹 사용
"AWS 서비스가 다른 AWS 서비스에 접근" -- 역할(Role) 사용
"임시 자격 증명 발급" -- AWS STS 또는 역할
"비밀번호 + 추가 인증" -- MFA
"여러 계정에 한 번에 로그인" -- IAM Identity Center (SSO)
정책(Policy)은 JSON 형식으로 작성됨
역할은 AWS 서비스, 다른 계정 사용자, 외부 자격 증명(연동)에도 부여 가능