본문 바로가기
DevOps/AWS

IAM(Identity and Access Management)

by Mecodata 2024. 9. 15.

정의

- 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

댓글