AWS IAM
▶아키텍처 다이어그램
점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
여러 사람과 서비스가 AWS 자원에 접근하는데 공용 계정이나 장기 액세스 키를 공유하면 사고가 나기 쉽습니다. 누가 무엇을 할 수 있는지 세밀하게 통제할 방법이 필요합니다.
IAM은 사용자, 그룹, 역할, 정책을 조합해 권한을 정의합니다. 사람은 콘솔과 CLI 접근 권한을 받고, 서비스는 역할을 맡아 임시 자격증명으로 다른 AWS 자원에 접근합니다.
IAM과 Cognito는 둘 다 인증처럼 보이지만 대상이 다릅니다. IAM은 AWS 계정 안의 사람과 서비스 권한을 다루고, Cognito는 애플리케이션 최종 사용자의 로그인과 토큰 발급을 다룹니다.
Cognito
사용자 인증 및 권한 부여
둘 다 인증처럼 보이지만 IAM은 AWS 내부 사용자와 서비스 권한을 다루고, Cognito는 애플리케이션 최종 사용자의 로그인과 토큰을 다룹니다.
VPC
가상 네트워크 격리
둘 다 보안에 쓰이지만, IAM은 누가 어떤 AWS 작업을 할 수 있는지 통제하고 VPC는 리소스가 어떤 네트워크 경계 안에서 통신할지 통제합니다.
KMS
암호화 키 관리
둘 다 보안 서비스지만, IAM은 누가 어떤 리소스에 접근할 수 있는지 정하고 KMS는 그 데이터를 어떤 키로 암호화할지 정합니다.
WAF
웹 애플리케이션 방화벽
둘 다 보안 서비스지만, IAM은 자격증명 기반으로 AWS 리소스 접근을 통제하고 WAF는 공개 엔드포인트로 들어오는 HTTP 요청 자체를 필터링합니다.
초기에는 루트 계정이나 고정 키를 여러 곳에서 함께 쓰는 관행이 많았지만, 이런 방식은 사고가 나면 추적과 회수가 어렵습니다. 그래서 역할 기반 접근 제어와 임시 자격증명을 중심으로 한 IAM이 기본 보안 모델이 됐습니다.
팀 권한 분리, 서비스 간 호출, 배포 파이프라인 권한, 리소스별 최소 권한 설계에 적합합니다. 앱 사용자의 로그인·회원가입이나 데이터 암호화 키 관리는 IAM의 범위가 아닙니다.
더 깊게 보기
현재 페이지의 개념 설명을 본 뒤 공식 문서로 바로 이동합니다.