使用額外檢查總和來檢查 Amazon S3 中的資料完整性

教學

概觀

組織不斷建立數位資產,並將其遷移至 Amazon S3。這些資產包括影像、二進位檔案、後製轉譯等等,所有這些都是業務關鍵型資產。隨著資產在工作流程中遷移和使用,您要確保檔案不因網路損壞、硬碟故障或其他意外問題而更改。如今,該產業使用演算法逐位元組掃描檔案,以產生不重複的指紋,稱為檢查總和。
 
使用檢查總和,您可以確認資產在複製時未經更改。執行檢查總和包括使用演算法,來依序反覆運作檔案中的每一個位元組。

Amazon S3 提供多種檢查總和選項,以加速資料完整性檢查。當客戶上傳物件時,這些功能會計算檔案的檢查總和。將大量資料遷移至 Amazon S3 的客戶,希望執行這些完整性檢查做為耐久性最佳實務,並確認每個位元組都能在不更改的情況下傳輸。這可讓客戶維護端對端資料完整性。物件上傳時會建立檢查總和,並在物件的整個生命週期保留該檢查總和。下載物件時,會在最後驗證相同的檢查總和,以提供端對端資料完整性。Amazon S3 支援的額外演算法包括:SHA-1、SHA-256、CRC32 和 CRC32-C。使用這些新的資料完整性檢查功能,您可以確認檔案在資料傳輸期間或上傳或下載期間未經更改。

待完成事項

  • 將檔案上傳至 Amazon S3
  • 比較 Amazon S3 和本機檔案上的檢查總和以驗證資料完整性

先決條件

 AWS 經驗

初階

 完成時間

20 分鐘

 完成成本

低於 1 美元 (Amazon S3 定價頁面)

 要求

AWS 帳戶

 使用的服務

 上次更新日期

2022 年 8 月 15 日

實作

步驟 1:建立 Amazon S3 儲存貯體

  • 1.1 – 登入 Amazon S3 主控台
    • 如果您尚未建立 AWS 帳戶,請先建立一個 AWS 帳戶。
    • 使用您的帳戶資訊登入 AWS 管理主控台
    • 在 AWS Console 服務搜尋列中,輸入 S3。 在服務搜尋結果區段下,選取 S3。您可能會注意到 S3 Glacier 的選項。此選項適用於與 Amazon S3 整合之前的 Glacier 服務。建議 Amazon S3 Glacier 使用者藉助 Amazon S3 主控台來增強使用者體驗。

  • 1.2 – 建立 S3 儲存貯體
    • 從左側 Amazon S3 選單中,選擇儲存貯體,然後選擇建立儲存貯體按鈕。
  • 1.3
    • 為儲存貯體輸入一個全域唯一的描述性名稱。選取您希望在其中建立儲存貯體的 AWS 區域。預設的封鎖公開存取設定適合此工作負載,因此保留該區段的設定。
    • 您可以將剩餘的選項保留為預設值,導覽至頁面底部,然後選擇建立儲存貯體

步驟 2:上傳檔案並指定檢查總和演算法

現在已建立並設定您的儲存貯體,您可以隨時上傳檔案,並藉由 Amazon S3 計算檢查總和。
  • 2.1 – 上傳物件
  • 2.2
    • 接下來,選取物件標籤。然後在物件區段中,選擇上傳按鈕。
  • 2.3 – 新增檔案
    • 選擇新增檔案按鈕,然後從檔案瀏覽器中選取您要上傳的檔案。
  • 2.4 – 展開屬性
    • 向下導覽頁面,以尋找屬性區段。然後,選取屬性並展開該區段。
  • 2.5 – 選擇額外檢查總和
    • 在「額外檢查總和」下,選取「開啟」選項並選擇 SHA-256。

如果您的物件小於 16 MB,並且您已計算 SHA-256 檢查總和 (base64 編碼),您可以在「預先計算值」輸入方塊中提供。若要針對大於 16 MB 的物件使用此功能,您可以使用 CLI 或 SDK。Amazon S3 收到物件時,會使用指定的演算法計算檢查總和。如果檢查總和值不相符,Amazon S3 會產生錯誤並拒絕上傳,如螢幕擷取畫面所示。

  • 2.6 – 上傳
    • 向下導覽頁面,然後選擇上傳按鈕。
  • 2.7
    • 上傳完成後,選擇關閉按鈕。

步驟 3:驗證檢查總和

  • 3.1
    • 選取檔案名稱以選擇上傳的文件。這會將帶您到屬性頁面。
  • 3.2 – 找到檢查總和值
    • 向下導覽屬性頁面,您會找到額外檢查總和區段。
    • 本節顯示 Amazon S3 在上傳時計算和驗證的 base64 編碼檢查總和。
  • 3.3 – 比較
    • 若要比較本機電腦中的物件,請開啟終端視窗,然後導覽至檔案所在的位置。
    • 使用 shasum 之類的公用程式來計算檔案。下列命令在相同的檔案上執行 sha256 計算,並將十六進位輸出轉換為 base64: shasum -a 256 image.jpg | cut -f1 -d\ | xxd -r -p | base64
    • 比較此值時,應與 Amazon S3 主控台中的值相符。

步驟 4:清除

在接下來的步驟中,您將清除在本教學中建立的資源。最佳實務是刪除不再使用的資源,以免產生意外費用。
  • 4.1 – 刪除測試物件
    • 如果您已登出 AWS 管理主控台工作階段,請重新登入。導覽至 S3 主控台並選取儲存貯體選單選項。首先,您需要從測試儲存貯體中刪除測試物件。選取您在本教學中使用的儲存貯體的名稱。選取測試物件名稱左側的核取方塊,然後選擇刪除按鈕。在刪除物件頁面上,確認您是否已選取要刪除的物件,並在永久刪除物件確認方塊中輸入永久刪除。然後,選擇刪除物件按鈕以繼續。接下來,您將看到一條橫幅,指明刪除是否成功。
  • 4.2 – 刪除測試儲存貯體
    • 最後,您需要刪除已建立的測試儲存貯體。回到您帳戶中的儲存貯體清單。選取為本教學建立的儲存貯體左側的選項按鈕,然後選擇刪除按鈕。檢視警告訊息。如果要繼續刪除此儲存貯體,請在刪除儲存貯體確認方塊中輸入儲存貯體的名稱,然後選擇刪除儲存貯體

結語

恭喜您! 您已了解如何將檔案上傳至 Amazon S3、計算額外檢查總和,以及比較 Amazon S3 和本機檔案上的檢查總和,以驗證資料完整性。

本頁對您是否有幫助?

後續步驟

若要進一步了解檢查總和,請瀏覽下列資源。

探索額外檢查總和

若要進一步了解 Amazon S3 中的額外檢查總和,請閱讀發佈部落格,並瀏覽檢查物件完整性文件

探索追蹤檢查總和

Amazon S3 還推出了追蹤檢查總和,這是 AWS SDK 的一項新功能。SDK 會使用追蹤檢查總和,在將檔案上傳至 Amazon S3 時,以單一傳遞計算檢查總和。在建置可擴展檢查總和部落格文章中,閱讀更多相關資訊。