説明
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
}