본문 바로가기

프로그래밍/Solution Architecture

AWS SAP - IAM Access Analyzer

IAM Access Analyzer

  • 외부에 공유되는 Resource를 찾는데 사용한다.
    • S3 Buckets
    • IAM Roles
    • KMS Keys
    • Lambda Functions and Layers
    • SQS Queues
    • Secrets Manager Secrets
  • 신뢰 구역을 정의한 뒤 AWS Account 혹은 AWS Organization에 적용한다.
  • 신뢰 구역 외부에 있는 것들 중에서 위에 언급한 Resource에 액세스 할 수 있는 것들은 findings(발견물)로 보고될 것이다.

  • 위의 그림처럼 S3 Bucket에 있어 특정한 Role, User, Account, 외부 클라이언트, VPC Endpoints와 공유할 수 있다고 가정한다.
  • 신뢰 구역을 Role, User, VPC Endpoints로 정의하면 외부 클라이언트와 Account는 finding으로 표시 될 것이고 Console 안에서 확인 후 조치를 취할 수 있다.

IAM Access Analyzer Policy Validation

  • 설정한 정책이 정책 문법이나 모범 관행에 부합하는지 검증할 수 있다.
  • 일반적인 경고, 보안 경고, 오류, 제안 사항을 받을 수 있다.
  • 개선할 방법에 대한 권고도 받을 수 있다.

IAM Access Analyzer Policy Generation

  • 이미 이루어진 API 호출을 기반으로 Access Activity에 맞춤화 된 IAM 정책을 생성한다.

    1. 위의 그림처럼 S3 Bucket이나 Kinesis Data Streams에 API 호출을 하는 Lambda Function을 예시로 보면 모든 API들은 CloudTrail에 로깅될 것이다.
    2. IAM Access Analyzer는 CloudTrail 로그를 검토해서 정책을 생성한다.
    3. 적절한 Action과 Service가 담긴 아주 자세한 권한을 받게된다.
IAM Access Analyzer는 최대 90일까지의 로그를 검토한 뒤 해당 로그를 기반으로 IAM 정책을 생성한다.