Cloud SQL PostgreSQLのlog_error_verbosityパラメータについて

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、gcloud CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Cloud SQLのPostgreSQLインスタンスでlog_error_verbosityパラメータを適切に設定し、セキュリティと運用のバランスを取る方法を解説します。

ポリシーの説明
Cloud SQLのPostgreSQLインスタンスにおいて、log_error_verbosity
パラメータは、サーバーログに記録されるメッセージの詳細レベルを制御する重要な設定です。このパラメータは以下の3つの値を取ることができます:
- TERSE: 最小限の情報のみ(エラーメッセージのみ)
- DEFAULT: 標準的な詳細レベル(エラーメッセージ、詳細、ヒント)
- VERBOSE: 最大限の詳細情報(上記に加えてSQLSTATE、ソースコードのファイル名、関数名、行番号)
このパラメータはエラーメッセージだけでなく、すべてのログレベル(ERROR、LOG、FATAL、PANIC)のメッセージに適用されます。セキュリティとコンプライアンスの観点から、このパラメータを適切に設定することで、インシデント調査に必要な情報を確保しつつ、機密情報の露出リスクとパフォーマンスへの影響のバランスを取ることが重要です。
修復方法
コンソールでの修復手順
Google Cloud コンソールを使用して、log_error_verbosityパラメータを推奨値(DEFAULT)に設定します。
- Google Cloud Console にログインし、「SQL」セクションに移動します

- 対象のPostgreSQLインスタンスを選択します

- インスタンスの詳細ページで「編集」をクリックします

- 「構成オプション」セクションを展開し、「フラグ」を選択します
- 「データベースのフラグ」で「項目を追加」をクリックします
log_error_verbosity
値としてdefault
を設定します(またはこのフラグを削除してPostgreSQLのデフォルト値を使用)
- 「保存」をクリックして変更を適用します
Terraformでの修復手順
Cloud SQLインスタンスのlog_error_verbosity
を適切に設定するTerraformコードと、主要な修正ポイントを説明します。
# Cloud SQL PostgreSQL インスタンスの設定
resource "google_sql_database_instance" "postgres" {
>>> Skip
settings {
# データベースフラグの設定
database_flags {
name = "log_error_verbosity"
value = "default" # PostgreSQLのデフォルト値を使用(推奨)
}
}
}
最後に
この記事では、Cloud SQLのPostgreSQLインスタンスにおけるlog_error_verbosityパラメータの適切な設定について解説しました。
推奨値(DEFAULT)に設定することで、以下のメリットが得られます:
- セキュリティインシデントの調査に必要な情報を確保
- 内部実装の詳細情報の露出を防止
- パフォーマンスへの影響を最小限に抑制
- 主要なコンプライアンス要件への準拠
定期的に設定を見直し、組織のセキュリティ要件に合致していることを確認することが重要です。また、log_error_verbosityは他のログ関連パラメータと組み合わせて使用することで、より効果的なセキュリティ監視体制を構築できます。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。