top of page

Administrator 권한 줬다가 식은땀 흘리셨나요? AWS IAM Access Analyzer로 권한 관리 한방에 해결하기

AWS IAM Access Analyzer 완벽 가이드: 권한 관리와 보안 위험 분석

AWS IAM Access Analyzer 완벽 가이드: 권한 관리와 보안 위험 분석

Written by Hyejin Jeon


안녕하세요, 스마일샤크의 전혜진입니다.

AWS를 사용하다 보면 IAM 계정 권한 관리와 관련해서 이런 고민들을 한 번쯤은 해보셨을 겁니다.

IAM 계정 권한 관리와 관련한 대표적인 고민 3가지

권한 관리, 한 번 설정해두면 나중에 확인하기도 힘들고 변경하기는 더 어렵죠. 하지만 보안을 위해서는 꼭 필요한 작업입니다.


AWS에서는 이런 권한 관리를 돕는 IAM Access Analyzer라는 서비스를 제공하고 있습니다. 이 서비스는 리소스 접근 권한을 지속적으로 분석해서 위험을 감지하고 관리할 수 있도록 도와줍니다.


예를 들어,

권한 관리를 돕는 IAM Access Analyzer가 보안 위험 및 계정의 보안 상태를 알려주는 방식

이런 식으로 보안 위험을 쉽게 알려주고 계정의 보안 상태를 한눈에 볼 수 있습니다.


그럼 이 서비스가 제공하는 주요 기능들을 자세히 살펴보겠습니다.



 

IAM Access Analyzer의 주요 기능

  1. 외부 액세스 분석기

    AWS 리소스(S3 버킷, IAM 역할, Lambda, KMS, SQS 등)가외부 또는 다른 계정에서 접근 가능한지 감지합니다. 예를들어, S3 버킷이 외부에 공개되어 있는지, 다른 AWS 계정과 공유 중인지 감지합니다.


  2. 미사용 액세스 분석기

    AWS CloudTrail 로그를 분석해서 사용하지 않은 권한을 찾아내고, 더 안전한 권한 정책을 추천해줍니다.

    예를 들어, 특정 IAM 역할에 S3와 DynamoDB에 대한 접근 권한이 부여되어 있지만, 실제로는 DynamoDB만 사용하는 경우 S3 권한이 미사용 권한으로 식별됩니다. 그리고 적절한 정책으로 변경하도록 DynamoDB 권한만 부여된 최소 권한 정책을 제공합니다.


  3. 정책 검증

    CloudTrail 이벤트를 기반으로 정책 작성 시 과도한 권한이나 정책 오류 등을 감지합니다.

    예를 들어, IAM 콘솔의 JSON 정책 편집기에서 s3:*와 같이 과도한 권한이 부여된 경우 또는 잘못된 ARN 형식을 사용할 경우, 경고 문구와 함께 권장사항을 확인할 수 있습니다.



IAM Access Analyzer 시작하기

복잡한 설정이나 설치 과정 없이 바로 시작할 수 있습니다. IAM Access Analyzer 콘솔에서 원하는 분석기를 생성하고 분석 결과를 검토합니다.

  1. IAM 콘솔 - [액세스 분석기] - [분석기 생성] - [외부 액세스 분석 / 미사용 액세스 분석] 선택

IAM 콘솔 - [액세스 분석기] - [분석기 생성] - [외부 액세스 분석 / 미사용 액세스 분석]
# AWS CLI를 통한 액세스 분석기 생성
aws accessanalyzer create-analyzer --analyzer-name <analyzer-name> --type ACCOUNT
  1. [분석기 세부 정보]에서 조직 전체 계정을 분석할지, 현재 계정만 분석할지 선택할 수 있습니다. [미사용 액세스 분석]의 추적 기간은 CloudTrail 이벤트 분석 기간입니다.(길게 설정할수록 정확도가 높아집니다.) 설정이 끝났으면 분석기 생성을 완료합니다.

[분석기 세부 정보] 중 신뢰 영역에서 현재 조직 혹은 현재 계정을 선택합니다.
[미사용 액세스 분석]의 추적 기간을 지정합니다. 1일~180일 사이의 숫자를 선택합니다.


분석 결과 확인하기

1. 외부 액세스 분석기

[외부 액세스 분석기]의 결과에서 S3 버킷을 한번 확인해보겠습니다. 외부의 모든 보안 주체에게 액세스를 허용한 버킷의 경우, 경고 문구가 뜨네요. 또한 사용자가 다음 조치를 취할 수 있게 아카이브할지 버킷 정책을 수정할지 안내해주고 있습니다. 의도된 허용이라면 아카이브 해주세요.

[외부 액세스 분석기]에서 S3 버킷을 확인합니다.

2. 미사용 액세스 분석기

미사용 액세스 결과 중 IAM 역할을 확인해보겠습니다. CloudWatch Logs 의 몇가지 작업에 대해 액세스하지 않은지 122일이 지났다고 뜨네요.

미사용 액세스 결과 중 IAM 역할을 확인하기
IAM 역할 결과에서 미사용 작업 확인. 사진에서는 CloudWatch Logs의 4가지 미사용 작업이 확인됨

[권장 사항] 탭에서 [정책 미리보기]를 선택하면 미사용 작업을 제외하고 최소 권한이 부여된 정책을 확인할 수 있습니다.

[권장 사항] 탭에서 [정책 미리보기]를 선택
[정책 미리보기]에서 미사용 작업을 제외한 최소 권한이 부여된 정책 확인 가능

미사용 액세스 결과 중 IAM 사용자경우, [정책 생성] 버튼을 클릭하면 AWS CloudTrail 에 기록된 활동을 기반으로 최소 권한 정책을 생성할 수 있습니다. (사전에 CloudTrail을 설정해야 합니다.)

미사용 액세스 결과 중 IAM 사용자의 [정책 생성] 버튼을 클릭

기간은 최대 90일까지 선택할 수 있고, 분석할 CloudTrail 리전과 추적을 선택합니다.

기간과 분석할 CloudTrail 리전과 추적을 선택합니다

[생성된 정책 보기]를 클릭하면 정책을 수정하고, 계정에 연결할 수 있습니다. 이 때, 정책은 운영에 지장이 가지 않도록 충분한 권한이 부여되도록 수정해야하며, 정책을 연결한 후에는 기존 정책을 삭제해주셔야 합니다.

[생성된 정책 보기]를 클릭합니다
정책을 수정하고, 계정에 연결합니다. 정책을 연결한 후 기존 정책을 삭제해야 합니다.


자동화로 더 똑똑하게 사용하기

IAM Access Analyzer는 EventBridge, Security Hub 등 다른 AWS 서비스와 통합하여 사용할 수 있습니다.


가령,

IAM Access Analyzer 자동화로 똑똑하게 사용하기

이렇게 분석 결과를 통해 필요 없는 권한을 자동으로 제거하는 프로세스를 만들면, 번거로운 절차 없이 보안 위협을 줄일 수 있습니다.



마무리하며

IAM Access Analyzer의 비용 구조는 다음과 같이 두 가지로 나뉩니다.


  • 외부 액세스 분석기: 무료로 제공되어 추가 비용 부담 없이 즉시 활용 가능

  • 미사용 액세스 분석기: IAM 역할과 사용자 수에 따라 월 $0.2/개의 요금 발생


외부 액세스 분석기는 무료로 제공되는 만큼, 모든 AWS 계정에서 기본적으로 활성화하는 것을 권장합니다.


클라우드 환경에서 의도치 않은 리소스 공유로 인한 보안 사고가 증가하는 만큼, IAM Access Analyzer를 통해 주기적으로 리소스의 외부 접근 권한을 검토하는 것이 좋습니다. 처음에는 많은 분석 결과가 부담스러울 수 있지만, 꾸준히 검토하고 아카이브하는 과정을 통해 점차 깔끔한 권한 관리가 가능해집니다.


안전한 권한 관리를 위해, 지금부터라도 IAM Access Analyzer를 활성화해보시는 건 어떨까요?

조회수 125회댓글 0개

관련 게시물

전체 보기

Comments


bottom of page