Cloud SQL PostgreSQLのpgAuditでコンプライアンス対応の詳細監査ログを有効化する手順

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、gcloud CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Cloud SQL PostgreSQLインスタンスでpgAudit拡張機能を有効化し、PCI DSSやISO 27001などのコンプライアンス要件を満たす詳細な監査ログを収集する方法について、リスクと対策を解説します。

ポリシーの説明
Cloud SQL PostgreSQL インスタンスにおいて、cloudsql.enable_pgaudit
データベースフラグが「on」に設定されていない場合、詳細な監査ログが記録されません。pgAudit は PostgreSQL の拡張機能で、データベースアクティビティの詳細な監査ログを生成し、セキュリティ監査、コンプライアンス要件、フォレンジック分析に必要な情報を提供します。特に金融機関、政府機関、ISO 27001 などの規格に準拠する組織では必須の設定です。
cloudsql.enable_pgaudit
フラグが無効な場合、以下のリスクが生じます:
- セキュリティインシデントの追跡困難: データベースへの不正アクセスや内部不正の証跡が残らず、事後調査が困難になります
- 監査証跡の不足: 誰が、いつ、どのデータにアクセスしたかの詳細な記録がないため、監査要求に対応できません
- データ漏洩の検知遅延: 異常なデータアクセスパターンや大量データの抽出を検知できません
- 特権ユーザーの活動監視不足: DBA や管理者権限を持つユーザーの活動を追跡できません
修復方法
コンソールでの修復手順
Google Cloud コンソールを使用して、Cloud SQL PostgreSQL インスタンスの pgAudit を有効にします。
- Google Cloud Console にログインし、「SQL」ページに移動します

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

- 「編集」ボタンをクリックします

- 「設定」セクションまでスクロールし、「データベースのフラグ」をクリックして展開します
- 「+ フラグを追加」ボタンをクリックしますドロップダウンから
cloudsql.enable_pgaudit
を選択値をon
に設定します

- 追加で
pgaudit.log
フラグも追加し、監査対象を設定します(例:all
またはwrite,ddl
) - 画面下部の「保存」ボタンをクリックします
- 変更内容を確認し、「保存して再起動」をクリックします
注意:この変更により、インスタンスが数分間再起動されます。
Terraformでの修復手順
Cloud SQL PostgreSQL インスタンスの pgAudit を有効にする Terraform コードと、主要な修正ポイントを説明します。
resource "google_sql_database_instance" "postgresql_audit" {
>>> Skip
settings {
# pgAudit 有効化
database_flags {
name = "cloudsql.enable_pgaudit"
value = "on"
}
}
}
最後に
この記事では、Cloud SQL PostgreSQLインスタンスでpgAuditを有効化し、コンプライアンス要件を満たす詳細な監査ログを収集する方法について、リスクと対策を解説しました。
pgAuditは、PCI DSS、HIPAA、ISO 27001などのコンプライアンス要件を満たすために不可欠な機能です。適切に設定することで、セキュリティインシデントの早期発見やフォレンジック分析が可能になります。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。