정의
- AWS에서 제공하는 사용자 접근 권한 관리 서비스
- AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스(RDS, S3, EC2 등)에 대한 액세스를 허용 및 거부 설정함으로서 전반적인 사용자 관리를 할 수 있도록 해줌
- 단순히 엑세스 권한 설정 뿐만 아니라 언제 어디서 누가 무엇을 어떻게 할 수 있도록 제안을 설정할 수도 있음
- AWS는 AWS 리소스에 대한 접근 권한을 기본적(default)으로 미부여하도록 설정되어 있어 AWS의 특정 리소스를 접근하려면 IAM을 통해 권한을 허용해줘야 함
구성 요소
사용자(User)
- AWS의 기능과 자원을 이용하는 사람 혹은 어플리케이션
- 각 사용자 별로 권한을 부여할 수 있음
ex) A - S3, B - RDS, C - EC2, D - S3, EC2, E - S3, EC2, RDS
그룹(Group)
- 다수의 사용자의 모임
- 하나의 그룹에 여러명의 사용자를 지정하여 공통적으로 권한을 설정할 때 유용함
- 하나의 사용자는 최대 10개의 그룹에 속할 수 있음
ex) 그룹 A - S3, 그룹 B - RDS, 그룹 C - S3, EC2, RDS
역할(Role)
- 리소스에 대한 액세스 권한이 없는 사용자나 서비스에게 일시적으로 권한을 위임 하는 것 (일종의 임시 자격 증명서)
- 여러 권한들을 하나의 역할로 묶어 그룹이나 사용자에게 역할을 부여하는 방식으로 사용
- 언제든지 접근 권한 회수가 가능하며 각 사용자가에게 매번 필요한 권한을 일일이 부여할 필요가 없다는 장점을 가짐
정책(Policy)
- AWS에서 권한을 정의하는 JSON 문서
- 하나 이상의 리소스에 대해 어떤 작업을 수행할 수 있는지 허용 규칙을 정의
- 정책에 대한 판별하는 상황일 경우 사용자 → 그룹 → 역할 순으로 판별
ex) 사용자 A, 정책 P에 대해서
A가 P를 부여받았는지 → 아니라면 A가 속한 그룹들 중에서 P를 부여받은게 있는지 → 아니라면 A에게 위임된 역할들 중에서 P를 부여받은게 있는지 → 이마저도 아니라면 A는 권한 없음으로 판별되어 접근 거부
'DevOps > AWS' 카테고리의 다른 글
S3(Simple Storage Service) (0) | 2024.09.14 |
---|---|
RDS(Relational Database Service) (0) | 2024.09.13 |
EC2(Elastic Compute Cloud) (0) | 2024.09.12 |
댓글