본문 바로가기

네트워크 & 클라우드/AWS

[AWS-06] 자격증명

 

무언가를 하려고 할 때 내가 자격이 있다고 증명하는 것을 자격증명이라고 함
장기 자격증명 vs 임시 자격증명
장기 자격증명
  • IAM 유저가 생성 (최대 2개)

IAM User 생성화면

  • 삭제하지 않으면 계속 사용 가능 (반영구적)
  • Access Key(유저 ID/PASS의 암호화)가 탈취될 경우 해당 유저의 모든 권한을 행사할 수 있어 보안에 취약함
  • config를 통한 하드코딩 시 취약(~/. aws/credentials) --> 평문 형태로 저장됨으로 취약
  • 수많은 인스턴스에 자격증명을 적용하거나 교체할 때 번거로움. 관리가 어려움.
    (IAM 사용자에 권한 부여 후 인스턴스에 Acceskey 페어 등록)
임시 자격증명
  • 역할(Role)을 Assume 하여 생성. ("sts:AssumeRole")
    * STS : Security Token Service
  • 임시로 정해진 시간 동안만 사용 가능
  • ID Federation/리소스에게 자격증명 부여 가능
  • 특정 유저/서비스에게 임시로 권한을 부여하고 싶을 때 사용. Role만 수정하면 해당 자격증명이 적용된 인스턴스가 모두 변경됨. 관리상 편리
    (Role 생성 후 인스턴스에 적용)
  • 만료된 자격증명을 탈취해 사용하더라도 요청이 수행되지 않음 (Fail) --> 보안성↗

Assume Role이란?
  • Identity에 Role을 부여하는 것을 Assume이라고 함.

AssumeRole Policies 적용

  • Role을 Assume 하면 임시 자격증명 생성됨 (Accesskey ID / Secret AccessKey / Session Token) 
    * Token : 임시 자격증명의 유효성을 검증

실 to the 습
IAM User : sts:AssumeRole Policies만 적용
Role : S3FullAcesss 적용 
  • IAM User 생성 및 권한 부여 

AssumeRole Policies 적용

  • Role 생성

S3FullAccess 권한을 가진 Role 생성

  • IAM User 생성시 발급받은 AccessKey 페어로 자격증명

sts:AssumRole만 적용된 인스턴스로 S3 l3 시도 > Deny

  • Assume-Role을 통한 임시 자격증명 생성 (Credentials) 

임시자격증명 생성

  • 임시 자격증명 적용을 통한 S3 접근 확인

임시자격증명을 통한 S3 조회 성공!!

 

'네트워크 & 클라우드 > AWS' 카테고리의 다른 글

[AWS 기초 이론 - 01] AWS 네트워크 기본 용어 정리 - 1  (0) 2022.09.19
[AWS-07] Organizations 기초  (0) 2022.09.13
[AWS-05] IAM 기초  (0) 2022.09.08
[AWS-04] Macie  (0) 2022.08.28
[AWS.03] AWS WAF  (0) 2022.07.21