台帳を調べる

完了

レジャー は、データベースに改ざん検知機能を提供します。 監査者や他のビジネス関係者などの他の関係者に対して、データが改ざんされていないことを暗号学的に証明できます。

しくみ

暗号とブロックチェーンは、テクノロジの広い範囲において、さまざまな成功の度合いで見られるようになっています。 それが有用で有益であることが証明された場所の1つは、台帳の背後にある技術として使用されることです。 台帳は、データベースに改ざん証拠機能を提供します。 この機能を使用すると、データが変更または改ざんされた内容を監査者、ビジネス パートナー、または関係者に具体的な証拠を提供できます。

従来の台帳は、特定の種類のアカウントのコレクションとして定義され、それこそがまさに Azure SQL Database Ledger 機能によって環境内に提供されるものです。 これにより、攻撃者や、データベースやクラウドの管理者など、悪意のあるアクターからデータを透過的に保護できます。 Azure SQL Database の機能、柔軟性、パフォーマンスを維持しつつ、暗号化データの整合性が保証されます。

 台帳テーブル アーキテクチャの図。

データベースによって受信された各トランザクションは、暗号学的にハッシュされます (SHA-256)。 この関数は、ブロックチェーンのように、すべてのトランザクションを暗号学的にリンクします。

コンポーネント

現在、台帳関数は、更新可能な台帳テーブルと追加専用台帳テーブルの 2 つの形式のテーブルに対して存在します。

更新可能な台帳テーブル

更新可能な台帳テーブルは、更新、削除、挿入を発行するアプリケーションに使用できます。 事実の記録保持と監査が必要とされ、行われる記録アプリケーションのシステムやトランザクション システムに適しています。 更新可能な台帳テーブルにより、あらゆる行の変更履歴が追跡され、組み込みのシステム バージョン管理を使って履歴テーブルが作成されます。ここに、すべての更新または削除の全履歴を保持するために、前のバージョンの行が格納されます。

追加専用の台帳テーブル

追加専用の台帳テーブルは、会計システムなどの挿入専用のアプリケーションに適しています。この場合、監査またはセキュリティ情報イベント管理 (SIEM) アプリケーションも必要です。 追加専用の台帳の場合、API レベルですべての更新と削除がブロックされるので、確実性が高くなるだけでなく、管理にも役立ちます。

メリット

台帳には複数の利点があります。

簡易な監査 - 攻撃の可能性を減らすために適切なセキュリティ制御が実施され、バックアップと復元のプラクティスが必要に応じて行われ、ディザスター リカバリー手順が徹底されていることを確認するために、監査が頻繁に実施されます。 台帳は、監査プロセスでデータが変更されていないことを示す文書化された証拠を提供します。

信頼の向上 - 台帳は、ネットワーク コンセンサスで発生する可能性のある複雑さとパフォーマンスへの影響なしに、複数のパーティのビジネス プロセス間の信頼を確立するのにも役立ちます。

データ整合性 - パフォーマンスを犠牲にせずにブロックチェーン ネットワーク上のデータのクエリを実行することは、重大な課題になる可能性があります。 台帳により、ブロックチェーン ネットワークのオフチェーン ストレージにデータ整合性が提供され、システム全体を通じて完全なデータ信頼性が確保されます。

SQL データベースで台帳を有効にする

台帳機能は、データベース作成プロセス中にのみ有効にすることができます。 データベースが作成されると、データベースを変更することはできません。

  1. データベースの作成中に、Azure portal の SQL データベースの作成 ページの セキュリティ タブで 台帳 を選択します。

  2. [ 台帳の構成] リンクを選択します。 [ 台帳の構成 ] ページ で、[このデータベースのすべての今後のテーブルに対して有効にする ] チェック ボックスをオンにします。 データベース ダイジェスト用の新しいストレージを作成するための情報を指定します。 [適用] を選択します。

    Azure SQL データベースの台帳機能を有効にする方法を示すスクリーンショット。

Note

この設定により、以降、データベース内のすべてのテーブルが台帳テーブルになります。 このため、データベース内のすべてのデータには、改ざんの証拠が示されるようになります。 既定では、LEDGER = ON ステートメントで CREATE TABLE を指定しない場合でも、新しいテーブルは更新可能な台帳テーブルとして作成されます。

このオプションをオフのままにすることもできます。 この場合、Transact-SQL を使用して新しいテーブルを作成する際に、テーブルごとに台帳機能を有効にする必要があります。