本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
驗證請求:使用 POST 以瀏覽器為基礎的上傳AWS (簽章第 4 版)
Amazon S3 支援 HTTP POST 請求,讓使用者可以直接將內容上傳至 Amazon S3。使用 HTTP POST 上傳內容可簡化上傳,並減少使用者上傳資料以存放在 Amazon S3 中的上傳延遲。本節說明如何驗證 HTTP POST 請求。如需 HTTP POST 請求、如何建立表單、建立 POST 政策以及範例的詳細資訊,請參閱 使用 POST 的瀏覽器型上傳AWS (簽章第 4 版)。
若要驗證 HTTP POST 請求,請執行下列動作:
-
表單必須包含下列欄位,以提供 Amazon S3 在收到請求時可用來重新計算簽章的簽章和相關資訊:
元素名稱 說明 policy描述請求中允許內容的 Base64-encoded安全政策。對於簽章計算,此政策是您簽署的字串。Amazon S3 必須取得此政策,才能重新計算簽章。
x-amz-algorithm使用的簽署演算法。對於 AWS Signature 第 4 版,值為
AWS4-HMAC-SHA256。x-amz-credential除了您的存取金鑰 ID 之外,這還提供了您在計算簽章計算的簽署金鑰時使用的範圍資訊。
這是以下格式的字串:
<your-access-key-id>/<date>/<aws-region>/<aws-service>/aws4_request例如:
AKIAIOSFODNN7EXAMPLE/20130728/us-east-1/s3/aws4_request. .對於 Amazon S3,aws-service 字串為
s3。如需 Amazon S3aws-region字串的清單,請參閱 中的區域和端點AWS 一般參考。x-amz-date這是 ISO8601 格式的日期值。例如
20130728T000000Z。這是您在建立簽署金鑰時使用的相同日期。這也必須與您在簽署的政策 (
x-amz-date) 中提供的值相同。x-amz-signature(AWS 簽章版本 4) 安全政策的 HMAC-SHA256 雜湊。
如需簽章選項的詳細資訊,請參閱《》中的將簽章新增至 HTTP 請求AWS 一般參考。
-
POST 政策必須包含下列元素:
元素名稱 說明 x-amz-algorithm您用來計算簽章的簽署演算法。對於 AWS Signature 第 4 版,值為
AWS4-HMAC-SHA256。x-amz-credential除了您的存取金鑰 ID 之外,這還提供了您在計算簽章計算的簽署金鑰時使用的範圍資訊。
這是以下格式的字串:
<your-access-key-id>/<date>/<aws-region>/<aws-service>/aws4_request例如
AKIAIOSFODNN7EXAMPLE/20130728/us-east-1/s3/aws4_request. .x-amz-dateISO8601 格式字串中指定的日期值。例如,「20130728T000000Z」。日期必須與您在建立簽章計算的簽署金鑰時所使用的日期相同。
-
對於簽章計算,POST 政策是要簽署的字串。
計算簽章
下圖說明簽章計算程序。
計算簽章
-
使用 UTF-8 編碼建立政策。
-
將 UTF-8-encoded政策轉換為 Base64。結果是要簽署的字串。
-
建立簽章做為要簽署之字串的 HMAC-SHA256 雜湊。您將提供簽署金鑰做為雜湊函數的金鑰。
-
使用十六進位編碼來編碼簽章。
如需建立 HTML 表單、安全政策和範例的詳細資訊,請參閱下列子主題: