Azure SQLサーバーの監査ログ設定の確認

サーバー内のデータベース活動を記録する監査ポリシーを設定してください。

説明

Azure SQLのサーバーレベル監査は、そのサーバー内のデータベースの活動を記録します。サーバーとデータベース単位の設定を合わせて確認し、必要なイベントを保存してください。

想定される影響

活動記録がないと、問題の発生後にどのアカウントがデータにアクセスしたり変更したりしたかを追跡しにくくなります。

対処方法

対象サーバーに監査ポリシーを関連付けて有効にしてください。ログの送信先、権限、保持期間を設定し、実際に監査イベントが届くことを確認してください。

例

以下は現在のAzureRMの独立したサーバー監査ポリシーでBlob Storageに記録する例です。Azure Monitorにも送る場合はmasterデータベースの診断設定が必要です。パスワードは例示用です。

変更前

hcl
resource "azurerm_mssql_server" "example" {
  name                         = "mssqlserver"
  resource_group_name          = azurerm_resource_group.example.name
  location                     = azurerm_resource_group.example.location
  version                      = "12.0"
  administrator_login          = "mradministrator"
  administrator_login_password = "thisIsDog11"
}

変更後

hcl
resource "azurerm_mssql_server" "example" {
  name                         = "mssqlserver"
  resource_group_name          = azurerm_resource_group.example.name
  location                     = azurerm_resource_group.example.location
  version                      = "12.0"
  administrator_login          = "mradministrator"
  administrator_login_password = "thisIsDog11"

}

resource "azurerm_mssql_server_extended_auditing_policy" "example" {
  server_id = azurerm_mssql_server.example.id
  blob_storage_endpoint                        = azurerm_storage_account.example.primary_blob_endpoint
  storage_account_access_key              = azurerm_storage_account.example.primary_access_key
  storage_account_access_key_is_secondary = false
  retention_in_days                       = 90
}

参考資料