IAM
AWS Identity and Access Management(IAM)를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게
관리
할 수 있습니다. 또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부
할 수 있습니다.- AWS 어카운트 관리 및 리소스/사용자/서비스의 권한 제어
- 서비스 사용을 위한 인증 정보 부여
- 사용자의 생성 및 관리 및 계정의 보안
- 사용자의 패스워드 정책 관리(일정 시간마다 패스워드 변경 등)
- 다른 계정과의 리소스 공유
- Identity federation(Facebook 로그인, 구글 로그인 등)
- 계정에 별멍 부여 가능 → 로그인 주소 생성 가능
- IAM은 글로벌 서비스 (Region별 서비스가 아님)
IAM 구성
IAM의 권한 검증
ex) 사용자가 S3를 사용하고 싶을 경우
ex) Lambda에서 S3 서비스를 이용하고 싶을 경우
사용자의 종류
- 루트 사용자: 결제 관리를 포함한 계정의 모든 권한을 가지고 있음
- 관리 목적 이외에 다른 용도로 사용하지 않는 것을 권장
- 탈취 되었을 때 복구가 매우 어려움 → MFA를 설정하는 것을 권장
- MFA(Multi-factor authentication): 일회용 패스워드를 생성하여 로그인
- IAM 사용자: IAM을 통해 생성해서 사용하는 사용자
- 한 사람 혹은 하나의 어플리케이션을 의미
- 설정 시 콘솔 로그인 권한 부여 가능
- 설정 시 AWS 서비스를 이용할 수 있음
- Access Key
- Secret Access Key
IAM 자격 증명 보고서
- 계정의 모든 사용자와 암호, 액세스 키, MFA 장치등의 증명 상태를 나열하는 보고서를 생성하고 다운로드 가능
- 4시간에 한번씩 생성 가능
- AWS 콘솔, CLI, API에서 생성 요청 및 다운로드 가능
- 포함되는 정보
IAM 모범 사용 사례
- 루트 사용자는 사용하지 않기
- 불필요한 사용자는 만들지 않기
- 가능하면 그룹과 정책을 사용하기
- 최소한의 권한만을 허용하는 습관을 들이기 (Principle of least priviledge)
- MFA를 활성화 하기
- AccessKey 대신 역할을 활용하기
- IAM 자격 증명 보고서 (Credential Report) 활용하기