Conceptly
← 전체 목록
🔐

AWS IAM

보안접근 권한 관리

IAM은 사람과 AWS 서비스가 어떤 리소스에 어떤 방식으로 접근할 수 있는지 정하는 권한 계층입니다. 사용자, 역할, 정책을 묶어 콘솔·CLI·서비스 호출의 허용 범위를 통제합니다.

아키텍처 다이어그램

🔗 관계 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

팀원이 늘고 자동화도 붙는데 같은 액세스 키를 여러 곳에서 돌려 쓰면, 사고가 나도 누가 어떤 권한으로 무엇을 했는지 추적하기 어렵습니다. 서비스마다 필요한 권한만 좁혀 주지 못하면 작은 스크립트 하나가 계정 전체 위험으로 번집니다.

왜 이런 방식이 등장했나요?

초기에는 루트 계정이나 고정 키를 여러 곳에서 함께 쓰는 관행이 많았지만, 이런 방식은 사고가 나면 추적과 회수가 어렵습니다. 그래서 역할 기반 접근 제어와 임시 자격증명을 중심으로 한 IAM이 기본 보안 모델이 됐습니다.

안에서 어떻게 동작하나요?

IAM은 사용자, 그룹, 역할, 정책을 분리해두는 방식으로 최소 권한 원칙을 구현합니다. 사람은 사용자 계정을 통해 콘솔과 CLI에 접근하고, 공통 권한은 그룹으로 묶어 사용자에 붙입니다. 서비스는 사람 계정 대신 역할을 맡아 임시 자격증명으로 필요한 리소스에만 접근합니다. 이 구조 덕분에 Lambda 함수는 S3 읽기 권한만 있는 역할을 부여받고 그 이상은 시도조차 할 수 없게 됩니다. 정책은 JSON으로 어떤 서비스의 어떤 작업을 어떤 리소스에 허용할지 명시하므로, 필요한 범위 이상을 열어줬는지 코드처럼 검토하고 관리할 수 있습니다. 이 분리 구조가 없으면 공유 키 하나가 유출될 때 계정 전체가 노출되지만, 역할과 최소 정책이 조합되면 사고 범위가 그 역할에 허용된 작업으로만 제한됩니다.

언제 쓰나요?

팀 권한 분리, 서비스 간 호출, 배포 파이프라인 권한, 리소스별 최소 권한 설계, 멀티계정 AWS 접근 통제에 적합합니다. 최종 사용자 로그인 흐름을 직접 제공하거나 데이터 암호화 키 자체를 관리하는 계층은 아닙니다.

최소 권한 원칙교차 계정 접근서비스 간 인증임시 자격 증명