2016-07-18 2 views
0

API 게이트웨이 엔드 포인트에 2 명의 인증자를 생성했습니다. 하나는 수동으로 콘솔을 사용하고 다른 하나는 boto3을 사용합니다. 수동으로 생성 된 스크립트는 훌륭하게 작동하지만 스크립트를 사용하여 만든 스크립트는 제목 줄에 언급 된 오류를 제공합니다. 이 2 가지 인증 기관의 내용을 확인하면 동일합니다.구성 오류로 인해 AWS 실행이 실패했습니다. 인증 코드 오류

누락 된 부분은 무엇입니까? 난 수동으로 구성된 경우 하나의 인증 기관에서 작동하므로 lambda에 대한 잘못된 권한이라고 생각하지 않습니다.

The code for the same is as below: 
response = client.create_authorizer(
       restApiId=apiid, 
       name=authName, 
       type='TOKEN', 
       authType='custom', 
       authorizerUri=authorizerUri, 
       ##arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:<AcctId>:function:CustomAuthorizer/invocations 
       identitySource='method.request.header.Authorization', 
       identityValidationExpression= '.*', 
       authorizerResultTtlInSeconds=300 
      ) 

얻기 오류 : 월 칠월 18 세계 협정시 11시 53분 4초 2016 : 실행으로 인해 구성 오류로 실패 : 잘못된 권한을 람다 함수에 월 7월 18 세계 협정시 11시 53분 4초 2016 : 실행 실패 구성 오류로 인해 : 인증 오류 Mon Jul 18 11:53:04 UTC 2016 : AuthorizerConfigurationException

답변

0

먼저 API 게이트웨이에서 테스트 단추를 사용하여 그 내부에서 람다 함수를 호출 할 수 있는지 확인하십시오. 이렇게하면 API 게이트웨이 대 람다 연결이 작동하는지 확인할 수 있습니다.

리소스 정책을 평가하려면 GetPolicy API를 호출해야합니다. 실행 역할은 누가 코드를 호출 할 수있는가 아닌 람다에서 코드가하는 것을 제어합니다. 그러면 다음번에 좋은 수표가 될 것입니다.

API 게이트웨이에서 로깅을 사용하도록 설정할 수도 있습니다. 이는 API 게이트웨이를 대신하여 수행중인 작업에 대한 추가 정보를 얻을 수있는 좋은 방법입니다. 이러한 로그는 Amazon CloudWatch Logs에 나타나며 요청 흐름을 확인할 수 있습니다.

CORS를 사용하는 경우 설정 (또는 2 개)을 놓칠 수 있으므로 두 번 확인해 보시기 바랍니다. API를 웹 사이트 또는 다른 앱에 직접 "연결"하기 전에 엔드 포인트로 직접 CURLing (HTTP 엔드 포인트 청사진을 사용하여 Lambda에서 쉽게 테스트 할 수 있음)은 좋은 첫 번째 단계입니다.

+1

2 개의 인증 프로그램 A와 B를 작성했습니다. AWS 콘솔에서 작성되었으며 B는 boto3 api에서 작성되었습니다. 둘 다 같은 람다를 가리 킵니다. 테스트 버튼은 A에서는 작동하지만 B와는 작동하지 않습니다. – user1926248

관련 문제