API Gateway REST API 엔드포인트에서 발생하는 403 ‘Missing Authentication Token(인증 토큰이 없음)’ 오류는 어떻게 해결하나요?

2분 분량
0

Amazon API Gateway REST API를 호출하려고 할 때 403 ‘Missing Authentication Token(인증 토큰이 없음)’ 오류 메시지가 표시됩니다. 이 오류를 해결하려면 어떻게 해야 하나요?

간략한 설명

API Gateway REST API 엔드포인트는 다음과 같은 이유로 Missing Authentication Token(인증 토큰이 없음) 오류를 반환합니다.

API Gateway의 기타 403 오류를 해결하려면 API Gateway에서 발생한 HTTP 403 오류는 어떻게 해결합니까?를 참조하세요.

해결 방법

API Gateway 리소스 경로에 구성된 메서드 및 리소스가 있는지 확인

API Gateway 콘솔을 사용하여 메서드 설정의 지침을 따라하십시오. 자세한 내용은 API 리소스 설정을 참조하세요.

중요: API를 배포해야 변경 사항이 적용됩니다.

요청 메서드가 루트 리소스로 전송되는 프록시 리소스 통합이 적용된 API의 경우 루트 리소스에 메서드가 구성되어 있는지 확인합니다.

API Gateway 응답이 수정되지 않았는지 또는 백엔드 통합에서 응답이 전송되지 않는지 확인합니다.

게이트웨이 응답이 API에서 수정되지 않았는지 확인합니다. 또한 통합 백엔드에서 오류가 발생하지 않는지 확인합니다. API Gateway 실행 로그와 백엔드 로그를 확인합니다.

API 메서드에 IAM 인증이 설정되어 있는 경우 API 요청에 서명되었는지 확인

자세한 내용은 AWS API 요청에 서명AWS API 요청 서명의 요소를 참조하세요.

REST API 엔드포인트에 올바른 HTTP 메서드 요청을 보내고 있는지 확인

웹 브라우저에서 REST API 엔드포인트를 테스트하면 GET HTTP 메서드 요청이 자동으로 전송됩니다.

다른 HTTP 클라이언트를 사용하여 POST HTTP 메서드를 테스트합니다. 예를 들어 Postman 또는 curl을 사용합니다.

POST HTTP 메서드 요청을 사용하는 curl 명령의 예

$ curl -X POST  <API URL> -d <request body>

JSON 헤더를 사용한 요청 전송의 예

$ curl --location -X POST 'https://1234WXYZ.execute-api.us-east-1.amazonaws.com/stage/lambda_proxy' --header 'Content-Type: application/json' --data-raw '{"x":"y"}'

AWS V4 서명 인증을 사용한 curl POST 요청 전송의 예

$ curl -X POST "<ENDPOINT>" -d <data> --user <AWS_ACCESS_KEY>:<AWS_SECRET_KEY> --aws-sigv4 "aws:amz:<REGION>:<SERVICE>"
$ curl -X POST "https://1234WXYZ.execute-api.us-east-1.amazonaws.com/stage/lambda_proxy" -d '{"x":"y"}' --user ABCD:1234 --aws-sigv4 "aws:amz:us-east-1:execute-api"

관련 정보

API Gateway REST API에 대한 IAM 인증을 활성화하려면 어떻게 해야 합니까?