Блог Amazon Web Services

Новая функциональность IAM Access Analyzer: проверка политик доступа

Зарегистрируйтесь, чтобы получать приглашения на мероприятия AWS на русском языке.

Сервис AWS Identity and Access Management (IAM) является важной частью облака AWS. В нём вы можете настраивать политики доступа IAM и политики управления сервисами (SCP), с помощью которых задаётся необходимый уровень доступа к указанным сервисам и ресурсам AWS. Политики доступа затем можно назначить на субъекты IAM (пользователей и роли), группы пользователей, а также ресурсы AWS. Таким образом, с IAM вы получаете возможность тонкой настройки прав доступа, но вместе с ней и ответственность за их правильное использование: практически всегда это значит, что вам нужно следовать принципу минимальных привилегий. Вы можете узнать больше из пошаговых инструкций в документации IAM, а инструмент IAM Access Analyzer поможет вам найти ресурсы, к которым есть доступ у внешних субъектов (например, других аккаунтов AWS). Кроме того, недавно мы выпустили новую функциональность в IAM Access Analyzer для проверки прав доступа к бакетам S3 перед изменением привилегий.

Проверка политик доступа

Сегодня я рад сообщить о том, что мы выпустили новую функциональность в IAM Access Analyzer, которая позволяет проверять создаваемые политики доступа. Благодаря ей вы можете использовать накопленные годами лучшие практики AWS при настройке политик IAM и SCP.

Функциональность разработана в первую очередь для использования разработчиками и командами безопасности: с её помощью вы можете проверить политики доступа перед их назначением на субъекты IAM. Всего производится более 100 проверок, предназначенных для улучшения безопасности и упрощения управления политиками в больших масштабах. В результате вы получите список всех найденных проблем с подробной информацией о них и рекомендациями по исправлению.

Проверка доступна из вкладки JSON Policy Editor в консоли IAM, а также через интерфейс командной строки (aws accessanalyzer validate-policy) и непосредственно в вашем исходном коде через API (ValidatePolicy). Вы можете использовать доступ через интерфейс командной строки и API для автоматической проверки внутри ваших CI/CD-конвейеров.

В консоли IAM проверка происходит в режиме реального времени каждый раз, когда вы создаёте или меняете политику доступа, управляемую клиентом (customer-managed policy). Найденные проблемы сгруппированы по степени важности. Ниже приведены несколько примеров:

Security (Безопасность) – Части политики разрешают слишком широкий доступ, что может являться риском безопасности. В эту категорию входит, например, использование iam:PassRole вместе с элементом NotResource или с символом подстановки * в качестве ресурса:

Проверка политики: безопасность

Error (Ошибка) – Части политики, которые мешают ей корректно работать. В эту категорию входят, например, ошибки синтаксиса, пропущенные действия, неправильные конструкции и так далее:

Проверка политики: ошибка

Warning (Предупреждение) – Части политики, которые не соответствуют лучшим практикам AWS, такие как использование устаревших ключей в элементе условий, некорректные пользователи или неоднозначные значения для дат:

Проверка политики: предупреждение

Suggestion (Предложение) – Пропущенные, пустые или лишние части политик:

Проверка политики: предложение

Что нужно принять во внимание

Как было отмечено ранее, мы запускаем функциональность с более чем 100 проверками. В будущем мы планируем добавить больше и будем рады услышать ваши предложения.

В духе компании Amazon, мы используем свои сервисы для решения различных задач. Так же и здесь: мы будем регулярно проверять политики доступа, управляемые Amazon, с помощью новой функциональности и улучшать их, если потребуется. Время от времени мы можем помечать существующие управляемые политики как устаревшие, выпускать вместо них более актуальные замены и уведомлять наших клиентов по e-mail. Чтобы узнать больше, вы можете посмотреть страницу в документации Deprecated AWS Managed Policies.

Как вы, наверное, знаете, существуют инструменты с открытым исходным кодом для проверки политик в AWS, например, Parliament от компании Duo Labs. Нашим клиентам нравятся такие инструменты, но мы часто слышали от них, что им хотелось бы иметь встроенную функциональность, которая помогла бы анализировать политики прямо во время редактирования. Наши разработчики из команды IAM услышали эти отзывы и с нуля создали функциональность по проверке политик доступа.

Вы можете использовать её уже сейчас во всех регионах AWS без дополнительных затрат.

Jeff;