本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 EBS APIs 檢查總和來驗證快照資料
GetSnapshotBlock 動作會傳回快照區塊中的資料,而 PutSnapshotBlock 動作會將資料加入快照區塊中的資料。傳輸的區塊資料不會被簽署為簽章版本 4 簽署程序的一部分。因此,檢查總和會用於驗證資料的完整性,如下所示:
-
當您使用 GetSnapshotBlock 動作時,回應會針對使用 x-amz-Checksum 標頭的區塊資料以及使用 x-amz-Checksum-Algorithm 標頭演算法提供 Base64 編碼的 SHA256 檢查總和。使用傳回的檢查總和來驗證資料的完整性。如果您產生的檢查總和與 Amazon EBS 提供的檢查碼不符,您應該將資料視為無效,然後重試您的請求。
-
當您使用 PutSnapshotBlock 動作時,您的請求必須針對使用 x-amz-Checksum 標頭的區塊資料以及使用 x-amz-Checksum-Algorithm 標頭的檢查總和演算法提供 Base64 編碼的 SHA256 檢查總和。您提供的檢查總和會根據 Amazon EBS 產生的檢查總和進行驗證,以驗證資料的完整性。如果檢查總和不對應,請求就會失敗。
-
當您使用 CompleteSnapshot 動作時,您的請求可以選擇性地為新增至快照的完整資料集提供彙總 Base64 編碼的 SHA256 檢查總和。提供使用 x-amz-Checksum 標頭的檢查總和、使用 x-amz-Checksum-Algorithm 的檢查總和,以及使用 x-amz-Checksum-Aggregation-Method 標頭的檢查總和彙總方法。若要使用線性彙總方法產生彙總的檢查總和,請以區塊索引的遞增順序排列每個寫入區塊的檢查總和,將它們串連起來形成單一字串,然後使用 SHA256 演算法在整個字串上產生檢查總和。
這些動作中的檢查總和是簽章版本 4 簽署程序的一部分。