Amazon Cognito 사용자 풀의 MFA 오류를 해결하려면 어떻게 해야 하나요?

4분 분량
0

Amazon Cognito 사용자 풀에서 해결해야 하는 다중 요소 인증 (MFA) 오류가 있습니다.

간략한 설명

Amazon Cognito 사용자 풀의 MFA를 구성할 때 여러 유형의 오류가 발생할 수 있습니다. MFA에 SMS (단문 메시지 서비스) 메시지를 설정한 경우 다음 섹션을 검토하십시오. MFA에 대한 SMS를 설정하기 전 및** SMS MFA 오류가 발생했습니다**. MFA에 시간 기반 일회용 암호 (TOTP) 를 설정하는 경우 다음 섹션을 검토하십시오. MFA에 대한 TOTP를 설정하기 전 및** TOTP MFA 오류가 발생했습니다**.

해상도

MFA용 SMS를 설정하기 전

SMS를 MFA 팩터로 설정하기 전에 SMS 메시지를 처음으로 전송하기 위한 추가 단계를 수행해야 합니다. 자세한 내용은 Amazon Cognito 사용자 풀에서 처음으로 SMS 메시징 설정을 참조하십시오.

MFA를 활성화하고 두 번째 요소로 SMS를 선택하면 Amazon Cognito가 확인되지 않은 전화번호로 SMS 메시지를 보낼 수 있습니다. 사용자가 SMS 문자 메시지 MFA 인증을 완료하면 Amazon Cognito는phone_number_verified 속성을 true로 설정합니다.

SMS MFA 오류

잘못된 SMS 역할 액세스 정책 예외

SMS 구성의 AWS ID 및 액세스 관리 (IAM) 역할에는 Amazon 간편 알림 서비스 (Amazon SNS) 를 사용하여 게시할 권한이 없습니다.

이 오류를 해결하려면 SNS:Publish 권한을 IAM 역할에 연결해야 합니다. 또한 SCP (서비스 제어 정책)가 SNS:Publish 작업을 차단하지 않는지 확인하세요.

잘못된 SMS 역할 신뢰 관계 예외

이 오류는 IAM 역할에 Amazon Cognito가 역할을 맡을 수 있는 유효한 신뢰 관계가 없을 때 발생합니다. 이는 cognito-idp.amazonaws.com을 신뢰할 수 없거나 역할 정책의 외부 ID가 사용자 풀의 SMS 구성에 있는 것과 일치하지 않을 때 발생합니다.

이 오류를 해결하려면 IAM 역할에 대한 신뢰 정책을 올바르게 구성했는지 확인하십시오. 자세한 내용은 Amazon Cognito 사용자 풀에서 처음으로 SMS 메시징 설정을 참조하세요.

잘못된 매개변수 예외

이 오류는 Amazon Cognito에서 유효하지 않은 파라미터를 발견할 때 발생합니다.

이 오류를 해결하려면 MFA용 SMS를 설정할 때 필요한 모든 값을 SetUserPoolMFAConfig API의 SMSMFAConfiguration 파라미터에 전달해야 합니다.

MFA용 TOTP를 설정하기 전

Amazon Cognito 사용자 풀에서 TOTP 소프트웨어 토큰 MFA를 설정할 때는 TOTP 토큰을 구성하기 전에 사용자 풀에 MFA를 추가하십시오.

사용자가 이미 인증되지 않은 경우 사용자가 애플리케이션에 로그인을 시도할 때까지 TOTP 토큰을 사용자와 연결할 수 없습니다.

MFA는 사용자 풀의 페더레이션 사용자를 지원하지 않습니다.

TOTP MFA 오류

승인되지 않은 예외: 액세스 토큰에는 필수 범위가 없습니다.

이 오류는 액세스 토큰이 필수 aws.cognito.signin.user.admin 범위를 포함하지 않을 때 발생합니다. aws.cognito.signin.user.admin 범위는 AssociateSoftwareToken API를 호출할 때 필요합니다. 사용자가 InitiateAuth API로 로그인하면 범위가 액세스 토큰에 자동으로 표시됩니다. 하지만 사용자가 호스팅된 UI를 사용하여 로그인할 때는** aws.cognito.signin.user.admin** 범위가 액세스 토큰에 있는지 확인하십시오.

승인되지 않은 예외: 사용자의 세션이 잘못되었습니다. 세션은 한 번만 사용할 수 있습니다.

이 오류는 사용자가 동일한 세션을 두 번 이상 사용할 때 발생합니다. 흐름 도중에 사용자가 이 오류를 수신하는 경우 응용 프로그램은 흐름을 처음부터 다시 시작해야 합니다. 사용자가 API를 호출할 때 세션 문자열을 사용하는 경우 사용자는 세션을 다시 사용할 수 없습니다.

승인되지 않은 예외: 사용자의 세션이 잘못되었습니다. 세션이 만료되었습니다.

이 오류는 세션 유효 시간이 만료될 때 발생합니다. 세션 유효 시간은 기본적으로 3분입니다. 이 오류를 해결하려면 앱 클라이언트의 인증 흐름 세션 기간 설정을 변경하여 세션 유효 시간을 15분으로 늘리십시오.

코드 불일치 예외: 사용자의 잘못된 코드 또는 인증 상태

이 오류는 사용자의 TOTP 코드가 유효하지 않거나 사용자의 상태가 API 호출과 호환되지 않을 때 발생합니다. 예를 들어 사용자가 MFA_SETUP이라는 챌린지를 사용하여 RespondToAuthChallenge API를 호출하지만 TOTP MFA를 구성하지 않은 경우** CodeMisMatchException** 오류가 발생합니다. 이 오류를 해결하려면 MFA를 설정할 때 API 호출이 올바른 순서로 발생하는지 확인하십시오.

이 오류는 사용자의 TOTP 코드가 너무 오래되어 Amazon Cognito가 수락할 수 없을 때도 발생합니다. 이 오류를 해결하려면 사용자 장치가 실제 시간과 동기화되었는지 확인하십시오.

잘못된 매개변수 예외: 사용자가 SOFTWARE_TOKEN_MFA를 켜도록 설정된 전송 구성이 없습니다.

이 오류는 TOTP MFA를 구성하지 않은 상태에서 API를 호출하여 TOTP MFA를 적용하려고 할 때 발생합니다. 이 오류를 해결하려면 SetUserMFapReference API 또는 AdminSetUserMFapReference API를 사용하는 사용자에게 TOTP를 적용하기 전에 해당 사용자에 대한 TOTP MFA를 구성해야 합니다.

승인되지 않은 예외: 사용자의 세션이 잘못되었습니다.

이 오류는 사용자가 API를 호출하고 예상한 세션 문자열과 다른 세션 문자열을 제공할 때 발생합니다. 이 오류는 사용자가 올바른 순서로 API를 호출하지 않는 경우에도 발생합니다. 이 오류를 해결하려면 API 호출을 적절한 순서로 구성하십시오. 예를 들어 응답에서 세션 문자열을 수신하려는 사용자는 InitiateAuth API를 먼저 호출합니다. 오류를 방지하려면 다음 API 호출 시 요청 파라미터에 반환된 세션 문자열을 사용하는지 확인하세요.

소프트웨어 토큰 MFA 예외 활성화: 코드 불일치

이 오류는 사용자가 TOTP MFA 구성 중에 Amazon Cognito에서 예상하는 TOTP 코드를 제공하지 못할 때 발생합니다. 이 오류를 해결하려면 Amazon Cognito가 AssociateSoftwareToken API에서 제공하는 보안 코드를 찾아 인증 애플리케이션에 저장하십시오. 또한 사용자는 인증 애플리케이션의 최신 TOTP 코드를 제공해야 합니다.

소프트웨어 토큰 MFA를 찾을 수 없음 예외: UserPool에서 소프트웨어 토큰 MFA를 활성화하지 않았습니다.

이 오류는 사용자 풀의 TOTP MFA를 활성화하지 않았을 때 발생합니다. 이 오류를 해결하려면 Amazon Cognito에서 적용하기 전에 TOTP MFA를 구성하십시오.

관련 정보

사용자 풀에 MFA 추가

SMS 문자 메시지 MFA

Amazon Cognito 네이티브 API에서 사용자를 위한 MFA 구성

AWS 공식
AWS 공식업데이트됨 일 년 전