説明
Azureの診断設定は、対応するリソースログ、メトリック、サブスクリプションのActivity Logを、Log Analytics、Event Hubs、Storage Accountなどへ送信します。必要なログをエクスポートしていないと、複数のリソースのセキュリティイベントや運用上の問題を一元的に追跡しにくくなります。
Activity Logとプラットフォームメトリックは自動収集されるため、診断設定がないことはすべての記録がないことを意味しません。Activity Logの既定の保持期間は90日です。リソースログについては、サービスごとの収集設定と対応カテゴリを確認する必要があります。
想定される影響
- 集約先に必要なイベントがなく、原因や影響範囲の特定が遅れる場合があります。
- 既定の保持期間を過ぎると、長期の調査に必要な履歴が残らないおそれがあります。
対処方法
- 重要なリソースとサブスクリプションで、必要なログカテゴリと既存の収集経路を確認してください。
azurerm_monitor_diagnostic_settingに対応カテゴリと適切な送信先を指定し、サービス固有の追加ログ設定も確認してください。- 実際のイベント配信と保存先の保持ポリシーをテストし、ログへのアクセス権限とコストを管理してください。
例
既存のLog Analyticsワークスペースは省略しています。サブスクリプションのActivity LogからAdministrativeカテゴリをエクスポートする部分的な例です。
変更前
hcl
data "azurerm_subscription" "example" {}
サブスクリプションを参照する抜粋で、ログのエクスポートは構成していません。他の場所に診断設定が存在するかどうかは、このコードだけではわかりません。
変更後
hcl
data "azurerm_subscription" "example" {}
resource "azurerm_monitor_diagnostic_setting" "example" {
name = "subscription-diagnostics"
target_resource_id = data.azurerm_subscription.example.id
log_analytics_workspace_id = azurerm_log_analytics_workspace.example.id
enabled_log {
category = "Administrative"
}
}
選択したカテゴリをワークスペースへ送信します。すべてのActivity Logカテゴリを含むわけではないため、必要な範囲と実際の到着を確認してください。