소개
IAM Policy Autopilot은 AWS Labs에서 개발한 오픈소스 정적 코드 분석 도구로, 애플리케이션 소스 코드를 분석하여 AWS IAM 정책을 자동 생성합니다. 이 도구는 명령줄 인터페이스(CLI)와 Model Context Protocol(MCP) 서버 형태로 제공되며, AI 코딩 어시스턴트와 연동하여 IAM 정책 생성을 지원합니다. Python, Go, TypeScript, JavaScript, Java 애플리케이션 및 Terraform 계획 파일에서 정책을 생성할 수 있습니다. 생성된 정책은 검토 및 수정이 필요한 기준선이 되며, 최신 AWS 서비스 및 기능을 반영하여 업데이트됩니다.
상세정보
정책 생성
IAM Policy Autopilot은 애플리케이션 소스 코드 또는 Terraform 계획 파일을 분석하여 완전한 IAM 정책 문서를 생성합니다. 생성된 정책은 신원 기반 정책(identity-based policies)이며, 애플리케이션 역할에 필요한 최소 권한을 제공하는 기준선이 됩니다.
AccessDenied 오류 수정
fix-access-denied 명령을 통해 AccessDenied 오류 메시지를 분석하고, 해당 오류를 해결하기 위한 IAM 정책 변경을 생성하거나 적용할 수 있습니다. 이 기능은 권한 관련 디버깅 시간을 단축하는 데 도움이 됩니다.
MCP 서버 통합
mcp-server 명령을 통해 Model Context Protocol 서버를 시작할 수 있으며, 이를 통해 AI 코딩 어시스턴트(Kiro, Claude Desktop 등)가 IAM Policy Autopilot의 정책 생성 기능을 직접 사용할 수 있습니다. stdio 또는 HTTP 전송 방식을 지원합니다.
다운로드·설치 방법
IAM Policy Autopilot은 여러 방법으로 설치할 수 있습니다. 권장 방법은 uv 패키지 관리자를 사용하는 것으로, uvx를 통해 직접 실행할 수 있습니다.
uv 사용 (권장)
uv를 설치한 후 다음 명령으로 IAM Policy Autopilot을 실행할 수 있습니다:
uvx iam-policy-autopilot
pip 사용
pip을 통해 패키지를 설치할 수 있습니다:
pip install iam-policy-autopilot
직접 설치 (MacOS/Linux uniquement)
다음 스크립트를 실행하여 직접 설치할 수 있습니다 (Windows에서는 지원되지 않음):
curl -sSL https://github.com/awslabs/iam-policy-autopilot/raw/refs/heads/main/install.sh | sudo sh
기본 사용법/명령어
IAM Policy Autopilot은 세 가지 주요 명령을 제공합니다:
- generate-policies: 소스 코드 또는 Terraform 계획에서 IAM 정책 생성
- fix-access-denied: AccessDenied 오류 분석 및 정책 수정
- mcp-server: MCP 서버 시작
정책 생성 예시
소스 코드에서 정책을 생성하는 예시입니다:
iam-policy-autopilot generate-policies ./src/app.py –region us-east-1 –account 123456789012 –pretty
Terraform 계획에서 정책을 생성하는 예시입니다:
terraform plan -out=plan.tfplan
terraform show -json plan.tfplan > plan.json
iam-policy-autopilot generate-policies plan.json –pretty
AccessDenied 오류 수정 예시
AccessDenied 오류를 분석하고 수정하는 예시입니다:
iam-policy-autopilot fix-access-denied “User: arn:aws:iam::123456789012:user/test is not authorized to perform: s3:GetObject on resource: arn:aws:s3:::my-bucket/file.txt”
MCP 서버 시작 예시
HTTP 전송을 사용하여 MCP 서버를 시작하는 예시입니다:
iam-policy-autopilot mcp-server –transport http
이런 경우에 유용합니다
AWS 애플리케이션 개발 시 IAM 정책 수작업으로 인한 시간을 단축하고자 하는 개발자에게 유용합니다. 특히 AI 코딩 어시스턴트를 사용하는 환경에서는 IAM Policy Autopilot의 MCP 서버를 통해 어시스턴트가 컨텍스트에 맞는 기준 정책을 자동으로 제공받아 개발 생산성을 높일 수 있습니다. 또한, 배포 중 AccessDenied 오류가 발생했을 때 해당 오류의 원인을 빠르게 파악하고 필요한 정책 변경을 생성하여 문제 해결 시간을 줄이고자 하는 DevOps 엔지니어에게도 도움이 됩니다.
지원 환경·시스템 요구사항
IAM Policy Autopilot은 AWS 서비스 메타데이터를 가져오기 위해 HTTPS 엔드포인트(servicereference.us-east-1.amazonaws.com)에 접근할 수 있어야 합니다. 기업 네트워크에서 웹 프록시를 사용하는 경우 HTTPS_PROXY 환경 변수를 설정해야 하며, SSL/TLS 검사를 수행하는 네트워크에서는 검사 CA 인증서를 운영체제의 인증서 저장소에 설치해야 합니다. 아웃바운드 HTTPS 트래픽이 제한된 환경에서는 위의 엔드포인트에 대한 접근을 허용해야 합니다.
최신 버전·업데이트
현재 버전은 0.3.0이며, 최신 AWS 서비스 및 기능을 반영하여 정기적으로 업데이트됩니다. 자세한 변경 사항은 저장소의 릴리스 노트를 참조하십시오.
제한 사항·확인 사항
IAM Policy Autopilot은 신원 기반 IAM 정책만 생성하며, 리소스 기반 정책(S3 버킷 정책, KMS 키 정책 등), 서비스 제어 정책(SCP), 조직 제어 정책(OCP), 권한 경계 등은 지원하지 않습니다. 예를 들어, 코드에서 s3.getObject(bucketName)를 호출하고 bucketName이 런타임에 결정되는 경우, 현재 버전에서는 어떤 버킷에 접근할지 예측하지 못합니다. 또한, 정적 분석으로 인해 애플리케이션이 실제로 사용하지 않는 AWS 서비스에 대한 권한이 포함될 수 있으며, 이 경우 –service-hints 옵션을 사용하여 분석 대상을 특정 서비스로 제한할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


