Azure SQL 서버 감사 정책 설정 점검

필요한 데이터베이스 활동이 감사 로그에 남도록 구성하세요.

설명

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
}

참조