Магии никакой нет. Если у iam user стоит полиси правильный (всё кроме смены своего пароля требует mfa) то в aws vault нужно настроить mfa serial (без этого вообще не будет работать) и он будет спрашивать mfa токен и создавать сессию на Х часов. Минимум 15 минут максимум 12 часов кажется, у iam юзера/роли и при попытке создать сессию больше чем разрешено юзеру - aws vault (п вернее апи амазона) выдаст ошибку. Дальше все команды aws-vault если не указан флаг —no-session и сессия ещё живая не будут спрашивать mfa. С флагом —no-session наоборот спросит но новую сессию не создаст а заэкспортирует временные aws key и secret у которых время жизни = указанный ttl. В-общем, в документации всё описано подробно очень
https://github.com/99designs/aws-vault/blob/master/USAGE.md. Если с флагом —no-session не спрашивает мфа и генерирует валидные key и secret - значит у iam юзера неправильно настроены пермишенны