AWS 서명 버전 4 요청의 요소 - AWS 일반 참조

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS 서명 버전 4 요청의 요소

버전 4 서명을 사용하는 각 HTTP/HTTPS 요청은 이러한 요소를 반드시 포함해야 합니다.

  • 엔드포인트 사양

  • 작업

  • 필수 및 선택적 파라미터

  • 날짜

  • 인증 파라미터

엔드포인트 사양

이 사양은 HTTP/1.1 요청의 Host 헤더로 지정됩니다. 이 헤더는 dynamodb.us-east-1.amazonaws.com 같은 요청을 전송하는 컴퓨터의 DNS 이름을 지정합니다.

HTTP/1.1 요청에 Host 헤더를 포함해야 합니다. HTTP/2 요청의 경우에는 :authority 헤더나 Host 헤더를 사용할 수 있습니다. HTTP/2 사양의 규정 준수용으로는 :authority 헤더만 사용하십시오. 모든 HTTP 서비스가 HTTP/2를 지원하지는 않으니, 자세한 내용은 서비스 설명서에서 확인하십시오.

엔드포인트에는 일반적으로 서비스 이름과 리전이 포함되며, 두 항목 모두 Credential 인증 파라미터의 일부로 사용해야 합니다. 예를 들어, 유럽 서부 1 리전에 대한 Amazon DynamoDB 엔드포인트는dynamodb.eu-west-1.amazonaws.com. 리전을 지정하지 않으면 웹 서비스는 기본 리전인 us-east-1을 사용합니다. 전역적으로 고유한 엔드포인트를 사용하는 IAM과 같은 서비스를 사용하는 경우 기본 리전 (리전) (us-east-1) 의 일부로,Credential인증 파라미터를 생성합니다 (이 주제 후반부에서 설명하는).

AWS가 지원하는 전체 엔드포인트 목록은 리전 및 엔드포인트를 참조하십시오.

Action

이 요소는 DynamoDB 등과 같이 웹 서비스에서 수행할 작업을 지정합니다.CreateTable작업 또는 Amazon EC2 EC2DescribeInstancesaction. 지정한 작업은 요청에서 사용하는 파라미터를 결정합니다. 쿼리 API의 경우 작업은 API 이름입니다. (RESTful API 같은) 비쿼리 API의 경우에는 서비스 설명서에서 적절한 작업을 확인하십시오.

필수 및 선택적 파라미터

이 요소는 요청 작업에 대한 파라미터를 지정합니다. 웹 서비스의 각 작업에는 API 호출을 정의하는 필수 및 선택적 파라미터 세트가 있습니다. API 버전은 대부분 필수 파라미터입니다. 필수 및 선택적 파라미터 관련 세부 정보는 서비스 설명서를 참조하십시오.

Date

요청을 한 날짜 및 시간입니다. 요청에 날짜를 포함하면 타사가 요청을 가로채고 나중에 다시 전송하지 못하도록 차단할 수 있습니다. 날짜는 ISO8601 기본 형식을 이용해 x-amz-date 헤더를 통해 YYYYMMDD'T'HHMMSS'Z' 형식으로 지정됩니다.

인증 파라미터

사용자가 전송하는 각 요청에는 AWS가 요청의 유효성 및 진위를 확인하기 위해 사용하는 다음 파라미터 집합을 포함해야 합니다.

  • 알고리즘. 사용자가 서명 알고리즘의 일부로 사용하는 해시 알고리즘입니다. 예를 들어 SHA-256으로 해시를 만든다면 AWS4-HMAC-SHA256 값을 사용하십시오.

  • 자격 증명 범위. 사용자의 액세스 키 ID와 자격 증명 범위 구성 요소를 연결해 형성한, 슬래시('/')로 구분한 문자열입니다. 자격 증명 범위에는 YYYYMMDD 형식의 날짜, AWS 리전, 서비스 이름, 특수 종료 문자열 (aws4_request). 예를 들어, 다음 문자열은Credential매개 변수의 IAM 요청에 대한us-east-1 리전.

    AKIAIOSFODNN7EXAMPLE/20111015/us-east-1/iam/aws4_request

    중요

    리전, 서비스 이름, 특수 종료 문자열에는 소문자를 사용해야 합니다.

  • SignedHeaders 서명에 포함할 HTTP/HTTPS를 세미콜론(';')으로 구분한 목록입니다.

  • 서명 작업 3: AWS 서명 버전 4에 대한 서명 계산에서 설명하는 서명 작업의 출력을 나타내는, 16진수로 인코딩한 문자열입니다. Algorithm 파라미터에서 지정한 알고리즘을 사용해 서명을 계산해야 합니다.

샘플 서명 요청을 보려면 전체 서명 버전 4 서명 프로세스 예 (Python) 단원을 참조하십시오.