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 서명 프로세스를 참고하세요.