コンテンツに移動
データベース

テーブルを監視する: Cloud SQL for MySQL でのデータベース監査がリリース

2022年1月25日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Google_Cloud_Databases.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2022 年 1 月 20 日に、Google Cloud blog に投稿されたものの抄訳です。

MySQL データベースで機密データを管理する際、特に規制対象の業界に従事している場合は、データベースに関するユーザー アクティビティの記録やモニタリングが必要なことがあります。ユーザー アクティビティの監査証跡を作成するように MySQL の低速クエリログや一般ログを設定することもできますが、こうしたログはデータベースのパフォーマンスに大きな影響を与えるうえに、監査用に最適な形式になっていません。専用のオープンソース監査プラグインの方が適していますが、ルールベースの監査や結果のマスキングなど、エンタープライズ ユーザーが必要とする高度なセキュリティ機能の一部が不足しています。

Cloud SQL for MySQL では、Cloud SQL for MySQL 監査プラグインと呼ばれる新しい監査プラグインが開発され、エンタープライズ グレードのデータベース監査を利用し、規制を遵守した強固なセキュリティ体制を維持できるようになりました。監査ルールを定義して、どのデータベース アクティビティを記録するかを指定し、そのアクティビティをデータベース監査ログの形式で記録できます。監査プラグインにより、ユーザー パスワードといった機密性の高いデータが監査ログからマスクされます。処理されたデータベース監査ログは、Cloud Logging に送信され、そこから監査ユーザーはログを表示して、いつ誰がどのような操作をどのデータに対して行ったかを確認できます。また、監査ユーザーは、ユーザー定義のログシンクを使用して、これらのログを Google Cloud Storage バケットBigQuery にルーティングし、コンプライアンスを理由として長期保存することや、Splunk や別のログ管理ツールにルーティングして、異常なアクティビティをリアルタイムで検出することもできます。

MySQL データベースを監査するには

たとえば、あなたが Money Buckets Bank のセキュリティ エンジニアであり、コンプライアンス部門から「money-buckets」プロジェクトの「bank-prod」Cloud SQL インスタンスのアクティビティを監査するように依頼されたとします。次の 2 種類のアクティビティを監査するように指示されました。

  1. 「finance」データベースの機密性の高い「transactions」テーブルに対する、ユーザーによるすべての書き込みアクティビティ。

  2. 「dba1」または「dba2」スーパー ユーザー アカウントによるすべてのアクティビティ。

セキュリティ エンジニアは、機密性の高いアクティビティのみを監査する対象を絞ったルールを定義し、データベースのパフォーマンスへの影響を最小限に抑える必要があります。MySQL データベース監査を有効にしてから、MySQL ストアド プロシージャを呼び出して、上記 2 つの監査ルールを構成します。

読み込んでいます...

監査プラグインにより、上記の監査ルールが「mysql」システム データベースに保存されます。また、MySQL の Audit API からデータベース アクティビティがモニタリングされ、アクティビティが監査ルールに一致すると、ログが記録されて Cloud Logging に送信されます。

あなたは同月末に、これらの監査ログをログ エクスプローラで確認することにしました。すべての MySQL データベース監査ログエントリを「money-buckets」プロジェクトから分離するには、次のクエリフィルタを入力します。

読み込んでいます...

これで、監査証跡の監査ログエントリを利用して、Money Buckets Bank を管理する主な財務規制を遵守できるようになりました。

詳細

MySQL のデータベース監査を使用すると、セキュリティとコンプライアンスの目的で、ユーザー データベース アクティビティの監査記録を収集できます。Cloud SQL for MySQL のデータベース監査について詳しくは、ドキュメントをご覧ください。


- プロダクト マネージャー Akhil Jariwala
投稿先