Azure SQL Database: Auditing でセキュリティを大幅に強化
このポストは、8 月 25 日に投稿した A Boost in Security for Azure SQL Database: Auditing の翻訳です。
待望の監査機能のプレビュー版、Auditing が Azure SQL Database 向けにリリースされました。この大きなセキュリティ強化により、クラウドでのデータベース管理に関するビジネス上の障壁が解消されます。
数週間前にプレビュー版がリリースされたこの SQL Database Auditing を利用すると、データの更新や照会などデータベース内で発生したイベントや変化をより的確に把握できるようになります。非常にシンプルで直観的な構成インターフェイスを使用すれば、数分でデータベース上に稼働させることができます。Auditing がもたらすメリットについては、Eyal Carmel と Scott Klein が Channel 9 のビデオ (英語) でこの新機能をわかりやすく紹介していますので、ぜひご覧ください。
Auditing は Basic、Standard、Premium レベルのデータベースでご利用いただけます。設定は新しい Azure 管理ポータル (プレビュー)、または標準 API を通じて行います。
Auditing を使用すべき理由
データベースで Auditing を有効にするだけで、さまざまな目的に役立つ貴重な情報の宝庫が手に入ります。
- コンプライアンス関連の作業が円滑に
Auditing は、PCI-DSS、SOX、HIPAA といった業界の諸規制の要件を満たすのに役立つ有益なツールです。こうした規制の多くでは、データベースのデータに関する活動の監査証跡が必要とされています。
- データベースの稼働状況を把握
監査証跡を残すことによって、データベースで “どのような処理” が “だれ” によって “いつ” 行われたのかを正確に知ることができるようになり、業務の透明性が向上します。また、こうしたデータはビジネス トレンドの把握や、懸念すべき兆候をキャッチするのにも役立ちます。たとえば、データを分析した結果、ある場所に配置されているデータベースの稼動レベルが徐々に低下していることが判明したのでその対策を講じた、というようなメリットが得られます。
- セキュリティ違反の可能性を検知
監査データの分析により、社内全体で発生しているデータ関連の不整合や異常を確認でき、セキュリティ インシデントの特定につながります。
とても重要なことですが、Auditing やその他のセキュリティ機能を活用することで諸規制に適合したアプリケーションを簡単に構築することはできますが、それによってコンプライアンスが確保されるわけではありません。企業が自己の責任に基づいて、自社または業界のセキュリティおよびコンプライアンスの基準に沿ったアプリケーション設計やデータベースの使用を徹底する必要があります。
Auditing による SQL Database のイベントの追跡方法
Auditing を有効化して設定が完了すると、指定した SQL Database が受信、発信するすべてのイベントが追跡されます。対象とするデータベースの処理やイベントのカテゴリを設定することができ、該当するイベントが発生するたびに Azure Storage の監査ログに記録されます。
監査で毎回参照されている “ユーザー” (またはプリンシパル) は SQL Database にログインしたデータベース ユーザーであって、必ずしもアプリケーション ユーザーではありませんのでご注意ください。
記録されるデータとその保存場所
Auditing を構成する際に、監査ログの書き込み先となるストレージ アカウントを指定します (Azure Storage の料金が課金されます)。Auditing が有効になると、自動的に Azure Table が指定のストレージ アカウントに作成され、設定に従って指定のイベントのレコードが書き込まれます。下の Auditing のアーキテクチャの図を参照してください。
監査の書き込みエントリは、フィールドがあらかじめ定義されているスキーマに従います。詳しくはこのスキーマの詳細な仕様 (英語) をご覧ください。こちら (英語) からもダウンロードできます。
監査ログは Azure ストレージ アカウントに直接書き込まれるため、このデータへのアクセスは完全にコントロールできます。ログを閲覧するには、Azure Storage Explorer (英語) または定義済みの Excel ダッシュボードとレポート テンプレート (英語) などの任意のツールで Azure ストレージ アカウントに接続します。後者は Power Query を使用して Azure ストレージ アカウントからログを取得できます。Office 2013 ユーザーは Power Query for Excel アドインを無料でダウンロードできます。
SQL Database で Auditing をセットアップするには
Azure 管理ポータル (プレビュー) の構成インターフェイス (下図参照) を使用すると、データベースに対して Auditing を簡単に構成できます。
Auditing をセットアップするには Basic、Standard、Premium のいずれかのレベルのデータベースを使用します。
Azure 管理ポータル (プレビュー) で目的のデータベースに移動し、[Enable and setup Auditing] をクリックして Auditing 構成ブレードを起動します。監査ログを保存する Azure ストレージ アカウントを選択し、ログに記録するイベントを指定します。
Auditing の構成が完了したら、データベースに接続する既存のクライアント アプリケーションでセキュリティ対応接続文字列 (Security Enabled Connection Strings) を使用するよう変更します。これでアプリケーションによるデータベース処理がログに記録されるようになります。セキュリティ対応接続文字列はこれまでの接続文字列とは書式が若干異なります。
Auditing のセットアップが完了して稼動し始めたら、Azure ポータルの Auditing ダッシュボードでデータベースの稼働状況をひとめで確認できます。直近 24 時間の監査対象データベース イベントが表示されます (最短で 15 分おきに更新)。イベントの種類別に表示されるので、データベースで発生しているイベントの分布がわかり、異常または予期しない動きをすぐに把握できます。
複数の SQL Database に一括で Auditing をセットアップするには
単一の Auditing ポリシーを 1 台のデータベース サーバー上のすべてのデータベースに適用することができます。そのためには、そのサーバーの既定のポリシーを指定します。
ポリシーを作成するには、サーバー上のいずれかのデータベースに Auditing を設定後、[SAVE AS DEFAULT] をクリックします。これで、同じ設定がデータベース サーバー上のすべてのデータベースに自動的に適用されます (データベース サーバーに Auditing の構成が明示的に定義されていないことが条件)。以下のスクリーンショットをご参照ください。
近日中に、データベース サーバー コンテキストからもサーバー上の全データベースに対して既定の設定を作成できるようになる予定です。
データベースでの活動に関するデータを分析するには
任意のアプリケーションを使用して監査ログを分析できます。監査記録を Azure Storage から CSV 形式 (他のファイル形式も利用可能) でエクスポートしてください。
すぐに使える分析ツールとして、インタラクティブな Excel テンプレートと定義済みのダッシュボードおよびレポート (英語) も用意されています。Power Query for Excel アドインを使用すれば、監査ログ データを Azure Storage から直接取得できます。レポートにはストレージ アカウントから読み込んだ監査ログに記録されているデータベースの活動内容が自動的に表示されます。レポート テンプレートを監査ログが保存されている Storage にアタッチする方法や、ビルトインの分析テンプレートの使用法については、Excel テンプレート (英語) に関するこちらの資料 (英語) をご参照ください。
複数のデータベースを監査している (そしてログを同じストレージ アカウントに保存している) 場合は、ビルトイン レポートで活動やトレンドをデータベース間で比較し、異常を発見できます。インタラクティブなレポートなので、Power View や PowerPivot でデータを視覚化し、データベース、イベントの種類、時間枠などでビューを切り分けることができます。また、カスタマイズや拡張も可能なので、自社の要件に沿ったレポートやビューを作成できます。レポートのサンプルをご覧ください。
まとめ
Auditing はイベントやデータベースの活動を追跡、記録する Azure SQL Database のセキュリティ レイヤーを提供します。監査データを利用してデータベースの活動を的確に把握し、セキュリティを脅かす可能性のある問題を突き止め、セキュリティ違反が疑われる処理を記録し、コンプライアンス関連の作業を円滑に進めることができます。
さらに詳しい内容については、「SQL Database Auditing の使用を開始する (英語)」や、Eyal と Scott が Auditing のメリットや容易なセットアップ方法を紹介する Channel 9 のビデオ (英語) をご覧ください。Auditing 機能はすぐに使用を開始できます。Basic、Standard、Premium レベルのデータベース (まだお持ちでない方は、新しいサービス レベルのプレビュー版にサインアップしてください) を使用します。また、Auditing プレビュー版へのサインアップが必要です。データベースに対する Auditing の構成は Azure 管理ポータル (プレビュー) で行います。
マイクロソフトは皆様の声に耳を傾けています。ぜひお試しになった感想をお聞かせください!