Cognito User Pool MFA 적용 범위 점검

비밀번호 기반 로그인에 필요한 MFA를 적용하고 선택적 설정의 보호 범위를 확인하세요.

설명

Cognito User Pool의 비밀번호 기반 로그인에서 MFA를 사용하지 않으면 유출되거나 재사용된 비밀번호가 계정 탈취로 이어질 위험이 커집니다. mfa_configuration의 기본값인 OFF는 MFA를 요구하지 않습니다.

ON은 MFA를 필수로 요구하지만, OPTIONAL은 MFA를 설정한 사용자에게만 적용됩니다. 외부 IdP를 통한 로그인에는 해당 IdP의 MFA 정책을 별도로 확인하세요.

잠재적 영향

  • 추가 인증 없이 유출된 비밀번호로 계정이 악용될 수 있습니다.
  • 선택적 MFA를 설정하지 않은 사용자는 같은 보호를 받지 못합니다.

해결 방법

  • 서비스의 인증 방식과 복구 절차를 확인하고 MFA를 필수로 요구하려면 ON을 사용하세요. OPTIONAL을 선택하면 실제 사용자 등록 여부와 적용 범위를 관리하세요.
  • 지원되는 MFA 수단을 구성하고 등록, 로그인, 기기 분실 시 복구를 시험하세요. SMS를 사용하면 전송 권한과 필요한 역할도 준비하세요.

예시

MFA 설정을 보여 주는 발췌입니다. 필수 User Pool 이름과 참조하는 역할 등은 생략되어 있습니다. 변경 후에는 소프트웨어 토큰 MFA를 선택적으로 사용하며, 모든 사용자에게 MFA를 강제하는 예제는 아닙니다.

변경 전

hcl
resource "aws_cognito_user_pool" "example" {
  mfa_configuration          = "OFF"
  sms_authentication_message = "Your code is {####}"

  sms_configuration {
    external_id    = "example"
    sns_caller_arn = aws_iam_role.example.arn
  }

  software_token_mfa_configuration {
    enabled = true
  }
}

변경 후

hcl
resource "aws_cognito_user_pool" "example" {
  mfa_configuration          = "OPTIONAL"
  sms_authentication_message = "Your code is {####}"

  software_token_mfa_configuration {
    enabled = true
  }
}

설명:

  • 변경 전: MFA 수단 설정이 있어도 OFF에서는 MFA를 요구하지 않습니다.
  • 변경 후: MFA를 등록한 사용자가 소프트웨어 토큰을 사용할 수 있습니다. 등록하지 않은 사용자까지 보호하려면 필수 적용 정책을 검토하세요.

참조