Azure PostgreSQL のサーバーログ保存期間の確認

調査に必要な期間のサーバーログを残し、長期保存が必要な場合は外部に収集してください。

説明

サーバーログの保存期間が調査に必要な時間より短いと、エラーや不審なアクセスの記録が分析前に削除される場合があります。必要な期間は運用・監査要件によって異なるため、一律の日数では判断できません。Flexible Server のダウンロード用サーバーログの保存期間は 1~7 日で、既定値は 3 日です。

想定される影響

  • 問題を後で発見した際、原因分析の資料が不足する場合があります。
  • 監査や事故対応に必要な過去の記録を確保できない場合があります。

対処方法

Flexible Server のダウンロード用ログを使う場合は logfiles.download_enable を on にし、logfiles.retention_days を対応範囲内で運用要件に合わせて指定してください。長期保存が必要なら外部ストレージへ収集し、保存・アクセスのポリシーを設定してください。実際のログ生成と取得可能な期間を確認してください。

例

変更前は終了した Single Server の保存期間設定です。変更後は既存の Flexible Server でダウンロード用ログ収集を有効にし、5 日間保存する例です。サーバーと外部ストレージの構成は省略しています。

変更前

hcl
resource "azurerm_postgresql_configuration" "example" {
  name                = "log_retention_days"
  resource_group_name = azurerm_resource_group.example.name
  server_name         = azurerm_postgresql_server.example.name
  value               = 2
}

変更後

hcl
resource "azurerm_postgresql_flexible_server_configuration" "download_logs" {
  name      = "logfiles.download_enable"
  server_id = azurerm_postgresql_flexible_server.example.id
  value     = "on"
}

resource "azurerm_postgresql_flexible_server_configuration" "example" {
  name      = "logfiles.retention_days"
  server_id = azurerm_postgresql_flexible_server.example.id
  value     = "5"
}

5 日間は例の要件に合わせた値で、共通のセキュリティ基準ではありません。ダウンロード用ログは既定で無効のため、保存期間だけを指定せず実際の収集も確認してください。

参考資料