メインコンテンツまでスキップ

監査ログ

VeloDB Cloudは組織アクティビティ、SQLアクティビティ、およびインフラストラクチャイベントを記録し、誰が何を、いつ、どこから実行し、システムがどのように応答したかを判断できるようにします。このガイドでは、セキュリティレビューやインシデント調査のために各監査ソースを見つけて照会する場所について説明します。

監査ログソース

ソース記録内容参照場所
Organization Activity Logsメンバー変更、ロール変更、課金変更、warehouseライフサイクルアクションを含むコンソールおよびcontrol-planeアクション。Account and Organization
SQL audit logwarehouseに対して記録され、__internal_schema.audit_logシステムテーブルに格納されるSQL文とクエリアクティビティ。audit_log table schema
Infrastructure events特にBYOCデプロイメントにおける、クラウドアカウント内のリソースに対するクラウドプロバイダーの運用イベント。AWS CloudTrailやGoogle Cloud Audit Logsなどのクラウドプロバイダーの監査ログ。

質問に合致する監査ソースを選択してください:

知りたい内容使用するもの
誰がクエリを実行したか、またはその実行状況OBSERVABILITY > Query Audit または __internal_schema.audit_log テーブル。
誰が組織設定やアクセスを変更したかアカウントメニューを開き、Organization > Activity Logs を選択。
注意

監査記録とエクスポートには、SQLテキスト、ユーザー名、クライアントIPアドレス、オブジェクト名、エラー詳細が含まれる可能性があります。記録が必要な人のみにアクセスを許可し、エクスポートされた監査データは機密運用情報として取り扱ってください。

監査ログテーブルの照会

SQLベースのフィルタリング、集計、エクスポート、または再現可能な証拠収集が必要な場合は、__internal_schema.audit_logテーブルを直接照会してください。各記録には、ユーザー、クライアントアドレス、文のタイプ、文のテキスト、実行時間、実行ステータス、エラー情報、スキャンされたデータ、返された行、workloadグループ、および関連するクエリ識別子を含めることができます。完全なスキーマについては、Audit Event Referenceを参照してください。

例:最近の失敗した文を確認します。

SELECT
time,
user,
client_ip,
stmt_type,
state,
error_code,
error_message,
stmt
FROM __internal_schema.audit_log
WHERE time >= NOW() - INTERVAL 1 DAY
AND state = 'ERR'
ORDER BY time DESC
LIMIT 100;

例: ユーザーごとのクエリアクティビティを要約する。

SELECT
user,
COUNT(*) AS statement_count,
MAX(time) AS last_seen
FROM __internal_schema.audit_log
WHERE time >= NOW() - INTERVAL 7 DAY
GROUP BY user
ORDER BY statement_count DESC;

監査ログの保持期間

SQL監査ログは__internal_schema.audit_logシステムテーブルに保存されます。このテーブルは時間によってパーティション化されており、保持期間はテーブルの動的パーティションプロパティによって制御されます。

現在の保持期間設定を確認するには、以下を実行してください:

SHOW CREATE TABLE __internal_schema.audit_log;

出力で、動的パーティションのプロパティを確認してください。日ベースのパーティションの場合、以下のような値により、およそ最新30日間の監査レコードが保持されます:

"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.start" = "-30"

保持期間を変更するには、動的パーティションの開始値を変更します。例えば、監査レコードを約90日間保持する場合:

ALTER TABLE __internal_schema.audit_log
SET (
"dynamic_partition.start" = "-90"
);

より長い保持期間はより大きな調査ウィンドウを提供しますが、より多くのストレージを使用し、監査クエリによってスキャンされるデータ量を増加させる可能性もあります。コンプライアンス要件、インシデント対応プロセス、およびストレージ予算に適した値を選択してください。

Consoleでの監査ログのクエリ

OBSERVABILITY > Query Auditを使用して、SQLを書くことなくConsoleでクエリアクティビティを確認できます。詳細については、Monitoring: Query Auditを参照してください。

インフラストラクチャイベント

インフラストラクチャイベントは、運用およびプラットフォームレベルのイベントです。SQL監査レコードとは異なります。

BYOCデプロイメントでは、インフラストラクチャリソースは独自のクラウドアカウントで実行されるため、インフラストラクチャレベルの監査証跡は通常、AWS CloudTrailやGoogle Cloud Audit Logsなどのクラウドプロバイダーのネイティブログサービスから取得されます。

監査証跡チェックリスト

セキュリティアンケートに回答する際、最も有用な証跡には通常以下が含まれます:

質問証跡ソース
誰が組織設定またはアクセスを変更したか?アカウントメニューを開き、Organization > Activity Logsを選択します。
誰がSQL文を実行したか、またはSQLを通じてデータにアクセスしたか?__internal_schema.audit_logテーブルまたはOBSERVABILITY > Query Audit
SQL監査レコードはどのくらいの期間保持されるか?SHOW CREATE TABLE __internal_schema.audit_log
SQL監査保持期間を変更するにはどうすればよいか?ALTER TABLE __internal_schema.audit_log SET ("dynamic_partition.start" = "-N")
BYOCでインフラストラクチャイベントはどこで確認できるか?クラウドプロバイダーの監査ログ

関連ドキュメント