ステップ 6: 台帳のドキュメントを検証する - Amazon Quantum 台帳データベース (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 6: 台帳のドキュメントを検証する

重要

サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon Ledger QLDB を Amazon Aurora Postgre に移行するSQL」を参照してください。

Amazon ではQLDB、SHA-256 で暗号化ハッシュを使用することで、台帳のジャーナル内のドキュメントの整合性を効率的に検証できます。この例では、Alexis と Brent は、自動車販売会社で車両を と取引してVIN1N4AL11D75C109151、新しいモデルにアップグレードすることにしました。ディーラーは、登記所に問い合わせて車両の所有権を検証することで、このプロセスを開始します。

での検証と暗号化ハッシュの仕組みの詳細についてはQLDB、「」を参照してくださいAmazon でのデータ検証 QLDB

このステップでは、vehicle-registration 台帳内のドキュメントリビジョンを検証します。まず、ダイジェストをリクエストします。ダイジェストは出力ファイルとして返され、台帳の変更履歴全体の署名として機能します。次に、そのダイジェストに関連するリビジョンの証明をリクエストします。この証明を使用して、すべての検証チェックに合格すると、リビジョンの整合性が検証されます。

ダイジェストをリクエストするには

  1. https://console.aws.amazon.com/qldb で Amazon QLDBコンソールを開きます。

  2. ナビゲーションペイン内で [Ledgers (台帳)] を選択します。

  3. 台帳のリストで、「vehicle-registration」を選択します。

  4. [Get digest (ダイジェストの取得)] を選択します。[Get digest (ダイジェストの取得)] ダイアログボックスに、以下のようなダイジェスト詳細が表示されます。

    • Digest – リクエストしたダイジェストの SHA-256 ハッシュ値。

    • [Digest tip address] (ダイジェストティップアドレス) - リクエストしたダイジェストの対象となっているジャーナル内の最新のブロック位置。アドレスには以下の 2 つのフィールドがあります。

      • strandId - ブロックを含むジャーナルストランドの一意の ID。

      • sequenceNo - ストランド内のブロックの位置を指定するインデックス番号。

    • [Ledger] (台帳) - ダイジェストをリクエストした台長名。

    • [Date] (日付) - ダイジェストをリクエストしたときのタイムスタンプ。

  5. ダイジェスト情報を確認します。次に、[Save] (保存) を選択します。デフォルトのファイル名はそのままにしておくことも、新しい名前を入力することもできます。

    このステップでは、Amazon Ion 形式のコンテンツを含むプレーンテキストファイルが保存されます。このファイルには、.ion.txt のファイル名拡張子が付いており、前述のダイアログボックスに列挙されたすべてのダイジェスト情報が含まれています。以下は、ダイジェストファイルのコンテンツ例です。フィールドの順序はブラウザにより異なる場合があります。

    {   "digest": "42zaJOfV8iGutVGNaIuzQWhD5Xb/5B9lScHnvxPXm9E=",   "digestTipAddress": "{strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:73}",   "ledger": "vehicle-registration",   "date": "2019-04-17T16:57:26.749Z" }
  6. このファイルを保存して後でアクセスすることができます。以下の手順では、このファイルを使用して、ドキュメントのリビジョンを検証します。

台帳ダイジェストを保存した後は、そのダイジェストと照合してドキュメントのリビジョンを検証するプロセスを開始できます。

注記

検証の本稼働ユースケースでは、2 つのタスクを同時に行うのではなく、以前に保存したダイジェストを使用します。ベストプラクティスとして、後で検証するリビジョンがジャーナルに書き込まれ次第、ダイジェストをリクエストして保存します。

ドキュメントのリビジョンを検証するには

  1. 最初に、検証するドキュメントリビジョンの idblockAddress に関するクエリを台帳に対し実行します。これらのフィールドはドキュメントのメタデータに含まれており、コミット済みビューでクエリを実行できます。

    ドキュメント id は、システムによって割り当てられた一意の ID 文字列です。blockAddress は、リビジョンがコミットされたブロックの位置を指定する Ion 構造です。

    QLDB コンソールのナビゲーションペインで、PartiQL エディタ を選択します。

  2. vehicle-registration 台帳を選択します。

  3. クエリエディタウィンドウで、以下のステートメントを入力し、[Run (実行)] を選択します。

    SELECT r.metadata.id, r.blockAddress FROM _ql_committed_VehicleRegistration AS r WHERE r.data.VIN = '1N4AL11D75C109151'
  4. クエリによって返された idblockAddress の値をコピーし、保存します。id フィールドの二重引用符は必ず省略してください。Amazon Ion では、文字列データ型は二重引用符で区切られます。

  5. これでドキュメントリビジョンが選択されたため、検証プロセスを開始できます。

    ナビゲーションペイン内で [Verification (検証)] を選択します。

  6. [Verify document (ドキュメントの検証)] フォームの [Specify the document that you want to verify (検証するドキュメントの指定)] に、次の入力パラメータを入力します。

    • [Ledger] (台帳) — vehicle-registration を選択します。

    • [Block address] (ブロックアドレス) - ステップ 3 のクエリで返された blockAddress 値。

    • [Document ID] (ドキュメント ID) - ステップ 3 のクエリで返された id 値。

  7. [Specify the digest to use for verification (検証に使用するダイジェストの指定)] で、[Choose digest (ダイジェストの選択)] を選択することで、以前に保存されたダイジェストを選択します。ファイルが有効であれば、コンソールにあるすべてのダイジェストフィールドにデータが自動入力されます。また、以下の値をダイジェストファイルから手動で直接コピーして貼り付けることもできます。

    • [Digest] (ダイジェスト) - ダイジェストファイルからの digest 値。

    • [Digest tip address] (ダイジェストティップアドレス) - ダイジェストファイルからの digestTipAddress 値。

  8. ドキュメントおよびダイジェストの入力パラメータを再確認し、[Verify (検証)] を選択します。

    コンソールが次の 2 つのステップを自動的に実行します。

    1. 指定したドキュメントQLDBの証明を にリクエストします。

    2. によって返された証明を使用して、クライアント側の QLDBを呼び出します。これによりAPI、提供されたダイジェストに対してドキュメントリビジョンが検証されます。

    コンソールの [Verification results (検証結果)] カードに、リクエストの結果が表示されます。詳細については、「検証結果」を参照してください。

  9. 検証ロジックをテストするには、「ドキュメントのリビジョンを検証するには」のステップ 6~8 を繰り返しますが、[Digest] (ダイジェスト) 入力文字列の 1 文字を変更します。これにより、[Verify (検証)] リクエストは失敗し、適切なエラーメッセージが表示されます。

vehicle-registration 台帳を使用する必要がなくなった場合は、「ステップ 7 (オプション): リソースをクリーンアップする」に進みます。