투케이2K

320. (TWOK/ERROR) [AWS] InvalidRequest The authorization not supported. Please use AWS4-HMAC-SHA256 본문

투케이2K 에러관리

320. (TWOK/ERROR) [AWS] InvalidRequest The authorization not supported. Please use AWS4-HMAC-SHA256

투케이2K 2025. 8. 11. 19:03
728x90

[환경 설정 및 설명]

프로그램 : AWS

설 명 : [AWS] InvalidRequest The authorization not supported. Please use AWS4-HMAC-SHA256

 

[설 명]

--------------------------------------------------------------------------
[개발 및 테스트 환경]
--------------------------------------------------------------------------

- 제목 : [AWS] InvalidRequest The authorization not supported. Please use AWS4-HMAC-SHA256


- 테스트 환경 : AWS / Lambda / Function


- 사전) AWS Lambda 설명 : 

  >> Aws Lambda 는 서버 리스 FaaS 솔루션으로, 함수의 인스턴스를 실행하여 이벤트를 처리할 수 있습니다

  >> Aws Lambda 는 이벤트에 응답하여 코드를 실행 하고 해당 코드에 필요한 컴퓨팅 리소스를 자동으로 관리합니다

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[에러 원인]
--------------------------------------------------------------------------

1. AWS Lambda 함수에 Pyhone 사용 시 boto3 는 기본적으로 Signature Version 4 를 사용하는데 boto3.client 초기화 시 리전을 지정하지 않아서 발생하는 이슈

  >> ap-northeast-2 (서울 리전) 에서는 Signature Version 4 만 허용됩니다

  >> boto3 클라이언트를 생성할 때 리전을 명시하지 않으면 기본값으로 us-east-1 이 설정될 수 있습니다


2. 에러 발생 로그 전문 : 

    <Code>InvalidRequest</Code>
    <Message>The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.</Message>

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[해결 방법]
--------------------------------------------------------------------------

1. AWS Lambda 함수에서 boto3.client 초기화 시 명시적으로 리전 정보 설정 수행


2. 소스 코드 예시 : 

    s3_client = boto3.client(
        's3', # S3 서비스 명칭 
        region_name='ap-northeast-2', # 리전 정보 명시적 설정
        aws_access_key_id=credentials['AccessKeyId'], # STS 임시 정보
        aws_secret_access_key=credentials['SecretAccessKey'], # STS 임시 정보
        aws_session_token=credentials['SessionToken'] # STS 임시 정보
    )

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[참고 사이트]
--------------------------------------------------------------------------

[Amazon API Gateway] Aws API Gateway 게이트웨이 설명 정리 - 중개 서버

https://blog.naver.com/kkh0977/223827753479


[Amazon API Gateway] Aws API Gateway 게이트웨이 API 엔드포인트 유형 정리

https://blog.naver.com/kkh0977/223911565693


[Aws Lambda] Aws 사이트에서 생성 된 Lambda 람다 검증 함수 리스트 및 내용 소스 코드 확인 방법

https://blog.naver.com/kkh0977/223765198383


[자바스크립트 AWS S3 listObjectsV2 버킷에 생성 객체 목록 리스트 조회 수행]

https://blog.naver.com/kkh0977/223902546491?trackingCode=blog_bloghome_searchlist

--------------------------------------------------------------------------
 
728x90
반응형
Comments