[AWS 기초]IAM 기초

2024. 3. 7. 01:10AWS

 

쉽게 설명하는 AWS 기초 강좌 5 : IAM 기초
https://www.youtube.com/watch?v=lcly_aIq1KI&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&index=6

 

 

1. IAM 소개

AWS Identity and Access Management(IAM)를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있다.

또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부 할 수 있다.

누가, 언제, 어디서, 무엇을, 어떻게 할 수 있는가를 관리하는 것을 IAM 이라고 할 수 있다.

AWS 어카운트 관리 및 리소스/사용자/서비스의 권한 제어
- 서비스 사용을 위한 인증 정보 부여

사용자의 생성 및 관리 및 계정의 보안
- 사용자의 패스워드 정책 관리(일정 시간마다 패스워드 변경 등) 

다른 계정과의 리소스 공유
- Identity Federation(Facebook 로그인, 구글 로그인 등)

계정에 별명 부여 가능 → 로그인 주소 생성 가능

IAM은 글로벌 서비스(Region 별 서비스가 아님)

 

 

2. IAM 구성

사용자

→ 실제 AWS 를 사용하는 사람 혹은 애플리케이션을 의미
그룹

→ 사용자의 집합
→ 그룹에 속한 사용자는 그룹에 부여된 권한을 행사
정책(Policy)

→ 사용자와 그룹, 역할이 무엇을 할 수 있는지에 관한 문서
→ JSON(JavaScript Object Notation) 형식으로 정의

ex.  누가 언제 어디서 어떻게 왜 
역할(Role)

→ AWS 리소스에 부여하여 AWS 리소스가 무엇을 할 수 있는지를 정의
→ 혹은 다른 사용자가 역할을 부여 받아 사용
→ 다른 자격에 대해서 신뢰관계를 구축 가능
→ 역할을 바꾸어 가며 서비스를 사용 가능

 

  • JSON
JavaScript Object Notation

주로 다양한 프로그램 간에 데이터를 주고받기 위해 사용

매우 다양한 언어에서 언어 자체에서 지우너하거나 플러그인으로 사용 가능

키-값 으로 구성

 

 

  • IAM 구성

정책(언제/어디서/무엇을/어떻게/누가)을 "사용자/그룹/역할"에게 부여될 수 있고,
역할은 AWS의 여러 서비스에 붙어서 그 서비스들이 무엇을 할 수 있는가를 결정한다.

 

  • IAM의 권한 검증

ex) 사용자가 S3를 사용하고 싶을 경우

내가 위임된 역할 == 사용자가 역할을 위임받아 쓸 수 있다
                                 (그 역할에 S3를 사용할 수 있는 정책이 부여되있는지 체크)

* AWS 서비스는 역할을 부여받을 수 있다. 그 역할이 S3를 이용할 수 있는 정책이 붙어 있으면 OK

 

 

 

  • 사용자 종류
□ 루트 사용자
- 결제 관리를 포함한 계정의 모든 권한을 가지고 있음
- 관리 목적 이외에 다른 용도로 사용하지 않는 것을 권장
- 탈취 되었을 때 복구가 매우 어려움 → MFA 를 설정하는 것을 권장
- MFA(Multi-factor authentication) → 일회용 패스워드를 생성하여 로그인

□ IAM 사용자
- IAM을 통해 생성해서 사용하는 사용자
- 한 사람 혹은 하나의 애플리케이션을 의미
- 설정 시 콘솔 로그인 권한 부여 가능 → 애플리케이션같은 경우에는 콘솔 로그인이 필요없음
- 설정 시 AWS 서비스를 이용할 수 있음
   ■ Access Key
   ■ Secret Access Key
   ■ AdminAccess를 부여하더라도 루트 사용자로 별도의 설정을 하지 않으면 Billing 기능을 사용할 수 없음

 

활성화 시켜주면 IAM 유저에 AdminFullAccess 권한이 있다면 Billing 기능 사용할 수 있다.

 

  • IAM 자격 증명 보고서
계정의 모든 사용자와 암호, 액세스 키, MFA 장치 등의 증명 상태를 나열하는 보고서를 생성하고 다운로드 가능

4시간에 한 번씩 생성 가능

AWS 콘솔, CLI,  API 에서 생성 요청 및 다운로드 가능

□ 포함되는 정보
- 암호
   ■ 암호의 활성화 여부
   ■ 마지막으로 사용된 시간
   ■ 마지막으로 변경된 시간
   ■ 언제 변경되어야하는지
- 액세스 키
   ■ 액세스키 활성화 여부
   ■ 마지막으로 사용된 시간
   ■ 마지막으로 변경된 시간
   ■ 어떤 서비스에 마지막으로 사용되었는지
- 기타
   ■ MFA 사용 여부
   ■ 사용자 생성 시간

 

 

3. IAM 모범 사용 사례

루트 사용자는 사용하지 않기

불필요한 사용자가 만들지 않기

가능하면 그룹과 정책을 사용하기

최소한의 권한만으로 허용하는 습관을 만들기(Principle of least privilege)

MFA를 활성화 하기

AccessKey 대신 역할을 활용하기

IAM 자격 증명 보고서(Credential Report) 활용하기

'AWS' 카테고리의 다른 글

[AWS 기초]EC2 소개 및 맛보기  (1) 2024.03.07
[AWS 기초]가상화  (0) 2024.03.07
[AWS 기초]AWS 계정 만들기 및 첫 설정  (1) 2024.03.06
[AWS 기초]AWS의 구조  (0) 2024.03.06
[AWS 기초]클라우드 컴퓨팅의 종류  (0) 2024.03.06