IAM은 "Identity and Access Management"의 약자입니다. 이는 AWS 리소스에 대한 엑세스를 안전하게 관리할 수 있도록 돕는 일종의 장치라 볼 수 있습니다. IAM을 통해 AWS 사용자와 사용자를 포함하는 그룹을 만들고, 특정 리소스에 대한 액세스를 허용하거나 거부할 수 있습니다. 이름 때문에 처음에 볼때는 계정 안정장치 같지만, 결국 AWS 내에서 '누가 언제 무엇을 어떻게 할 수 있는가?' 를 결정하고 관리하는 서비스라 볼 수 있습니다.
2. IAM의 주요 구성 요소
사용자 : AWS를 실제로 사용하는 사람이나 애플리케이션.
그룹 : 사용자의 집합, 그룹에 속한 사용자는 그룹에 부여된 권한을 가질 수 있습니다.
정책 : 사용자, 그룹 및 역할이 무엇을 할 수 있는지 문서로 정리한 걸 뜻합니다.
역할 : AWS 리소스나 다른 사용자에게 부여할 수 있는 권한을 설정함
3. 정책과 역할
정책(사용자들의 역할 정리)는 JSON(JavaScript Object Notation)을 통해 상세하게 명령을 내릴 수 있습니다. 예를 들어, '개발팀은 업무시간(10시~19시)에만 특정 *S3 버킷을 열람할 수 있다'는 세부적인 규칙을 정할 수도 있습니다.
*S3 버킷 - AWS에서 제공하는 객체 저장 서비스인 S3에 데이터를 저장하는 기본 컨테이너. 버킷은 파일들과 파일에 대한 메타 데이터를 포함하고 있다.
AWS에서는 EC2, S3, RDS 와 같은 다양한 서비스와 리소스를 제공합니다. IAM을 이용하면 이러한 서비스에 대한 접근을 제어할 수 있는 것이죠. 예를 들어, 특정 EC2 인스턴스에서는 오직 시스템 관리자만 접근할 수 있도록, 특정 S3버킷에서는 개발팀만 접근할 수 있도록 설정할 수 있습니다.
예시
시스템 관리자만이 EC2 인스턴스를 시작하거나 중지할 수있도록 IAM 정책을 설정할 수 있습니다.