Azure SQL Database の監査が未構成

Azure SQL の監査を構成し、必要なデータベース活動を記録します。

説明

Azure SQL Database にサーバーレベルとデータベースレベルのどちらの監査も適用されていないと、必要なデータベース活動が監査ログに記録されません。

想定される影響

不審な接続やデータ変更を調査するための証拠が不足するおそれがあります。

対処方法

適切な範囲で監査を有効にし、記録する操作と保存先を構成してください。サーバー監査を Azure Monitor に送信する場合は、master データベースに SQLSecurityAuditEvents の診断設定も必要です。

例

この例はサーバー監査ポリシーの追加部分だけを示しています。サーバー構成と送信先の診断設定を別途用意し、実際に記録されることを確認してください。全データベースに監査ポリシーを重複して追加する必要はありません。

変更前

bicep
resource sqlServer 'Microsoft.Sql/servers@2023-02-01-preview' = {
  name: 'example-sql-server'
  location: resourceGroup().location
  properties: {}
}

resource sqlDatabase 'Microsoft.Sql/servers/databases@2024-11-01-preview' = {
  parent: sqlServer
  name: 'application'
  location: resourceGroup().location
  properties: {}
}

変更後

bicep
resource sqlServer 'Microsoft.Sql/servers@2023-02-01-preview' = {
  name: 'example-sql-server'
  location: resourceGroup().location
  properties: {}
}

resource sqlDatabase 'Microsoft.Sql/servers/databases@2024-11-01-preview' = {
  parent: sqlServer
  name: 'application'
  location: resourceGroup().location
  properties: {}
}

resource sqlServerAudit 'Microsoft.Sql/servers/auditingSettings@2024-11-01-preview' = {
  parent: sqlServer
  name: 'default'
  properties: {
    isAzureMonitorTargetEnabled: true
    state: 'Enabled'
  }
}

参考資料