AWS IAM 액세스 키 회전 알림 시스템 자동화
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

IAM 액세스 키 회전 알림 시스템 구축

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • AWS Lambda, boto3, Terraform 사용자
  • IAM 보안 관리 및 자동화 필요 시스템 엔지니어
  • 난이도: 중급 (AWS SDK와 DevOps 기초 지식 필요)

핵심 요약

  • AWS IAM 액세스 키 회전 알림 시스템 구축
  • boto3AWS SES를 활용한 자동 이메일 알림 시스템
  • Lambda 함수로 IAM 사용자 액세스 키의 나이 계산 및 회전 경고
  • Terraform을 통한 Lambda 배포 및 이벤트 브리지(EventBridge) 기반 크론 작업 자동화

섹션별 세부 요약

1. 사용자 및 액세스 키 목록 생성

  • boto3.iam.list_users() API로 IAM 사용자 목록 가져오기
  • boto3.iam.list_access_keys()로 액세스 키 메타데이터 수집
  • datetime 모듈로 생성일 기준 나이 계산 (예: date.today() - create_date)

2. 액세스 키 회전 기준 검증

  • 20일 이상 사용된 키에 대해 회전 경고 이메일 생성
  • 5일 버퍼 기간을 위한 reminder_email_age 설정 (예: Expiry_days - 5)
  • HTML 형식의 이메일 본문 생성 (AWS IAM 사용자 링크 포함)

3. 이메일 전송 구현

  • email.mime 모듈로 MIME 메시지 구조 생성
  • boto3.ses.send_raw_email() API로 SES를 통해 이메일 전송
  • from_emailto_email 주소 검증 (SES 샌드박스 계정 사용 시 필수)

4. Lambda 및 Terraform 배포

  • Lambda 함수main() 메서드 정의 (이벤트 및 컨텍스트 매개변수 포함)
  • Terraform을 이용한 압축 파일 생성 (archive_file 데이터 소스 사용)
  • AWS IAM 역할 생성 및 IAM 정책 부여 (iam:ListAccessKeys, ses:SendEmail 권한 포함)
  • EventBridge 규칙으로 Lambda를 일일 기준으로 트리거

결론

  • 로컬 테스트 후 AWS 환경으로 Terraform을 통한 배포 수행
  • AWS SES 이메일 전송 시 사용자 및 발신자 이메일 검증 필수
  • DevOps 자동화로 IAM 보안 리스크를 정기적 회전 알림으로 관리 가능