HIPAA 監査ロギング
HIPAA標準のコンプライアンス セキュリティ プロファイルを使用するワークスペースの場合、Lakebaseは監査イベントをキャプチャし、Unity Catalogのsystem.access.auditにある監査 Log システムテーブルに配信します。このページでは、何がログに記録されるか、そのクエリー方法、およびLakebaseイベントを識別するフィールドについて説明します。
Audit Logs types
Lakebase は、次の 3 つのカテゴリの監査イベントをキャプチャします:
ログタイプ | キャプチャされる内容 |
|---|---|
コンソールの監査 Logs | プロジェクトやブランチの作成など、ユーザーが Lakebase UI で実行するアクション。 |
API Logs | プロジェクト、Branch、Endpoint を作成または変更する API 呼び出しなど、Lakebase コントロールプレーンへのリクエスト。 |
Postgres audit Logs | オープンソースのPostgres監査ロギング拡張機能である |
監査Logsの配信先
監査イベントは、Unity Catalog内のsystem.access.auditにある監査ログシステムテーブルに配信されます。レコードは、アクティビティが発生したワークスペースに関連付けられます。コンプライアンスセキュリティプロファイルワークスペースの監査LogはUnity Catalogのシステムテーブルに流れるため、他のDatabricks監査イベントを読み取るのと同じ方法でLakebase監査イベントを読み取り、クエリーを実行できます。
Postgres SQL 監査ロギング
HIPAA が有効なワークスペースの場合、Lakebase は変更不可能な固定の pgaudit 構成を適用します:
設定 | Value | 効果 |
|---|---|---|
|
| その他のステートメントを除く、すべてのステートメントクラスを Logs に記録します。これには、データ定義(DDL)、ロールと権限の変更、読み取り、書き込み、および関数呼び出しが含まれます。 |
|
| ステートメントのパラメーターは記録されません。 |
|
| システムカタログに対するクエリーはログに記録されません。 |
クエリー監査Logs
Lakebase の監査 Logs をクエリーするには、以下が必要です:
- コンプライアンス セキュリティ プロファイルと HIPAA が有効になっているワークスペース。HIPAA コンプライアンスの有効化を参照してください。
- Unity Catalog における
system.accessスキーマへのアクセス。システムテーブルへのアクセスは、アカウント管理者が管理します。システムテーブル リファレンスを参照してください。
Lakebase Postgres の監査イベントは、サービス名 lakebase の下の system.access.audit テーブルにあります。これらのイベントを見つけるには、service_name = 'lakebase' でフィルタリングします。
SELECT
event_time,
user_identity.email AS user_email,
action_name,
request_params
FROM system.access.audit
WHERE service_name = 'lakebase'
AND event_date >= current_date() - INTERVAL 7 DAYS
ORDER BY event_time DESC;
クエリーのパフォーマンスを向上させるには、event_time ではなく event_date でフィルタリングしてください。event_date はパーティション列です。
監査レコードのフィールド
Lakebase イベントは、共有の監査ログシステムテーブルスキーマを使用します。Lakebase イベントの検索と解釈に最も役立つ列は、service_name と action_name(イベントを識別)、request_params(イベントの詳細)、user_identity(ステートメントを実行したユーザー)、および event_date(クエリーパフォーマンスのためにフィルタリングするパーティション列)です。構造体フィールドの詳細を含む完全な列スキーマについては、「監査ログシステムテーブルリファレンス」を参照してください。
Lakebase Postgres (pgaudit) イベントは、service_name 値 lakebase を使用します。action_name フィールドは <class>.<command> 形式を使用します。ここで <class> は pgaudit ステートメントクラス、<command> は SQL コマンドです。どちらも小文字に変換され、スペースはアンダースコアに置き換えられます。たとえば、CREATE TABLE ステートメントは ddl.create_table として記録されます。<class> の部分は操作の pgaudit ステートメントクラスであり、データ定義の場合は ddl、ロールと権限の変更の場合は role、関数呼び出しの場合は function となります。どのクラスが表示されるかは、監査レベルによって異なります。
Postgres イベントの場合、Lakebase は request_params 内の以下のキーに値を設定します:
キー | 説明 |
|---|---|
|
|
|
|
| 影響を受けるオブジェクトのタイプ ( |
| 影響を受けるオブジェクトの名前です。 |
| 実行された SQL ステートメント。 |
| ステートメントのシーケンス番号。 |
| ステートメント内のサブステートメントのシーケンス番号。 |
| ステートメントが実行された Lakebase Endpoint。 |
statement および objectName の値には、SQL のテキストとデータベースオブジェクトの名前を含めることができます。監査Logsに表示されないように、クエリーのテキストやオブジェクト名には PHI を含めないようにしてください。PHI に関する責任共有を参照してください。
監査Logsの保持
監査ログ システムテーブルは、レコードを 365 日間保持します。Lakebase audit Logs をより長く保持するには、期限切れになる前に独自のストレージにエクスポートまたはコピーしてください。監査ログシステムテーブルリファレンスを参照してください。
次のステップ
- HIPAA 準拠を有効にする : プロジェクトのコンプライアンスサポートをオンにします。「HIPPA コンプライアンスを有効にする」を参照してください。
- Lakebase の HIPAA コンプライアンス :サポートされている標準と責任共有。「Lakebase の HIPAA コンプライアンス」を参照してください。
- 監査ログシステムテーブル : 共有監査ログシステムテーブルのスキーマについて学習します。監査ログシステムテーブルリファレンスを参照してください。