1. IAM(Identity and Access Management)
IAM은 AWS 리소스에 대한 인증(Authentication) 과 인가(Authorization) 를 중앙에서 제어하는 핵심 보안 서비스입니다.
IAM을 통해 사용자는 다음과 같은 방식으로 AWS 자원 접근을 안전하게 관리할 수 있습니다.
- 사용자(User), 그룹(Group), 역할(Role), 정책(Policy) 을 통해 접근 제어 구조를 정의
- IAM 정책(Policy) 을 JSON 형태로 작성하여, 허용(
Allow) 또는 거부(Deny) 권한을 세밀하게 지정
- MFA(Multi-Factor Authentication) 설정으로 추가 인증 단계 제공
- Access Key, Password, Role 기반 인증 지원으로 다양한 환경(콘솔, CLI, SDK)에서 인증 가능
- 조직 내 보안 준수
- Root 계정 사용 최소화
- IAM Role을 통한 EC2 등 서비스 간 안전한 권한 위임
- 정기적인 자격 증명 검토 및 폐기
2. IAM Security Tools
2-1. IAM Credentials Report
- 보고서 수준: 계정 단위(Account-level)
- 기능: 모든 IAM 사용자에 대한 인증 정보 상태를 요약한 보고서를 생성
- 포함 내용:
- 비밀번호 사용 여부 및 마지막 변경 시점
- 액세스 키(Access Key) 활성 여부 및 마지막 사용 일자
- MFA 등록 여부 등
- 활용 목적:
- 장기간 미사용 계정, 비활성 키, MFA 미등록 사용자 식별
- 계정 보안 준수 상태 점검 및 감사(Compliance) 보고용
2-2. IAM Access Advisor
- 보고서 수준: 자격 증명 단위(Principal-level)
- 기능: 사용자가 어떤 서비스에 접근할 수 있는지와 마지막 접근 시점을 표시
- 활용 목적:
- 오랫동안 사용되지 않은 서비스 권한 식별
- 최소 권한 원칙(Least Privilege) 실현을 위한 권한 축소 기반 자료로 활용
3. IAM Access Analyzer
IAM Access Analyzer는 AWS IAM 콘솔 내의 서비스로, 리소스가 외부 엔티티와 공유되고 있는지 식별하여 보안 위험을 찾는 데 사용됩니다.
3-1. 외부 접근 분석
S3 버킷, IAM 역할, KMS 키, Lambda, SQS, Secrets Manager 등의 리소스가 의도치 않게 외부와 공유되어 데이터가 노출되는 보안 위험을 방지합니다.
동작 방식
- Zone of Trust 정의: 사용자가 자신의 AWS 계정 또는 AWS 조직을 신뢰 영역으로 설정함.
- Finding 보고: 신뢰 영역 외부의 주체(타 AWS 계정, 외부 IP)가 내 리소스에 접근할 수 있도록 허용된 경우, 이를 Finding로 탐지하여 보고함.
- 조치: 사용자는 Finding를 검토하고 불필요한 공유일 경우, 보안 조치를 취할 수 있음.
3-2. 정책 검증 (Policy Validation)
IAM 정책을 생성하거나 수정할 때, 해당 정책이 AWS 정책 문법과 모범 사례(Best Practice) 에 맞는지 검증합니다.
정책의 일반 경고, 보안 경고, 오류, 제안 사항을 알려주며, 정책을 개선할 수 있는 실행 가능한 권장 사항을 제공합니다.
3-3. 정책 생성 (Policy Generation)
실제 액세스 활동(API 호출) 기반으로 애플리케이션에 필요한 최소한의 권한을 가진 IAM 정책을 자동으로 생성해줌.
동작 방식
- CloudTrail 로그 분석: Lambda 함수와 같은 애플리케이션이 수행한 API 호출이 CloudTrail 로그에 기록됨.
- 정책 생성: Access Analyzer가 최대 90일간의 CloudTrail 로그를 검토함.
- 최소 권한 적용: 실제로 사용된 API 호출만을 허용하는 세분화된 IAM 정책을 생성하여, 보안 모범 사례(최소 권한 원칙)를 쉽게 달성하도록 도와줌.