Как и здесь, вы должны использовать CLI для создания роли службы с флагом --path
, чтобы получить этот префикс.Однако даже после его создания он все равно не будет работать для Cognito.Да, есть значение ExternalId
, которое можно установить на прежнее значение, если вы вызываете cognito-idp get-user-pool-mfa-config --user-pool-id=...
Однако, даже если вы обновите его, чтобы отобразить тот же идентификатор, оно все равноможет не сработать (не для меня).Итак, вот фокус.Попросите веб-консоль AWS заново создать роль для вас.Для этого просто используйте новый пул пользователей.
Убедитесь, что у вас удалена старая роль.Настройте новый пул пользователей, включите MFA, и в нижней части этой страницы настроек вы увидите поле ввода с кнопкой «Создать роль», чтобы убедиться, что имя соответствует нашему предыдущему имени (даже не думайте, что здесь разрешены слэши).в любом случае).
Это создаст роль IAM.Затем вы должны отредактировать его и вернуть это исходное значение ExternalId
.Опять же, вы можете найти это с помощью команды get-user-pool-mfa-config
.
Обратите внимание, что у нового созданного пула теперь будет та же проблема.Это не позволит изменить настройки, потому что все равно будет думать, что роль находится в процессе создания.Тем не менее, ваш старый бассейн будет в порядке.Вы можете выполнить другую команду CLI, чтобы полностью отключить MFA для этого нового пула, если вам нужно / нужно с помощью aws cognito-idp set-user-pool-mfa-config --user-pool-id=xxx --region=xxx--mfa-configuration OFF
, и / или просто удалить этот временный пул пользователей, который вы создали исключительно для повторного создания удаленной роли.