Azure SQL Database で監査機能のPreview版提供開始

Windows Azure SQL Database には、これまで監査機能が提供されておらず、監査ログを取得したい場合にはトリガーなどで作りこむ必要がありました。
でも、全エディション(Basic、Standard、Premium)に対して、監査機能がPreview版での提供が始まりました!
SIerとかの人にはうれしい機能ですね。

image

記録できるイベント

以下のイベントを必要なものだけ選択して収集することができます。

  • データへのアクセス
  • スキーマーの変更(DDL)
  • データの変更(DML)
  • アカウント、ロール、権限(DCL)
  • セキュリティ例外

機能の有効化方法

監査機能を有効かするには、Azure Preview Portalを使用します。

  1. 監査機能の有効化:https://account.windowsazure.com/PreviewFeatures?fid=datasecurity
  2. Azure Preview Portalにアクセスする:https://portal.azure.com
  3. 監査したいデータベースを選択し、[Auditing Preview]を有効化し、監査設定ブレードを表示する

    image

  4. ログの格納先ストレージを選択する
    image
  5. 記録したいイベント種類を選択する

監査ログを記録する方法

監査ログを記録するには、アプリケーションの接続文字列を専用の文字列に変更する必要があります。

通常の接続文字列:<server name>.database.windows.net

監査ログを記録する接続文字列:<server name>.database.secure.windows.net

監査ログの分析とレポート

ログデータを素早く分析するのを支援するために、予めてダッシュボードレポートテンプレートを設定したExcelスプレッドシートをダウンロードします。自分の監査ログでテンプレートを使用するために、Excel 2013とPower Queryが必要です。テンプレートは、Azure Sotrageアカウントから直接監査ログをインポートして、Power Queryが処理されます。

 

image

ポータル上では、次のような管理ビューで表示されます。

image

 

ログフォーマット

監査ログは、Azure ストレージアカウントのAuditLogsという名前の1つのAzure Storage Tableに格納されます。(将来的には複数のTableに分割できるようになります。)

顧客は、Azure Storage Explorerや、Excel 2010/2013でPower Queryを使用して直接Azure Tableからデータをインポートしたり、提供するReport Templateを使用してログを参照できます。または独自のレポートソリューションを開発したり、既存のソリューションに統合することができます。

監査ログテーブルフィールド

  • PartitionKey
  • RowKey
  • TimeStamp
  • EventTime
  • ServerName
  • DatabaseName
  • ApplicationName
  • ClientIP
  • EventID
  • EventType
  • ActionSuccess
  • ActionStatus
  • FailureReason
  • statement
  • PrincipalName
  • AffectedRows
  • ConnectionGuid
  • SchemaVersion
  • Origin
  • ActionId
  • ClassType
  • ObjectType

Event Types

  • LoginSuccess
  • LoginFailed
  • SchemaChanges
  • DataAccess
  • DataChanges
  • GrantRevoke
  • StoredProcedure
  • BeginTransaction
  • CommitTransaction
  • RollbackTransaction
  • CancelBatch
  • SecurityException(ログインに失敗、セキュリティレベル14のSQL実行エラーの時)

参考情報

Get started with SQL database auditing