[권고] STS를 활용한 임시 권한 부여

ZER0·2022년 9월 15일
0

AWS 보안 설정 가이드

목록 보기
14/47
post-thumbnail
post-custom-banner

1. 개요

  • 임시로 사용할 IAM 계정에 권한을 부여ㆍ변경ㆍ회수하는 과정에서 워크로드가 발생하고, 이로 인해 임시 계정에 과도한 권한이 부여되거나, 사용이 끝나도 삭제되지 않는 등 문제점이 발생
  • 이러한 문제를 해결하기 위해 STS 이용 필요

2. 취약점 판단 기준

  • STS를 활용하지 않고 IAM 계정 또는 그룹에 직접 권한을 부여하여 AWS 리소스를 핸들링 하는 경우 취약
  • STS를 활용해 임시 권한을 부여하여 AWS 리소스를 핸들링 하는 경우 취약하지 않음

3. 취약점 확인 방법

  • 담당자 인터뷰 및 관련 증적을 통해 STS 활용 여부 확인

4. 취약점 조치 방법

  • [상황] [AmazonEC2ReadOnlyAccess], [AmazonS3ReadOnlyAccess] 정책이 할당된 그룹에 IAM 계정이 포함되어 있는 상태

  • STS에 부여할 역할을 생성하기 위해 관리 콘솔에서 [IAM] 검색 → [역할] 메뉴 → [역할 만들기] 클릭

  • 신뢰 유형 설정

    • [MFA 필요]를 체크한 경우 IAM 계정에 MFA 할당 필요
  • STS에 부여할 권한 선택

  • [정책] 메뉴 → [정책 생성] 클릭

  • JSON(1)을 활용해 STS 사용을 위한 정책 생성

    • JSON(1)
       # MFA 미적용
       
       {
           "Version": "2012-10-17",
           "Statement": [
               {
                   "Effect": "Allow",
                   "Action": "sts:AssumeRole",
                   "Resource": "STS에 권한을 부여하기 위해 생성한 역할의 ARN"
               }
           ]
       }
       
       # MFA 적용
       {
           "Version": "2012-10-17",
           "Statement": [
               {
                   "Effect": "Allow",
                   "Action": "sts:AssumeRole",
                   "Resource": "STS에 권한을 부여하기 위해 생성한 역할의 ARN",
                   "Condition": {
                       "BoolIfExists": {
                           "aws:MultiFactorAuthPresent": "true"
                       }
                   }
               }
           ]
       }

  • IAM 계정에 방금 생성한 정책 추가

  • STS를 사용할 IAM 계정의 관리 콘솔에서 [역할 전환] 클릭

  • [역할 전환] 클릭

  • 역할 전환 정보 입력

    • 계정 : IAM 계정의 계정ID
    • 역할 : STS에 할당할 권한이 부여된 역할의 이름
  • 역할 전환 확인

  • S3 ReadOnly 권한을 보유한 IAM 계정에서 STS를 통해 S3 FullAccess 권한이 가능함을 확인

    • STS로 부여받은 권한은 1시간 동안 유효

6. 참고

profile
Security Compliance Engineer
post-custom-banner

0개의 댓글