brunch

You can make anything
by writing

C.S.Lewis

by Dana Aug 15. 2023

[AWS] 2. AWS의 IAM 계정이란 무엇인가?

AWS - IAM 계정의 기초지식과 로직 이해하기


앞에서 배웠듯 IAM이란, AWS Identity Access Management 를 사용한 계정으로,

IAM 계정을 이용하면 AWS 서비스와 리소스에 대한 엑세스를 비교적 안전하게 관리할 수 있다. 


IAM의 주요기능

1. 사용자 생성 및 관리, 계정의 보안 설정

일정 시간마다 패스워드를 변경할 수 있는 정책을 설정하여 사용자의 PW 정책을 관리한다.

2. AWS 계정관리 및 리소스/사용자/서비스의 권한 제어

서비스 사용을 위한 인증정보를 부여하여 계정을 관리한다.

3. 다른 계정과의 리소스 공유


주의사항

IAM은 Region 별 서비스가 아닌 글로벌 서비스이므로, 

계정 생성 시 AWS 서비스 전체에 적용된다는 것을 알아두자.



IAM의 구성

IAM의 구성로직

IAM은 다음과 같이 네가지로 분류할 수 있다.


① 사용자

실제 AWS를 사용하는 사람 혹은 어플리케이션

② 그룹

사용자의 집합으로, 그룹에 속한 사용자는 그룹에 부여된 권한을 행사한다. 동일한 의미에서 같은 권한을 가진 사용자들을 하나의 그룹으로 묶어 관리한다. ex. 개발팀 그룹, 경영지원팀 그룹.. 

③ 정책

사용자와 그룹이 무엇을 할 수 있는가?를 정의하는 문서이다. 정책은 *JSON 형식으로 정의된다.

ex) 관리자는 모든 정보를 열람할 수 있다. 개발팀은 EC2 인스턴스만 만질 수 있다. 회계팀은 S3의 회계자료를 열람만 할 수 있다. 등 ..

④ 역할

AWS 리소스에 부여하여 AWS 리소스가 무엇을 할 수 있는가에 대해 정의한다. 


* JSON이란?
Java Script Object Notation의 약자로, 주로 다양한 프로그램에서 프로그램 간 데이터를 주고 받기 위해 사용한다. 




IAM 로직파악 - 권한 검증

IAM의 권한검증 로직


만약 사용자가 특정 서비스를 사용하고 싶어할 경우,

IAM은 위와 같이 사용자 → 그룹 → 역할 순서의 로직으로 권한을 검증한다.


 

IAM 기능파악 - 자격증명 보고서

IAM의 자격증명 보고서란, 암호, 엑세스 키, MFA장치 등 IMA 계정의 현재 상황을 자세하게 볼 수 있다.

- 암호 : 암호의 활성화 여부, 마지막으로 사용/변경된 시간, 언제 변경이 필요한지

- 엑세스 키 : 엑세스 키 활성화 여부, 마지막으로 사용/변경된 시간, 어떤 서비스에 마지막으로 사용되었는지

- 기타 : MFA 사용여부, 사용자 생성시간

등의 정보들을 포함하고 있으며,  AWS콘솔, CLI, API에서 생성 요청 및 다운로드가 가능하다.

+ IAM 자격증명 보고서는 4시간에 1회만 다운로드 가능, 다운로드 받은 파일은 4시간동안 저장된다.


IAM, 사용 시 주의하자!

- 루트 사용자는 관리용으로만, 실제 작업은 IAM 사용자로 진행하기

- 관리의 용이함을 위해 불필요한 사용자는 만들지 않기

- 가능하면 그룹과 정책을 사용해 유저들을 관리하기

- 최소한의 권한만을 사용하는 습관을 들이기

    → 보안 측에서 매우 중요시 여기는 Principle of least privilege! 필요하지 않은 권한은 줄 필요가 없다.

- MFA를 활성화 하기

- Access key 대신에 역할을 활용하기 

- IAM 자격증명보고서를 활용하여 IAM 계정의 상태를 주기적으로 확인하기 

작가의 이전글 [AWS] 1. AWS 클라우드의 기초개념과 구조파악
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari