Уверенная работа с ролями IAM в AWS
5 мая 2023 г.С более 400 миллионов операций в секунду, масштабы использования AWS IAM часто трудно понять. В сочетании с тем, что AWS по-прежнему сохраняет свою большую долю на рынке облачных вычислений, справедливо сказать, что значительная часть Интернета регулируется ролями и политиками IAM.
В этом случае вы можете быть уверены, что AWS обладает глубокими знаниями и знаниями, поддерживающими IAM. Но это не делает управление ролями IAM менее сложной задачей. Часто это означает, что вы тратите время на прокрутку нескольких строк записей JSON, что не совсем эффективно для просмотра разрешений.
Проблема только усугубляется в крупных организациях с несколькими учетными записями и несколькими службами. Отслеживание всех разрешений, назначенных различным ролям IAM, может оказаться непростой задачей, что усложняет назначение правильных разрешений, если вы не знаете своих ресурсов и служб, как свои пять пальцев, а также выполняете ретроспективные задачи, такие как аудит. отнимает много времени, пока вы изо всех сил пытаетесь понять контекст, необходимый для принятия важных решений.
Работа с ролями IAM
Аудит ролей
Существует ряд причин, по которым вам может потребоваться аудит ролей IAM. В рамках нового проекта по обеспечению того, чтобы никакие неиспользуемые роли не были созданы и забыты. В рамках соблюдения нормативных требований обеспечивается соблюдение нормативных требований. Или даже в рамках проверки безопасности или стоимости. Крайне важно, чтобы неиспользуемые роли были очищены, а у пользователей был соответствующий уровень доступа, и это также может помочь гарантировать, что пользователи несут ответственность за свои действия.
В AWS
Для этого вы можете проверить, когда каждая роль в последний раз отправляла запрос в AWS, и использовать эту информацию, чтобы определить, использует ли команда эту роль. Вы хотите собрать больше информации о шаблонах доступа роли, чтобы решить, следует ли вам ее удалить. На странице сведений о роли перейдите на вкладку "Советник по доступу", изучите список служб, к которым осуществлялся доступ, и проверьте, для чего использовалась роль.
На вкладке "Советник по доступу" вы можете изучить список используемых служб и проверить, для чего использовалась роль.
Это также можно сделать с помощью интерфейса командной строки:
$ aws iam generate-service-last-accessed-details --arn arn:aws:iam::1234567:role/role-name
{
"JobId": "10c3dc31-6ccc-69d2-1185-91e9ad363831"
}
$ aws iam get-service-last-accessed-details --job-id 10c3dc31-6ccc-69d2-1185-91e9ad363831
{
"JobStatus": "COMPLETED",
"JobType": "SERVICE_LEVEL",
"JobCreationDate": "2023-04-25T12:28:18.712000+00:00",
"ServicesLastAccessed": [
{
"ServiceName": "AWS Security Token Service",
"LastAuthenticated": "2023-04-25T11:49:09+00:00",
"ServiceNamespace": "sts",
"LastAuthenticatedEntity": "arn:aws:iam::944651592624:role/aws-source-pod",
"LastAuthenticatedRegion": "eu-west-2",
"TotalAuthenticatedEntities": 1
}
],
"JobCompletionDate": "2023-04-25T12:28:20.485000+00:00",
"IsTruncated": false
}
Часто остается вопрос, достаточно ли этой информации для принятия важных решений? Например:
* Могу ли я удалить эту роль IAM, которая не использовалась в течение 89 дней? Что произойдет, если это часть службы, которая используется каждые 120 дней? * Как я могу быть уверен, что могу удалить роль, в которой нет активности? * Я знаю, что роль использовалась, но какой ресурс AWS ее использовал? Лямбда-функция? Модуль EKS?
Контекст играет ключевую роль... но часто отсутствует
В обоих приведенных выше вопросах не хватает контекста. Контекст роли и связана ли она с чем-либо. Проблема с контекстом заключается в том, что его часто трудно получить без многолетнего опыта или актуальной базы данных CMDB/документации.
Решение с помощью Сверхразума
Для использования Overmind ничего из вышеперечисленного не требуется. Фактически, он был создан для использования без предварительного контекста. Вы можете просто найти то, что хотите, в данном случае «iam-role». Overmind выполнит работу по их поиску даже в нескольких регионах и учетных записях.
Отсюда мы можем быстро отличить любые неиспользуемые роли или политики, потому что они не будут связаны с какими-либо другими ресурсами. Например, неиспользуемая роль будет выглядеть так.
Принимая во внимание, что тот, который используется в настоящее время, будет иметь ссылки на другие ресурсы. В Overmind вы можете расширить и узнать, с какими другими ресурсами он связан или используется, предоставляя нам контекст, который нам не хватало раньше.
Отсюда мы сможем понять, что это за приложение и какие ресурсы ему нужны для работы. Ответ на вопрос, каковы будут последствия, если мы удалим эти роли или политики. Теперь, когда у нас есть отсутствующий контекст, мы можем уверенно двигаться вперед, зная, что наши изменения не окажут непреднамеренного влияния.
Мы не останавливаемся на достигнутом..
Что, если перед внесением изменений в приложение Overmind мог бы рассчитать радиус взрыва и сообщить вам о воздействии? Или после неудачного изменения можно было вернуться и посмотреть снимок того, как выглядело ваше приложение раньше? Во всех ваших ресурсах AWS.
Это то, что мы строим, и мы хотели бы, чтобы вы присоединились к нам в этом путешествии. Добавьте свое имя в наш список ожидания, чтобы заявить о своем интересе → https://overmind.tech
Оригинал