Назад | Перейти на главную страницу

Аутентификация MFA в AWS

В чем разница между двумя приведенными ниже условиями? Это условие добавляется к политике, управляемой клиентом, которая привязана к пользователю. Политика позволит пользователю выполнять любые операции с экземпляром EC2, но пользователь может остановить / завершить работу экземпляра EC2 только при аутентификации через устройство MFA.

"Effect": "Allow"
"Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}

"Effect": "Allow"
"Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": "true"}}

PS: в документации AWS есть тот же пример, и синтаксис был скопирован оттуда. Я разместил этот вопрос, так как не мог понять, какое значение имеет «IfExists» в целом.

https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IfExists

Если я правильно понимаю, это должно происходить, когда политика используется для многих ресурсов. Некоторые из этих ресурсов могут не иметь этого условия в качестве опции и могут не пройти проверку политики. Таким образом, этот дополнительный параметр настраивает его только на те ресурсы, у которых он есть как вариант, или он «существует».