5. IAM 기초

728x90
반응형

본 강의는 유튜브 채널 AWS 강의실 님의 AWS 기초 강좌를 정리한 항목이다.

출처 : https://www.youtube.com/watch?v=lcly_aIq1KI

 

 

IAM(Identity and Access Management)를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있다. 또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있다.

IAM은

· AWS 어카운트 관리 및 리소스 or 사용자 or 서비스의 권한을 제어한다.

· 서비스 사용을 위한 인증 정보 부여

· 사용자의 생성 및 관리 및 계정의 보안

· 사용자의 패스워드 정책 관리(일정 시간마다 패스워드 변경 등)

· 다른 계정과의 리소스 공유

· Identity Federation (Facebook 로그인, 구글 로그인 등)

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

· IAM은 글로벌 서비스 (Region별 서비스가 아님, 한번 만들면 AWS 전체에 적용됨)

IAM은 총 4가지의 요소로 이루어져 있다.

· 사용자

· 실제 AWS를 사용하는 사람 혹은 어플리케이션 (어플리케이션도 사용자가 될 수 있다.)

· 그룹

· 사용자의 집합 (ex. 관리자 그룹, 개발자 그룹, 디자이너 그룹)

· 그룹에 속한 사용자는 그룹에 부여된 권한을 행사

· 정책

· 사용자와 그룹, 역할이 무엇을 할 수 있는지에 관한 문서

· JSON 형식으로 정의

· 역할

· AWS 리소스에 부여하여 AWS 리소스가 무엇을 할 수 있는지를 정의

· 혹은 다른 사용자가 역할을 부여 받아 사용

· 다른 자격에 대해서 신뢰관계 구축 가능

· 역할을 바꾸어 가며 서비스를 사용 가능

모든 것은 정책(누가 언제 무엇을 어디서 어떻게 할 수 있는가)으로 결정이 된다.

이 정책이 사용자 혹은 그룹에게 부여가 되고 그룹에 속한 사용자들은 해당 정책을 공유한다.

혹은 역할에게 부여가 된다. 역할은 AWS의 여러 서비스(EC2, LAMBDA 등)에 붙어서 이 서비스들이 무엇을 할 수 있는가를 결정한다.

IAM이 권한을 어떻게 검증하는지 예시를 통해 알아보자.

사용자가 S3를 사용하고 싶은 경우

먼저, 사용자가 자신에게 S3를 이용할 수 있는 정책이 부여되어있는가를 확인한다. 여기서 부여되어있으면 바로 사용 가능하다.

만약 정책이 부여되어 있지 않으면, 내가 속한 그룹에게 정책이 부여되어있는지를 확인한다.

만약 그룹에도 정책이 부여되어있지 않으면 자신에게 위임된 역할에 S3를 이용할 수 있는 정책이 부여되어있는지를 확인한다.

lambda에서 S3를 사용하고 싶은 경우라는 예시를 하나 더 봐보자.

lambda가 부여 받은 역할이 S3를 이용할 수 있는 정책이 붙어있는지를 확인한다. 역할은 서비스에 붙는다. 만약 부여 받은 역할에 정책이 붙어있다면 lambda도 S3를 이용할 수 있는 권한이 생기게 된다.

IAM 구성 요소 중의 사용자가 어떤 종류가 있는지 알아보자.

  1. 루트 사용자 : 결제 관리를 포함한 계정의 모든 권한을 가지고 있다.

· 관리 목적 이외에 다른 용도로 사용하지 않는 것을 권장

· 왜냐하면 탈취 되었을 때 복구가 매우 어렵기 때문이다(계정 삭제 밖에 답이 없 는 수준;;). 그러므로 MFA를 설정하는 것을 권장한다.

· MFA(Multi-Factor Authentication) : 일회용 패스워드를 생성하여 로그인

2. IAM 사용자 : IAM 서비스를 통해 생성해서 사용하는 사용자

· 한 사람 혹은 하나의 어플리케이션을 의미한다.

· 설정 시 콘솔 로그인 권한 부여 가능 (설정 안하면 컨설 로그인 못함, 어플리케 이션의 경우 콘솔 로그인 필요X)

· 설정 시 AWS 서비스를 이용할 수 있음 (마찬가지로 설정 안하면 서비스 이용 불가)

· AWS를 이용할 때 2가지가 있다.

· Access Key (유저 이름)

· Secret Access Key (패스워드)

· AdminAccess를 부여하더라도 루트 사용자가 별도의 설정을 하지 않으면 Billing 기능을 사용할 수 없음(즉, 결제 불가능. 근데 루트 사용자가 설정해주 면 가능하다.)

IAM 자격 증명 보고서란 쉽게 말해 IAM의 현재 상황을 알려주는 보고서이다.

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

· 4시간에 한번 씩 생성 가능하다

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

포함되는 정보는 암호와 액세스 키, 기타 등등이 있다.

· 암호

· 암호의 활성화 여부

· 마지막으로 사용된 시간

· 마지막으로 변경된 시간

· 언제 변경되어야 하는지

· 액세스 키

· 액세스 키 활성화 여부

· 마지막으로 사용된 시간

· 마지막으로 변경된 시간

· 어떤 서비스에 마지막으로 사용되었는지

· 기타

· MFA 사용 여부

· 사용자 생성 시간

IAM 모범 사용 사례 즉, IAM을 어떻게 사용해야 하는가를 알아보자.

· 루트 사용자는 사용하지 않기(관리용으로만 사용하고 실제 작업은 IAM 사용자로 하자)

· 불필요한 사용자는 만들지 않기(관리가 힘들어진다)

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

· 최소한의 권한 만을 허용하는 습관을 들이기

· MFA를 활성화 하기

· 액세스 키 대신 역할을 활용하기

· IAM 자격 증명 보고서 활용하기

728x90
반응형

'Study > AWS' 카테고리의 다른 글

7. EC2 (1)  (0) 2023.06.15
6. 가상화  (0) 2023.06.15
3. AWS의 구조-리전, 가용영역, 엣지로케이션 등  (0) 2023.06.15
2. 클라우드 컴퓨팅의 종류  (0) 2023.06.15
1. 클라우드 컴퓨팅이란?  (0) 2023.06.14