請求簽章的 AWS API元素 - AWS Identity and Access Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

請求簽章的 AWS API元素

重要

除非您使用 AWS SDKs或 CLI,否則您必須編寫程式碼來計算在請求中提供身分驗證資訊的簽章。簽章第 4 版中的 AWS 簽章計算可能是一項複雜的任務,我們建議您CLI盡可能使用 AWS SDKs或 。

每個使用 Signature 第 4 版簽署的 HTTP/HTTPS 請求必須包含這些元素。

端點規格

指定您傳送請求的端點DNS名稱。此名稱通常包含服務代碼和區域。例如,us-east-1 區域中 Amazon DynamoDB 的端點為 dynamodb.us-east-1.amazonaws.com

對於 HTTP/1.1 請求,您必須包含 Host 標頭。對於 HTTP/2 請求,您可以包含 :authority 標頭或 Host標頭。僅使用 :authority 標頭以符合 HTTP/2 規格。並非所有服務都支援 HTTP/2 請求。

如需每個服務支援的端點,請參閱 AWS 一般參考 中的服務端點和配額

動作

指定 服務API的動作。例如,DynamoDB CreateTable動作或 Amazon EC2DescribeInstances動作。

如需每個服務支援的動作,請參閱服務授權參考

動作參數

指定請求中指定的動作參數。每個 AWS API動作都有一組必要和選用參數。API 版本通常是必要的參數。

如需 API動作支援的參數,請參閱 服務的API參考。

日期

指定請求的日期和時間。請求中附上日期和時間有助於防止第三方攔截您的請求再於稍後重新提交。您在憑證範圍中指定的日期必須與請求日期相符。

時間戳記必須是 UTC,並使用下列 ISO 8601 格式:YYYYMMDDT HHMMSSZ。例如:20220830T123600Z。不包含時間戳記的毫秒數。

您可以使用 date 標頭或 x-amz-date 標頭,或包含 x-amz-date 作為查詢參數。如果找不到 x-amz-date 標頭,那麼我們會尋找 date 標頭。

身分驗證資訊

您傳送的每個請求必須包含以下資訊。 AWS 會使用此資訊來確保請求的有效性和真實性。

  • 演算法 – 搭配使用 AWS 4-HMAC-SHA256HMAC-SHA256 雜湊演算法來指定 Signature Version 4。

  • 憑證 – 由您的存取金鑰 ID、YYYYMMDD格式日期、區域碼、服務碼和aws4_request終止字串組成的字串,以斜線 (/) 分隔。區域代碼、服務代碼和終止字串必須使用小寫字元。

    AKIAIOSFODNN7EXAMPLE/YYYYMMDD/region/service/aws4_request
  • 已簽章標頭 – 要包含在簽章中的HTTP標頭,以分號 (;) 分隔。例如:host;x-amz-date

  • 簽章 – 表示已計算出之簽章的十六進位編碼字串。您必須使用 Algorithm 參數所指定的演算法計算簽章。

如需詳細資訊,請參閱 身分驗證方法