青いセーターを着た人がコンピュータで作業している
Microsoft Base ロゴ

技術ブログ

Azureに関する技術情報

Azure SQL Database Ledgerの発表

Azure | SQL Database

Jason M. Anderson

Jason M. Anderson

公開日時: 2021 年 5 月 25 日 午前 8 時 00 分

ブロックチェーンにより、企業に変革がもたらされ、マルチパーティ ワークフローの信頼がデジタル化されています。ブロックチェーンはデータや、データを生成するビジネス ロジックを分散させます。これにより、合意に基づいたビジネス プラクティスが確実に遵守されるようにするために必要な関係者間のビジネス契約が強化されたり、置き換えられたりしています。

しかし、ブロックチェーンは、信頼のデジタル化を必要とするすべてのシステムに必ずしも適しているわけではありません。もし、他の関係者にデータの整合性を証明する (例: 悪意のある関係者によってデータが改ざんされていないことを監査機関や規制機関に示す) 必要がある一元化されたシステムを利用していたらどうしますか。このたび、Azure SQL Database に改ざん防止機能を追加する Azure SQL Database Ledgerがリリースされることになりました。この機能は、まず、米国中西部リージョンにおいてプレビュー版が利用可能になり、その後すぐにすべてのリージョンで利用可能になります。

ブロックチェーンのパワー、SQL のシンプルさ

ブロックチェーンは、特に企業においては、まだ比較的目新しいテクノロジです。現在、プロトコルが急速に進化し、開発ツールが成熟し続け、標準が確立され始めている段階です。しかし、基本的に一元化されているシステムに対してデジタルの信頼を実現するブロックチェーンに、多くの企業が魅力を感じています。新しいシステムをブロックチェーンに基づいて構築するのは大変なことです。データを移行して、ビジネス ロジックをスマート コントラクト内に実装しなければなりません。信頼性が低く、分散化が必要なシステムの場合は、そうした労力を費やすだけの価値はありますが、一元化されたシステムの場合には、従来のブロックチェーンでは大仰すぎるかもしれません。

Azure SQL Database Ledgerは、関係者間の信頼を強化する必要があるこれらの一元化されたシステム向けに、よりシンプルなソリューションを提供します。Azure SQL Database の一機能であるこの台帳機能では、データの移行やアプリケーションの変更は一切必要ありません。データベースのテーブルで台帳機能を有効にして、その他のテーブルと同じように扱うことができます。

Avanade logo

「Azure SQL Database Ledgerを使用してみて、ブロックチェーン コンソーシアム全体のオーバーヘッドがなく、証明やエンドツーエンドのデータの監査が必要な組織にとって非常に強力な機能であることがわかりました。この台帳機能により、クラス最高のデータベースを使用した、既存のエンタープライズ スタックでの構築、セキュリティの確保、開発の迅速化が可能になります。Azure SQL Database Ledgerのユース ケースを紹介した Avanade の記事をぜひお読みください。この台帳機能を利用した医療追跡の方法がわかるサンプル アプリケーションもあります」

新興テクノロジ担当製品 & エンジニアリング リード

Chris-Lloyd Jones 氏

データを信頼しながら検証

この台帳機能を使用すると、悪意をもって改ざんされた Azure SQL Database のデータを検出して、元の値に戻せるようになります。ブロックチェーン テクノロジと同じ暗号化パターンを使用して、各トランザクションが暗号学的にハッシュ化され、ブロックチェーン データ構造に挿入されます。その後、データベースの計算済みハッシュが Azure SQL Database 外部にある改ざん防止ストレージ (Azure 不変 BLOB ストレージAzure Confidential Ledger など) にデータベース ダイジェストとして格納されます。データベース ダイジェストは、ダイジェスト内のハッシュ値と Azure SQL Database Ledger内に格納されている計算済みハッシュを比較して、データベース内のデータが改ざんされていないことを後で検証するのに使用されます。データベース内で 1 ビットだけ変更されている場合でも、データベース検証プロセスによって改ざんが検出および報告されます。

RTGS global logo

「Azure SQL Database Ledgerにより、ブロックチェーン テクノロジのあらゆるメリットが弊社のプラットフォームにもたらされます。しかも、ブロックチェーン インフラストラクチャに関する手間のかかる作業が発生することはなく、パフォーマンスについて考慮したり、データの所在地に関する課題に対処したりする必要もありません。マイクロソフトと緊密に連携しながらこのテクノロジを活用することで、弊社の提案を改善し、世界の商業銀行や規制機関にも新たなメリットをもたらすことができるようになりました」

最高技術責任者

Andrew Smith 氏

Azure SQL Database Ledgerは、データベース向けに 2 種類の台帳対応テーブルを提供しています。1 つは更新可能な台帳テーブル、もう 1 つは追加専用の台帳テーブルです。

更新可能な台帳テーブル

大半の既存アプリケーションには、データの更新や削除、そして挿入のパターンが存在します。では、アプリケーションによってデータベース内のデータが変更される場合、どのようにして改ざんを防止したらよいでしょうか。更新可能な台帳テーブルでは、データベース内で変更または削除された行の過去の値を、関連付けられた履歴テーブルに記録します。しかし、変更された行の過去の値を記録したとしても、これらの変更を行ったユーザーだけではなく、変更を開始したトランザクションもわからないと役に立ちません。

更新可能な台帳テーブルの各トランザクションにおける一連の行の変更が追跡されるだけでなく、それらのトランザクションには一意のトランザクション ID が割り当てられます。この情報により、長期にわたるデータベース内のデータに対するすべての変更のデータ系列について理解するのに必要なフォレンジックを行うことが可能になります。

簡単な銀行取引を例に説明しましょう。Nick の口座には最初に 50 ドルの残高がありました (a)。後日、Nick は新たに 50 ドルを口座に入金し、合計残高が 100 ドルになりました。台帳ビューでは、これは最初の 50 ドルの残高の DELETE、および 100 ドルの新規行の INSERT として表示されます (b)。更新可能な台帳テーブルでは、データの履歴と、データの変更を開始したトランザクション ID の両方を示す台帳ビューが作成されます。

実際の口座台帳スキーマは、正規化されたテーブルを使用する、これよりもずっと複雑なものです。ここでは、更新可能な台帳テーブルにおける履歴データの管理の関係性を示す、簡単な例をご紹介しました。更新可能な台帳テーブルの使用方法については、上記の例を使用した、こちらのチュートリアルを参照してください。

追加専用の台帳テーブル

追加専用の台帳テーブルが更新可能な台帳テーブルと異なるところは、UPDATE と DELETE の操作が SQL Server によってブロックされることです。そのため、追加専用の台帳テーブルは、セキュリティ情報およびイベント管理 (SIEM) システムなど、挿入専用のパターンが想定されるアプリケーションに最適です。UPDATE と DELETE の操作のブロックにより、関連付けられた履歴テーブルが不要になります。また、追加専用の台帳テーブルでは、特権ユーザーが追加専用の台帳テーブルのデータを変更できないようにする追加のセキュリティ層が提供されます。

追加専用の台帳テーブルの他のメリットとして、ブロックチェーン アプリケーションを拡張できることが挙げられます。ブロックチェーンは、高スループットのクエリ用に最適化されておらず、ビジネス インテリジェンス レポートに必要なリレーショナル機能も備えていません。ブロックチェーン データを Azure SQL Database Ledgerにレプリケートすることで、ブロックチェーン データのクエリをパフォーマンスの高い方法で簡単に実行できるようになります。そして何よりも、ブロックチェーンからオフチェーンまでの追加専用台帳テーブルのデータの整合性を維持できるようになります。追加専用の台帳テーブルの使用方法については、こちらの簡単なチュートリアルを参照してください。

「bp では、開発者のスピード、台帳のクエリの実行、インフラストラクチャのコストなど、従来使用していたブロックチェーン ソリューションの主要な障害に対応するための代替ソリューションについて検討することにしました。Azure SQL Database Ledgerは、データの整合性に対する高度な信頼性が求められる一元化されたソリューション向けの改ざん防止機能を備えたデータ ストアを提供します。Azure SQL Database Ledgerを利用することで、開発者のスピードが向上しており、安全性という弊社の中核を成す価値観を支える、セキュアな、信頼できるアプリケーションを構築する bp の能力も向上するだろうと期待しています」

Azure アーキテクト – デジタル プロダクション & ビジネス サービス

Christian Mare 氏

 

< 前の記事

> 次の記事

ページの先頭へ戻る