Блог Amazon Web Services

Выявите неиспользуемые роли IAM и удалите их с учетом времени их последнего использования

Оригинал статьи: ссылка (Mathangi Ramesh, Product Manager for AWS Identity and Access Management)

По мере того как вы используете AWS, вы создаете роли AWS Identity and Access Management (IAM), чтобы дать возможность командам и приложениям использовать сервисы AWS. По мере роста использования AWS командами и развития приложений, может оказаться, что вы используете только часть созданных ролей IAM для решения ваших задач. Это может привести к тому, что неиспользуемые роли останутся в вашем аккаунте AWS. Чтобы помочь вам обнаружить такие неиспользуемые роли, IAM сообщает о времени их последнего использования, указывающем на то, когда та или иная роль в последний раз использовалась для выполнения запроса к AWS API. Вы или ваша команда безопасности можете использовать эту информацию для выявления и анализа неиспользуемых ролей, а затем удалить их. Это поможет вам улучшить безопасность вашего AWS аккаунта. Кроме того, удалив неиспользуемые роли, вы можете упростить процесс мониторинга и аудита, сосредоточившись только на используемых ролях. Вы можете просмотреть, когда роль в последний раз использовалась для доступа к вашему окружению AWS в консоли IAM, используя утилиту командной строки AWS (AWS CLI), или AWS SDK.

В этом посте я продемонстрирую, как выявить и удалить роли, которые не используются вашей командой или приложениями, взглянув на время их последнего использования в консоли IAM.  Перед тем, как я поделюсь примером, я приведу существующие IAM API, с помощью которых можно узнать о времени последнего использования той или иной роли:

  • Get-role: возвращает детальную информацию о роли IAM, включая ARN (идентификатор ресурса Amazon), путь и политику доверия. Вы можете использовать это API для получения времени последнего использования роли.
  • Get-account-authorization-details: возвращает информацию обо всех пользователях IAM, группах, ролях и политиках в вашем аккаунте AWS. Благодаря этому API вы также можете просмотреть время последнего использования ролей вместе с другой детальной информацией о них.

Как просмотреть информацию о последнем времени использовании ролей в консоли AWS

Представьте, что вы системный администратор компании Example Inc. и ваша команда разработчиков работает над новым приложением. Чтобы они могли быстро начать работать с AWS, вы создаете роли IAM для команды и их приложения. По мере того, как приложение проходит окончательную проверку, вы узнаете, что команда и приложение теперь полагаются на меньший набор ролей для доступа к сервисам AWS. Это оставляет неиспользуемые роли в ваших аккаунтах AWS, которые вы, возможно, захотите удалить. Вы можете проверить, когда каждая роль была использована для запросов к AWS API в последний раз, и использовать эту информацию для проверки того, нужна ли эта роль для работы приложения. Если нет, то вы можете удалить её, зная, что она больше не нужна.

Для просмотра информации о времени последнего использования ролей в консоли IAM выберите Roles в навигационной панели слева, затем найдите колонку Last activity (см. изображение 1 ниже). Это отобразит количество дней, прошедших с тех пор, когда каждая роль была использована для запросов к AWS API в последний раз. AWS хранит эту информацию за 400 последних дней. Это называется периодом отслеживания. Вы можете отсортировать столбец, чтобы определить роли, которые ваша команда или приложения не использовали в последнее время.

Допустим, в случае с Example Inc., вы хотите избавиться от любых ролей, которые не использовались в течение 90 дней или более. Из информации на изображении 1 видно, что ваша команда недавно использовала ApplicationEC2Access, DevelopmentRole, и TestRole. Вы также видите, что они не использовали AdminAccess, EC2FullAccess и InfraSetupRole в течение последних 90 дней. Теперь вы можете спокойно удалить эти роли. Последняя активность “None”, как показано на примере роли AdminAccess, означает, что эта роль не использовалась для запросов к AWS API в течение 400-дневного периода отслеживания.

Изображение 1: Колонка “Last activity” в консоли IAM

Анализируя время последнего использования для каждой роли, вы заметили, что роль MigrationRole была использована в последний раз два месяца назад. Вы хотите собрать дополнительную информацию о том, как используется эта роль, чтобы определить, стоит ли ее удалять. Для этого нажмите на имя роли. На странице с детальной информацией о роли перейдите на вкладку Access Advisor и изучите список сервисов AWS, к которым был получен доступ, а также проверьте, для чего была использована эта роль. Access Advisor предоставляет отчет о времени последнего использования выбранной роли IAM для каждого из сервисов, права на доступ к которым она содержит. Основываясь на этом отчете, вы можете принять решение о последующей проверке совместно с командой разработчиков, чтобы выяснить, нужна ли им эта роль. Таким образом, вы уменьшили количество ролей в вашем аккаунте с 9 до 6, что облегчает мониторинг активных ролей и ограничивает доступ к вашему аккаунту AWS.

Изображение 2: Отчет Access Advisor

Заключение

В этом посте я рассказала вам, как использовать информацию о времени последнего использования ролей IAM для обнаружения и удаления неиспользуемых ролей. Удаляя неиспользуемые роли, вы можете упростить мониторинг и улучшить безопасность. Чтобы узнать больше об удалении ролей, обратитесь к документации по удалению ролей или профилей инстансов.