説明
Azure SQLのサーバーレベルの監査ポリシーは、そのサーバー内のデータベースの活動を記録します。実際の記録範囲は、有効なポリシー、選択したイベント、ログの送信先によって異なります。
想定される影響
必要な監査記録がないと、アカウントの活動や変更履歴を調査する証拠が不足するおそれがあります。
対処方法
azurerm_mssql_server_extended_auditing_policyを対象サーバーに関連付け、保存先と保持期間を設定してください。必要なイベントが実際に保存されることを確認してください。
例
以下はBlob Storageで90日間保持する例です。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"
}
resource "azurerm_mssql_database" "example" {
name = "example-db"
server_id = azurerm_mssql_server.example.id
}
変更後
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
log_monitoring_enabled = true
}
resource "azurerm_mssql_database" "example" {
name = "example-db"
server_id = azurerm_mssql_server.example.id
}