이 글은 유튜브 AWS 강의실 채널의 "쉽게 설명하는 AWS 기초강좌"의 내용을 정리한 글입니다
AWS Identity and Access Management(IAM)을 사용하면 AWS서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있습니다
또한, AWS 사용자 및 그룹을 만들고, 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있습니다
IAM 소개
- AWS 어카운트 관리 및 리소스/사용자/서비스의 권한 제어
- 사용자의 생성 및 관리 및 계정의 보안
- 사용자의 패스워드 정책 관리(일정 시간마다 패스워드 변경)
- 다른 계정과의 리소스 공유
- Identity Federation(Facebook 로그인, 구글 로그인)
- 계정에 별명 부여 가능 > 로그인 주조 생성 가능
- IAM은 글로벌 서비스 (Region별 서비스가 아님)
IAM 구성
- 사용자
a. 실제 AWS를 사용하는 사람 혹은 어플리케이션 의미
- 그룹
a. 사용자의 집합
b. 그룹에 속한 사용자는 그룹에 부여된 권한을 행사
- 정책(policy)
a. 사용자와 그룹, 역할이 무엇을 할 수 있는지에 관한 문서
b. JSON형식으로 정의
- 역할(role)
a. AWS 리소스에 부여해서, AWS 리소스가 무엇을 할 수 있는지를 정의
b. 혹은 다른 사용자가 역할을 부여 받아 사용
c. 다른 자격에 대해서 신뢰관계를 구축 가능
d. 역할을 바꾸어가며 서비스를 사용 가능
IAM 자격 증명 보고서
- 계정의 모든 사용자와 암호, 액세스 키, MFA 장치 등의 증명 상태를 나열하는 보고서를 생성 및 다운로드 가능
- 4시간에 1번 씩 생성 가능
- AWS 콘솔, CLI, API에서 생성 요청 및 다운로드 가능
- 포함되는 정보
암호 | 액세스 키 | 기타 |
---|
암호의 활성화 여부 | 액세스 키 활성화 여부 | MFA 사용 여부 |
마지막으로 사용된 시간 | 마지막으로 사용된 시간 | 사용자 생성 시간 |
마지막으로 변경된 시간 | 마지막으로 변경된 시간 | |
언제 변경되어야 하는지 | 어떤 서비스에서 마지막으로 사용되었는지 | |
생성 방법
1. Security credentials 탭
2. Access reports > Credential report
3. download credential report 클릭
4. csv 파일이 다운로드 됨
IAM 모범 사용 사례
- 루트 사용자는 사용하지 않기
- 불필요한 사용자는 만들지 않기
- 가능하면 그룹과 정책을 사용하기
- 최소한의 권한 만을 허용하는 습관 들이기(Principle of least priviledge)
- MFA를 활성화 하기
- AccessKey 대신 역할을 활용하기
- IAM 자격증명 보고서 활용하기