Установите настройки восстановления учетной записи для AWS Cognito User Pool с Terraform - PullRequest
1 голос
/ 30 ноября 2019

В духе инфраструктуры как кода я настроил пул пользователей AWS Cognito через Terraform с помощью полезного ресурса aws_cognito_user_pool.

Однако я не могунайдите сопоставление аргумента / конфигурации для предпочтения восстановления учетной записи в разделе MFA и подтверждение .

Без спецификации, похоже, что это мой выбор по умолчанию:

(не рекомендуется) Телефон, если доступен, в противном случае отправьте электронное письмо, и разрешите пользователю сбросить свой пароль через телефон, еслиони также используют его для МФА.


Цель

Я хотел бы вместо этого установить значение Email only, как отмечено красным прямоугольником на изображении ниже. :

aws cognito user pool settings

Кто-нибудь знает, какой аргумент Terraform мне нужно использовать, чтобы добиться этого, пожалуйста? Кажется, что ни один из параметров, задокументированных в ресурсе aws_cognito_user_pool, не соответствует этому.

1 Ответ

0 голосов
/ 10 декабря 2019

Terraform пока не поддерживает это. Но вместо этого вы можете использовать локальный exec:

resource "null_resource" "setup_account_recovery_settings" {
  triggers = {
    version = "${var.version_local_exec_account_recovery_settings}"
  }

  provisioner "local-exec" {
    command = "aws cognito-idp update-user-pool --user-pool-id ${aws_cognito_user_pool.userpool.id} --account-recovery-setting 'RecoveryMechanisms=[{Priority=1,Name=verified_email},{Priority=2,Name=verified_phone_number}]' --region ${var.region}"
  }
}

Но это уничтожит всю вашу конфигурацию. Вместо этого вы можете предоставить полную конфигурацию в виде json, но зачем использовать terraform, чем

...