Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Amazon Cognito 사용자 풀의 MFA 오류 메시지 문제를 해결하려면 어떻게 해야 합니까?
Amazon Cognito 사용자 풀에서 다중 인증(MFA)을 구성할 때 오류 메시지가 표시됩니다.
해결 방법
SMS MFA 오류 해결
‘InvalidSmsRoleAccessPolicyException’ 오류
이 오류는 AWS Identity and Access Management(IAM) 역할에 Amazon SNS를 사용하여 SMS 문자 메시지를 게시할 권한이 없을 때 발생합니다.
이 문제를 해결하려면 다음 단계를 완료하여 sns:Publish 권한을 IAM 역할에 추가하십시오.
- Amazon Cognito 콘솔을 엽니다.
- 탐색 창에서 사용자 풀을 선택합니다.
- 해당 사용자 풀을 선택합니다.
- 탐색 창의 인증에서 인증 방법을 선택합니다.
- SMS 섹션에서 IAM 역할 ARN의 이름을 기록해 둡니다.
- IAM 콘솔을 엽니다.
- 탐색 창에서 역할을 선택합니다.
- 검색 창에 IAM 역할 이름을 입력한 다음, IAM 역할을 선택합니다.
- 권한 정책 섹션에서 IAM 역할에 연결된 정책을 선택합니다.
- 정책 세부 정보 페이지에서 편집을 선택하여 sns:publish 권한을 추가합니다.
- 다음을 선택합니다.
- 변경 사항 저장을 선택합니다.
- 서비스 제어 정책(SCP)이 sns:Publish 작업을 차단하지 않는지 확인합니다.
‘InvalidSmsRoleTrustRelationshipException’ 오류
이 오류는 IAM 역할에 Amazon Cognito가 역할을 수임할 수 있는 신뢰 관계가 없을 때 발생합니다. 이는 cognito-idp.amazonaws.com을 신뢰할 수 없거나 역할 신뢰 정책의 외부 ID가 사용자 풀의 SMS 구성에 있는 것과 일치하지 않을 때 발생합니다.
이 문제를 해결하려면 IAM 역할의 신뢰 정책을 올바르게 구성합니다. 설명은 Amazon Cognito가 AWS End User Messaging SMS로 SMS 메시지를 전송하는 데 사용할 수 있는 IAM 역할 준비를 참조하십시오.
‘InvalidParameterException’ 오류
이 오류는 API 요청이 Amazon Cognito에 잘못된 파라미터를 전송할 때 발생합니다. 이 문제를 해결하려면 SetUserPoolMfaConfig API의 SmsMfaConfiguration 파라미터에 필요한 모든 값을 지정하십시오.
TOTP MFA 오류 해결
요구 사항:
- 시간 기반 일회용 암호(TOTP) 소프트웨어 토큰을 구성하기 전에 MFA를 사용자 풀에 추가하십시오.
- Amazon Cognito가 사용자를 인증하지 않은 경우 TOTP 토큰을 연결하기 전에 사용자가 애플리케이션에 로그인을 시도해야 합니다.
참고: 외부 ID 제공업체(idP)에서 페더레이션 사용자의 MFA를 관리합니다. Amazon Cognito는 사용자 페더레이션 중에 MFA를 요청하지 않습니다.
‘NotAuthorizedException: Access token does not have required scopes’ 오류
이 오류는 액세스 토큰에 AssociateSoftwareToken API를 호출하는 데 필요한 aws.cognito.signin.user.admin 범위가 포함되어 있지 않을 때 발생합니다. 사용자가 InitiateAuth API를 사용하여 로그인하면 InitiateAuth API는 액세스 토큰에 이 범위를 자동으로 포함합니다.
그러나 사용자가 관리형 로그인 페이지를 사용하여 로그인하는 경우 액세스 토큰에 aws.cognito.signin.user.admin 범위가 포함되어 있는지 확인하십시오. 토큰에 aws.cognito.signin.user.admin 범위가 포함되어 있는지 확인하려면 Base64를 사용하여 액세스 토큰의 페이로드를 디코딩하십시오. 자세한 내용은 JWT 구조 확인을 참조하십시오.
토큰에 aws.cognito.signin.user.admin 범위가 포함되어 있지 않은 경우 다음 단계를 완료하여 추가하십시오.
- Amazon Cognito 콘솔을 엽니다.
- 탐색 창에서 사용자 풀을 선택합니다.
- 수정하려는 사용자 풀을 선택합니다.
- 탐색 창의 애플리케이션에서 앱 클라이언트를 선택합니다.
- 수정하려는 앱 클라이언트를 선택합니다.
- 로그인 페이지 탭을 선택한 다음, 편집을 선택합니다.
- OpenID Connect 범위 드롭다운 목록에서 aws.cognito.signin.user.admin을 선택합니다.
- 변경 사항 저장을 선택합니다.
‘NotAuthorizedException: Invalid session for the user, session can only be used once’ 오류
이 오류는 사용자가 세션을 재사용하려고 할 때 발생합니다. 사용자가 TOTP MFA를 사용한 인증 흐름 중에 이 오류를 받으면 인증 프로세스를 처음부터 다시 시작해야 합니다. 인증을 다시 시작하려면 InitiateAuth API 또는 AdminInitiateAuth API를 사용합니다.
‘NotAuthorizedException: Invalid session for the user, session is expired’ 오류
이 오류는 세션이 만료될 때 발생합니다. 기본적으로 세션은 3분 후에 만료됩니다.
이 문제를 해결하려면 앱 클라이언트에서 인증 세션 흐름 기간을 늘리십시오. 기간은 최대 15분까지 늘릴 수 있습니다.
‘CodeMismatchException: Invalid code or auth state for the user’ 오류
이 오류는 사용자의 TOTP 코드가 유효하지 않거나, 사용자 상태가 API 호출을 지원하지 않거나, TOTP 코드가 만료된 경우 발생합니다. 예를 들어, 사용자가 MFA_SETUP 챌린지로 RespondToAuthChallenge API를 호출하고 TOTP MFA를 구성하지 않았습니다.
이 문제를 해결하려면 다음 단계를 완료하십시오.
- 사용자의 TOTP MFA를 구성합니다.
- MFA_SETUP 챌린지로 RespondToAuthChallenge API를 호출합니다.
- 사용자 디바이스의 시간 설정이 현재 시간과 일치하는지 확인하여 유효한 TOTP 코드를 생성합니다.
‘InvalidParameterException: User does not have delivery config set to turn on SOFTWARE_TOKEN_MFA’ 오류
이 오류는 사용자의 TOTP MFA를 구성하지 않았을 때 발생합니다. 이 문제를 해결하려면 SetUserMFAPreference API 또는 AdminSetUserMFAPreference API를 호출하기 전에 TOTP MFA를 구성하십시오.
‘SoftwareTokenMFANotFoundException: Software Token MFA has not been enabled by the userPool’ 오류
이 오류는 사용자 풀에서 TOTP MFA를 구성하지 않았기 때문에 발생합니다. 오류를 해결하려면 TOTP MFA를 구성하십시오.
‘NotAuthorizedException: Invalid session for the use’ 오류
이 오류는 다음과 같은 이유로 발생합니다.
- API 호출에 잘못된 세션 문자열이 포함되어 있습니다.
- API 호출이 올바른 순서로 발생하지 않습니다.
이 문제를 해결하려면 API 호출을 올바른 순서로 구성하십시오. 예를 들어 응답에서 세션 문자열을 수신하려면 먼저 InitiateAuth API를 호출합니다. 문제를 방지하려면 다음 API 호출에서 요청 파라미터에 반환된 세션 문자열을 사용하는지 확인하십시오.
‘EnableSoftwareTokenMFAException: Code mismatch’ 오류
이 오류는 사용자가 제출한 TOTP 코드가 TOTP MFA 구성 중에 Amazon Cognito에서 예상하는 것과 일치하지 않을 때 발생합니다.
이 문제를 해결하려면 다음 작업을 수행하십시오.
- AssociateSoftwareToken API에서 비밀 코드를 검색합니다.
- 인증 애플리케이션에 비밀 코드를 저장합니다.
- 최신 TOTP 코드를 제출합니다.
- AssociateSoftwareToken API에서 검색한 비밀 코드를 사용하여 QR 코드를 생성합니다. 그 후 다음 코드 샘플을 사용하여 인증 애플리케이션을 구성합니다.
비밀 코드에서 QR 코드를 생성하는 Python 코드 예:
import pyotp from qrcode.main import QRCode secret_key = "secret-key-retrieved-from-associate-software-token-api" totp = pyotp.TOTP(secret_key) provisioning_uri = totp.provisioning_uri() qr = QRCode() qr.add_data(provisioning_uri) qr.make() qr.print_ascii()
이메일 MFA 오류 해결
이메일을 MFA 요소로 설정하기 전에 사용자 풀에서 Amazon Simple Email Service(Amazon SES)를 구성하여 사용자에게 이메일 메시지를 전송해야 합니다.
MFA를 활성화하고 이메일을 두 번째 요소로 선택하면 Amazon Cognito는 확인되지 않은 이메일 주소로 이메일 메시지를 보냅니다. 사용자가 이메일 메시지 MFA 확인을 완료하면 Amazon Cognito는 email_verified 속성을 true로 설정합니다.
‘InvalidParameterException: Cannot set EmailMfaConfiguration when user pool EmailConfiguration contains an EmailSendingAccount of COGNITO_DEFAULT’ 오류
이 오류는 기본 이메일 구성을 사용할 때 발생합니다. 이 문제를 해결하려면 사용자 풀의 Amazon SES 이메일 설정을 구성하십시오.
‘InvalidParameterException: Cannot set EmailMfaConfiguration when user pool AccountRecoverySetting is not set or contains only verified_email in RecoveryMechanisms’ 오류
이 오류는 사용자의 계정 복구 방법으로 이메일만 사용할 때 발생합니다. MFA와 계정 복구에 모두 동일한 요소를 사용할 수 없습니다. 이 문제를 해결하려면 이메일 대신 다른 계정 복구 방법을 선택하십시오. 설명은 암호 재설정 및 복구 구성을 참조하십시오.
‘FeatureUnavailableInTierException’ 오류
이 오류는 사용자 풀에 Lite 기능 플랜이 있는 경우 발생합니다. Essentials 및 Plus 플랜에만 이메일 MFA가 포함됩니다. 이 문제를 해결하려면 사용자 풀의 플랜을 Essentials 또는 Plus로 전환하십시오.
관련 정보
- 언어
- 한국어

관련 콘텐츠
- 질문됨 10달 전
- 질문됨 6일 전
- 질문됨 일 년 전