Можно ли требовать MFA для учетных записей AWS IAM?

23

Можно ли требовать, чтобы Многофакторная аутентификация (MFA) была включена для определенных / всех учетных записей IAM в Amazon Web Services?

Существуют варианты требований к паролю, и понятно, как можно добавить его в свою учетную запись, но не ясно, есть ли возможность заставить пользователей иметь MFA.

Джо
источник
Политика IAM, требующая МФА для большинства действий: docs.aws.amazon.com/IAM/latest/UserGuide/…
Саймон Вудсайд

Ответы:

13

Ответ - да, есть. Используя условие. Например, для учетных записей администратора:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}

Он будет обеспечивать MFA как для аутентификации по паролю, так и для аутентификации на основе токенов с использованием API.

Smad
источник
6
Чтобы сделать это таким образом, потребуется как доступ к консоли, так и к API; Можно ли требовать его только для доступа к консоли?
Jeffbyrnes
Без понятия. Я знаю, что это раздражает для API (CLI), так как MFA не очень хорошо поддерживается. Кстати, я не вижу смысла в создании более надежной защиты, если это способ обойти ее, используя другой метод доступа.
смад
3
@ Smad Я думаю, что дело в том, что учетные данные токена будут автоматически сгенерированы и сохранены на жестком диске пользователя, поэтому единственным вектором атаки является получение его с компьютера пользователя, либо с помощью вредоносного ПО, кражи компьютера и т. д. Пароль на С другой стороны, он может быть слабым или использоваться повторно на других сайтах, поэтому существует дополнительный вектор атаки - перебор или получение его из дампа паролей с взломанного сайта. Политика паролей может помочь, но трудно предотвратить ppl, например, используя словарное слово, в котором только i заменяется на 1 или!
Дэнни
@jeffbyrnes Когда вы включаете пользователя для MFA, он по умолчанию включен только для консольного доступа. Затем вы должны использовать политику IAM, подобную этой, чтобы определить, какие действия API / CLI требуют MFA, если таковые имеются.
SeanFromIT
1
Я не уверен, что это работает больше - по крайней мере, если я не применил это правильно! (как новая политика, назначенная группе администраторов). Как новые, так и существующие администраторы моей учетной записи могут войти в систему, не настроив MFA.
Тим Мэлоун
8

После небольшого осмотра, кажется, что ответ "вид". В IAM администратор может настроить MFA для другого пользователя IAM. Хотя это может быть немного сложно, если вы настраиваете виртуальный MFA, это возможно. Затем, если пользователю не были предоставлены разрешения на обновление / удаление его MFA, это эффективно требуется.

Хотя я еще не определил полный список действий, которые должны быть отклонены (или просто не предоставлены), эта публикация, похоже, содержит информацию, и я обновлю этот ответ, как только протестирую его.

[Обновить]

Я смог настроить пользователей в качестве опытных пользователей (тем самым не предоставив им доступ к функциям IAM, хотя я уверен, что вы могли бы получить более детальную информацию), и реализовать их MFA вместе с ними. Используя эту методологию, они не смогут ее отключить.

Джо
источник
1
Знаете ли вы, можно ли позволить пользователям IAM самостоятельно настраивать MFA?
кавалькада
Если это так, я не нашел пути.
Джо
2
@MattTagg да, это возможно, см. Docs.aws.amazon.com/IAM/latest/UserGuide/…
dasil003
1

Да, вам может потребоваться MFA для учетных записей IAM как для веб-консоли, так и для awscliкомандной строки. Фактически, невозможно надежно требовать MFA для веб-консоли, не требуя его для awscliкомандной строки, поскольку оба они используют одни и те же API. Я говорю «надежно», потому что со сложной политикой IAM можно разрешить некоторые awscliоперации без MFA, одновременно применяя MFA для веб-консоли. Однако результаты несколько непредсказуемы, и, кроме того, ключи IAM одинаково, если не более опасны, незащищены. Я рекомендую требовать его для обоих, а затем, возможно, создать незащищенные ключи для специального использования, где MFA абсолютно противопоказан. Для автоматизированных процессов роли были бы лучшим выбором вообще.

Чтобы упростить операции MFA в командной строке, я создал набор сценариев bash и тщательно разработанный пример политики применения MFA , упрощающий присоединение / отсоединение vMFAd, а также запуск и управление сеансами MFA. Они работают на вариантах MacOS и Linux, но, скорее всего, не на Windows (не проверено).

Виль
источник
0

Очевидно нет. Похоже, что MFA для учетных записей IAM является необязательным, хотя лучше постараться опубликовать его на форумах поддержки AWS для получения достоверного ответа.

Том О'Коннор
источник
Спасибо за ссылку, но она отвечает на другой вопрос о том, когда MFA потребуется после его включения. Вопрос в том, можно ли включить принудительное включение.
Джо,
0

Мы документировали некоторые соображения относительно многофакторного API AWS в целом (где добавить условия, каковы последствия и т. Д.) В документации для некоторых пользовательских инструментов ( https://github.com/kreuzwerker/awsu ), которые мы разработали для использования Yubikeys. в качестве источника для токенов TOTP. Это делает работу с ролями и долгосрочными учетными данными + токены сессии довольно простой.

зевать
источник