IAM Policy Autopilot MCP
MCP-сервер и CLI от AWS: по коду приложения или плану Terraform собирает стартовые IAM-политики и разбирает ошибки AccessDenied
- 500 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Инструмент читает исходный код проекта и обращается к сети за метаданными сервисов AWS
- Команда fix-access-denied с флагом --yes меняет IAM-политики в аккаунте AWS без подтверждения, а загрузка политик требует учетных данных AWS
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/iam-policy-autopilotОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Инструмент читает исходный код проекта и обращается к сети за метаданными сервисов AWS
- Команда fix-access-denied с флагом --yes меняет IAM-политики в аккаунте AWS без подтверждения, а загрузка политик требует учетных данных AWS
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Инструмент читает код приложения локально и находит вызовы AWS SDK, затем формирует IAM-политики на основе удостоверений для ролей приложения. Анализ статический и детерминированный, поэтому результат повторяется от запуска к запуску. Поддерживаются Go, Java, JavaScript, TypeScript и Python с Boto3. Политику можно собрать и из плана Terraform в формате JSON, который получают командой terraform show -json, а собственные файлы .tf напрямую пока не читаются. Политика получается стартовой, и ее предлагается уточнять по мере развития приложения. Флаг --explain с шаблоном действия, например s3:*, показывает, из какой операции в коде появилось разрешение. Флаг --service-hints ограничивает анализ нужными сервисами и убирает лишние разрешения: метод listAccounts() иначе подойдет и к AWS Organizations, и к Amazon Chime. Третья команда, fix-access-denied, принимает текст ошибки AccessDenied, подбирает недостающее разрешение и по флагу --yes применяет его без подтверждения. Через MCP-сервер те же функции получает ассистент, а подсказки по сервисам он подставляет по контексту кода.
Для кого. Для разработчиков на AWS, которые пишут код с помощью Claude Desktop, Kiro и других ассистентов и не хотят вручную подбирать права для ролей.
Подходит, если
- Приложение на Python вызывает S3 и DynamoDB, и нужна стартовая политика для его роли до первого деплоя
- Деплой упал с ошибкой AccessDenied, и надо понять, какого разрешения не хватает
- План Terraform уже собран, и требуется набросать политику для действий, которые выполнит провайдер AWS
- Нужно проверить, из каких вызовов в коде появилось действие в политике: пригодится флаг --explain
- Ассистент пишет шаблон инфраструктуры как код, и ему нужны точные действия вместо догадок
Не подходит, если
- Нужны политики на основе ресурсов: бакетов S3, ключей KMS, а также RCP, SCP и границы разрешений инструмент не создает
- Имя бакета или ресурса определяется при выполнении программы: инструмент пока не предсказывает, к какому ресурсу пойдет обращение
- Нужна готовая политика с минимальными правами без проверки человеком: результат стартовый, его надо просмотреть до деплоя
- Код написан на языке вне списка: Go, Java, JavaScript, TypeScript и Python покрывают далеко не все стеки
- Сеть закрыта: инструмент запрашивает метаданные у servicereference.us-east-1.amazonaws.com и без этого адреса не работает
Пример запроса к агенту
Проанализируй src/app.py и составь стартовую IAM-политику для роли этого приложения, подсказки по сервисам задай s3 и dynamodb, затем объясни, откуда взялось действие s3:PutObjectMCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Переменные окружения
AWS_PROFILE- Профиль AWS CLI с учетными данными для применения исправлений и загрузки политик
AWS_REGION- Регион AWS, например us-east-1
Ограничения
Результат стартовый. Статический анализ может включить разрешения для сервисов, которые приложение не использует, если имена методов совпадают у нескольких SDK, поэтому для CLI советуют задавать --service-hints. Ассистент, получив политику через MCP, может изменить ее, например подставить конкретные ARN, и эти правки идут от ассистента, а не от инструмента.
Во время работы инструмент по HTTPS обращается к адресу servicereference.us-east-1.amazonaws.com за свежими метаданными сервисов AWS. За корпоративным прокси задайте HTTPS_PROXY, а при инспекции SSL установите сертификат инспекции в хранилище ОС. Для применения исправлений и загрузки политик в IAM нужны учетные данные AWS: профиль и регион задаются через AWS_PROFILE и AWS_REGION.
Доступность из России автор не описывает. Прямая установка скриптом работает только в macOS и Linux.
Как отключить. Уберите запись iam-policy-autopilot из конфигурации MCP клиента и перезапустите его. Установленный через pip пакет удаляется командой pip uninstall iam-policy-autopilot, бинарник из прямой установки лежит в /usr/local/bin/iam-policy-autopilot. Политики, загруженные в IAM флагом --upload-policies, останутся в аккаунте, их удаляют в консоли AWS.
Частые вопросы
Как подключить IAM Policy Autopilot к Claude Desktop?
Добавьте в claude_desktop_config.json сервер iam-policy-autopilot с командой uvx и аргументами iam-policy-autopilot и mcp-server. В env укажите AWS_PROFILE и AWS_REGION. Для установки через pip команда будет iam-policy-autopilot с аргументом mcp-server. Для Kiro файл лежит в .kiro/settings/mcp.json проекта.
Может ли инструмент построить политику по файлам Terraform?
Только по плану в формате JSON: сохраните план командой terraform plan -out, затем выполните terraform show -json и передайте файл в generate-policies. Файлы .tf инструмент напрямую пока не читает; исходный код и план в одном вызове смешивать нельзя.
Что делает команда fix-access-denied?
Принимает текст ошибки AccessDenied, например сообщение о запрете s3:GetObject, определяет недостающее действие и предлагает изменение политики. Флаг --yes применяет его без подтверждения, а без него изменения показываются на утверждение.
Почему в политике оказались лишние сервисы?
Названия методов в коде могут совпадать у нескольких сервисов: listAccounts() есть и в AWS Organizations, и в Amazon Chime. Передайте --service-hints с нужными сервисами, например s3 iam organizations. В политике все равно могут остаться действия смежных сервисов, если без них операция не работает, например KMS для шифрования S3.
Какие языки поддерживаются?
Go с AWS SDK for Go v2, Java с AWS SDK for Java v2, JavaScript и TypeScript с AWS SDK for JavaScript v3, Python с Boto3 и Botocore. Отдельный путь для плана Terraform в формате JSON.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-серверы для AWS
Open source MCP servers for AWS
Официальный набор MCP-серверов AWS: документация, IaC, контейнеры, serverless, базы данных, стоимость и мониторинг
Официальный набор AWS: MCP-серверы, скиллы и плагины, чтобы агент строил, деплоил и обслуживал приложения на AWS
Terraform MCP
Terraform MCP Server
Официальный MCP-сервер HashiCorp для Terraform Registry и HCP Terraform: провайдеры, модули, политики и рабочие пространства
Самостоятельно размещаемый MCP-сервер для выполнения команд на удаленных серверах по SSH с токенами и ролями
AWS Skills для Claude Code
AWS Skills for Claude Code
Плагины для разработки на AWS: CDK и SST, serverless и событийная архитектура, стоимость и мониторинг, Bedrock AgentCore
MCP-сервер для ServiceNow: больше 500 инструментов по ITSM, CMDB и скриптингу, запись выключена по умолчанию
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| IAM Policy Autopilot (эта запись) | да | не нужна | 500 | |
| MCP-серверы для AWS | да | ключ необязателен | 9 844 | общий набор MCP-серверов AWS для документации, IaC, баз данных и мониторинга |
| Agent Toolkit for AWS | нет | 3 336 | комплект AWS из MCP-серверов, скиллов и плагинов для всего цикла работы агента |
Коротко о README
Документ называет аудиторию, перечисляет выгоды (скорость, надежность, актуальность) и дает рекомендации: просматривать политики, понимать границы инструмента, отделять его работу от правок ассистента и использовать подсказки по сервисам. Потом идут таблица языков и SDK, три способа установки, настройка MCP для Kiro, Kiro CLI и Claude Desktop и отдельная конфигурация Kiro power. Завершают сетевые требования с прокси, инспекцией SSL и списком разрешенных адресов, описание команд CLI, сборка из исходников на Rust и структура рабочего пространства.