本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
請求簽章的 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-SHA256
與HMAC-SHA256
雜湊演算法來指定 Signature Version 4。 -
憑證 – 由您的存取金鑰 ID、YYYYMMDD格式日期、區域碼、服務碼和
aws4_request
終止字串組成的字串,以斜線 (/) 分隔。區域代碼、服務代碼和終止字串必須使用小寫字元。AKIAIOSFODNN7EXAMPLE
/YYYYMMDD
/region
/service
/aws4_request -
已簽章標頭 – 要包含在簽章中的HTTP標頭,以分號 (;) 分隔。例如:
host;x-amz-date
。 -
簽章 – 表示已計算出之簽章的十六進位編碼字串。您必須使用
Algorithm
參數所指定的演算法計算簽章。
如需詳細資訊,請參閱 身分驗證方法