IAM 개요

yozzum·2022년 3월 22일
0

AWS

목록 보기
1/5

WHAT IS IAM?

a. 인증 : 클라이언트가 자신이 주장하는 사용자와 같은 사용자인지를 확인하는 과정
b. 인가 : 클라이언트가 하고자 하는 작업이 해당 클라이언트에게 허가된 작업인지를 확인하는 권한 부여와 관련있는 작업

a. I : Identity는 AWS로 요청할 수 있는 보안 주체를 AWS 계정 내에 만들어 줌.
b. AM : Access Management는 누가 어떤 리소스들에 대해 어떤 일을 할 수 있는 권한을 가지는지를 정의하는 도구로 동작

4 key concepts

  • Users: Specific individuals, can receive personal logins
  • Groups: Collection of users
  • Roles: Collection of policies (DB Read, DB Write)
  • Policies: Low level permission to resources (Allow or Deny)

Identity(인증)
1. AWS에서 만든 계정은 Root 계정으로 모든 권한을 가지고 있어서 이 계정으로 작업하면 보안에 취약하다.
2. IAM USER/ROLE을 활용한다.
3. IAM USER는 장기 credential을 이용하기 때문에 명시적인 로테이션을 통해 따로 관리가 필요하다.
4. IAM ROLE은 자동으로 로테이션 되는 임시 credential을 이용하기 때문에 가장 적합하다.
※ HMAC 서명값 + 일정시간 후 만료되는 session token)

Role을 사용한다. == Role을 assume한다.

※ AWS 외부의 보안주체에게 임시적으로 권한을 부여해 AWS 리소스에 접근하게 하는경우, SAML이나 OpenIDC와 같은 연계 프로토콜을 사용해 외부 사용자를 IAM Role과 매핑해 줄 수 있다.

Cross Account

  • 다른 AWS 어카운트에 접근 할때 role을 사용해 안전하게 접근하도록 할 수 있다.

Access Management(인가)

  • 인가의 과정은 접근 제어 정책(JSON형태로 기술한 permission 문서) 기반으로 이루어짐
  • User, Role, AWS 리소스, 임시자격증명세션, OU에 연결하여 액션을 허용/차단할 수 있음.
  • 정책은 default가 deny이고, 우선순위는 명시적 Allow < 명시적 Deny 이다.

인증 & 인가

보안주체(요청자)는 AWS 리소스 접근 시 인증과 인가를 모두 통과해야한다.
1. IAM 보안주체의 적법한 서명 값이 포함되어있음(인증)
2. 정책에 의해 해당 요청이 정확하게 인가되어야 함.

profile
yozzum

0개의 댓글