AWS Signature Version 4 예시

AWS Signature Version 4 예시

다양한 AWS 서비스와 인증 방식에 대한 SigV4 서명 요청 예시를 모아 놓은 페이지예요. Authorization 헤더 방식, 사전 서명된 URL 방식 등 실제 서명 요청 형태를 보여 줘요.

출처: 문서

본문

여기서는 AWS API 요청을 SigV4로 서명하는 여러 예시를 다뤄요. 예시를 통해 정규 요청, 서명할 문자열, 최종 요청이 어떻게 구성되는지 확인할 수 있어요.

Authorization 헤더 예시

다음은 Authorization 헤더로 서명을 보내는 일반적인 GET 요청의 형태예요.

GET /
Host: service.example.com
X-Amz-Date: 20130524T000000Z
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20130524/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
  • Credential — AKIDEXAMPLE/20130524/us-east-1/service/aws4_request 형태로 액세스 키 ID와 서명 범위를 담아요.
  • SignedHeaders — host;x-amz-date처럼 서명에 포함된 헤더 목록.
  • Signature — 계산된 서명 hex 값.

사전 서명된 URL 예시

브라우저에서 접근할 수 있도록 쿼리 파라미터에 서명을 넣는 형태예요.

GET https://service.example.com/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20130524%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20130524T000000Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
  • X-Amz-Expires — URL이 유효한 시간(초). 여기서는 하루(86400).

서비스별 예시

  • Amazon S3 — 사전 서명된 URL을 가장 많이 쓰는 서비스예요. S3 객체에 브라우저로 접근하거나 공유 링크를 만들 때 사용해요.
  • AWS IAM / STS — API 호출에 Authorization 헤더 방식을 사용해요.
  • Amazon EC2 — 헤더 기반 서명을 사용해요.

각 서비스의 정확한 요청 형식은 해당 서비스의 API 문서와 AWS 일반 참조의 서명 예시를 참고하세요.

자세한 단계별 예시는 AWS 일반 참조의 Signature Version 4 서명 프로세스를 참고하세요.

더 알아보기 (Learn more)