本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 6:驗證分類帳中的文件
使用 Amazon QLDB,您可以使用搭配 SHA-256 的加密雜湊,有效地驗證分類帳日誌中文件的完整性。在這個例子中,亞歷克西斯和布倫特決定通過在汽車經銷商與 VIN1N4AL11D75C109151
交易車輛升級到一個新的車型。經銷商通過與註冊辦事處驗證車輛的所有權來啟動該過程。
若要深入瞭解驗證和加密雜湊如何在 QLDB 中運作,請參閱Amazon QLDB 中的數據驗證。
在此步驟中,您會核對vehicle-registration
分類帳中的文件版次。首先,您要求摘要,該摘要會以輸出檔案的形式傳回,並做為分類帳整個變更歷史記錄的簽章。然後,您要求相對於該摘要的修訂版本的證明。使用此證明,如果所有驗證檢查都通過,則會驗證修訂的完整性。
要求摘要
開啟亞馬遜 QLDB 主控台,網址為 https://console.aws.amazon.com/qldb
。 -
在導覽窗格中,選擇分類帳。
-
在分類帳清單中,選取
vehicle-registration
。 -
選擇取得摘要。「取得摘要」對話方塊會顯示下列摘要詳細資訊:
-
摘要 — 您要求之摘要的 SHA-256 雜湊值。
-
摘要提示位址 — 您要求摘要涵蓋的日誌中最新的區塊位置。地址有下列兩個欄位:
-
strandId
— 包含區塊之日誌鏈的唯一 ID。 -
sequenceNo
— 指定圖塊在鏈中位置的索引號碼。
-
-
分類帳 — 您請求摘要的分類帳名稱。
-
日期 — 您請求摘要時的時間戳記。
-
-
檢閱摘要資訊。然後選擇 Save (儲存)。您可以保留預設檔案名稱,或輸入新名稱。
此步驟會以 Amazon Ion 格式儲存內容的純文字檔案。檔案的副檔名為,
.ion.txt
並包含上述對話方塊中列出的所有摘要資訊。以下是摘要檔案內容的範例。欄位的順序可能會因您的瀏覽器而有所不同。{ "digest": "42zaJOfV8iGutVGNaIuzQWhD5Xb/5B9lScHnvxPXm9E=", "digestTipAddress": "{strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:73}", "ledger": "vehicle-registration", "date": "2019-04-17T16:57:26.749Z" }
-
將此檔案儲存在稍後可存取的位置。在下列步驟中,您可以使用此檔案來驗證文件的修訂版本。
儲存分類帳摘要之後,您可以開始根據該摘要驗證文件修訂的程序。
注意
在用於驗證的生產用例中,您使用先前保存的摘要,而不是連續執行兩個任務。最佳作法是在稍後要驗證的修訂寫入日誌後,請求並儲存摘要。
核對文件修訂
-
首先,查詢您要核對
id
blockAddress
之文件版次的與分類帳。這些欄位包含在文件的中繼資料中,您可以在已提交的檢視中進行查詢。文件
id
是系統指派的唯一 ID 字串。這blockAddress
是一個 Ion 結構,用於指定提交修訂的塊位置。在 QLDB 主控台的導覽窗格中,選擇 PartiQL (專用主控台)。
-
選擇分
vehicle-registration
類帳。 -
在查詢編輯器視窗中,輸入下列陳述式,然後選擇 Run (執行)。
SELECT r.metadata.id, r.blockAddress FROM _ql_committed_VehicleRegistration AS r WHERE r.data.VIN = '1N4AL11D75C109151'
-
複製並儲存
id
查詢傳回的 ANDblockAddress
值。請務必省略id
欄位的雙引號。在 Amazon Ion 中,字串資料類型會以雙引號分隔。 -
現在您已經選擇了文件修訂版,您可以開始驗證它的過程。
在導覽窗格中,選擇 Aquery (驗證)。
-
在 [驗證文件] 表單的 [指定您要驗證的文件] 下,輸入下列輸入參數:
-
分類帳-選擇
vehicle-registration
。 -
區塊位址 — 您在步驟 3 中查詢傳回的
blockAddress
值。 -
文件 ID — 您在步驟 3 中查詢傳回的
id
值。
-
-
在「指定用於驗證的摘要」下,選擇「選擇摘要」來選取先前儲存的摘要。如果該文件有效,這會自動填充控制台上的所有摘要字段。或者,您可以直接從摘要文件中手動複製並粘貼以下值:
-
摘要 — 摘要檔案中的
digest
值。 -
摘要提示位址 — 摘要檔案中的
digestTipAddress
值。
-
-
檢閱文件和摘要輸入參數,然後選擇 [驗證]。
控制台會為您自動執行兩個步驟:
-
向 QLDB 索取您指定文件的證明。
-
使用 QLDB 傳回的證明來呼叫用戶端 API,該 API 會根據提供的摘要驗證文件修訂版本。
主控台會在「驗證結果」卡片中顯示您要求的結果。如需詳細資訊,請參閱驗證結果。
-
-
若要測試驗證邏輯,請重複執行「驗證文件修訂」下的步驟 6-8,但變更摘要輸入字串中的單一字元。這會導致您的「驗證」要求失敗,並顯示適當的錯誤訊息。
如果您不再需要使用vehicle-registration
分類帳,請繼續執行步驟 7 (選擇性):清除資源。