適用対象:✅ Microsoft Fabric の SQL 分析エンドポイントおよびウェアハウス
Fabric Data Warehouse の監査では、データベース イベントを追跡および記録することで、セキュリティとコンプライアンスの能力を強化できます。
SQL 監査ログを使用すると、次のような主要なアクションの監査証跡を維持することで、データベース アクティビティを監視し、潜在的なセキュリティ脅威を検出し、コンプライアンス要件を満たすことができます。
- 認証の試行とアクセス制御の変更
- データ アクセスと変更の操作
- スキーマの変更と管理アクティビティ
- アクセス許可の変更とセキュリティ構成
重要
既定では、SQL 監査ログは [オフ] です。 監査クエリのアクセス許可を持つユーザーは、これを有効にしてログをキャプチャする必要があります。
開始するには、「 Fabric Data Warehouse で SQL 監査ログを構成する方法」の手順を確認します。
Storage
SQL 監査ログは保存時に暗号化され、OneLake に格納されます。
Fabric Data Warehouse の場合、監査ログは OneLake のウェアハウス.XELに格納されているファイルに書き込まれます。
次の ロール を持つユーザーは、監査フォルダーにアクセスできます。
- ワークスペース 管理者
- Workspace メンバー
- ワークスペース の共同作成者
- すべてを読む権限があるワークスペースビューアー
これらのユーザーは次のことができます。
- 監査フォルダーを参照する
- SQL 監査によって生成された
.XEL監査ファイルを表示する - オフライン分析用のファイルをコピーする
- SQL Server Management Studio (SSMS) などのツールを使用してファイルを開く
sys.fn_get_audit_file_v2を使用して T-SQL を使用して監査ログにクエリを実行することもできます。
手順については、Fabric Data Warehouse で SQL 監査ログを構成する方法を参照してください。
ヒント
Microsoft Fabric Data Warehouse で監査ログを構成すると、記録されたアクション グループとイベントに応じてストレージ コストが増加する可能性があります。 不要なストレージ コストを回避するには、必要なイベントのみを有効にします。
Performance
SQL 監査ログ機能は、監査対象のデータベースの可用性とパフォーマンスに最適化されています。 アクティビティが非常に高い、またはネットワーク負荷が高い期間中、監査機能は、監査対象としてマークされたすべてのイベントを記録せずにトランザクションが続行するのを許可する場合があります。
権限
監査ログを構成してクエリを実行するには、 監査クエリ (監査) アクセス許可が必要です。
- 既定では、ワークスペース管理者には、ワークスペース内のすべての項目に対する監査クエリのアクセス許可があります。
- 管理者は、[共有] ダイアログ ボックスを使用して、項目に対する監査クエリのアクセス許可を他のユーザーに付与できます。
ワークスペース管理者は、Fabric ポータルの [共有] メニュー オプションを使用して、監査クエリのアクセス許可を項目に付与できます。 ユーザーが監査クエリのアクセス許可を持っているかどうかを確認するには、[アクセス許可の管理] 設定を確認します。
倉庫アイテムで、[ 共有 ] ボタンを選択します。
または、Fabric ポータルのワークスペースで実行します。 倉庫アイテムの
...コンテキスト メニューを選択し、[ アクセス許可の管理] を選択します。[ ユーザーのアクセス権の付与 ] ウィンドウでは、ユーザーにアクセス許可を付与できます。
アイテムの [共有] メニューで監査クエリ (監査) 権限を選択する場所を示すスクリーンショット。
T-SQL アクセス許可を使用した監査ログのクエリ
また、ワークスペースの管理者ロールがない場合でも、 VIEW DATABASE SECURITY AUDIT アクセス許可を付与することで、T-SQL アクセス許可を使用して監査ログにクエリを実行する機能をユーザーに付与することもできます。
次のアクセス許可を付与すると、ユーザーは sys.fn_get_audit_file_v2 関数を使用して監査ログを照会できます。
GRANT VIEW DATABASE SECURITY AUDIT TO [user];
ヒント
VIEW DATABASE SECURITY AUDITアクセス許可は、監査ログのクエリ機能のみを付与し、ファイルへのアクセスや監査構成の変更をユーザーに許可しません。
データベース レベルの監査アクション グループとアクション
監査ログ構成のアクセシビリティを高めるために、Fabric ポータルではフレンドリ名を使用して、SQL 管理者以外や他のユーザーがキャプチャされた Fabric Data Warehouse イベントを簡単に理解できるようにします。
ファブリックは、これらのフレンドリ名を基になる SQL 監査アクション グループにマップします。 参照として次の表を使用します。
| 親しみやすい名前 | アクション グループ名 | 説明 |
|---|---|---|
| オブジェクトにアクセスされました | DATABASE_OBJECT_ACCESS_GROUP |
メッセージの種類、アセンブリ、コントラクトなどのデータベース オブジェクトへのアクセスをログに記録します。 |
| オブジェクトが変更されました | DATABASE_OBJECT_CHANGE_GROUP |
データベース オブジェクトに対する CREATE、ALTER、または DROP 操作をログに記録します。 |
| オブジェクト所有者の変更 | DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
データベース オブジェクトの所有権の変更をログに記録します。 |
| オブジェクト権限が変更されました | DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
データベース オブジェクトに対する GRANT、REVOKE、または DENY アクションをログに記録します。 |
| ユーザーが変更されました | DATABASE_PRINCIPAL_CHANGE_GROUP |
データベース プリンシパル (ユーザー、ロール) の作成、変更、または削除をログに記録します。 |
| ユーザーが偽装されました | DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
偽装操作 (EXECUTE AS など) をログに記録します。 |
| ロール メンバーが変更されました | DATABASE_ROLE_MEMBER_CHANGE_GROUP |
データベース ロールからのログインの追加または削除をログに記録します。 |
| ユーザーがログインに失敗しました | FAILED_DATABASE_AUTHENTICATION_GROUP |
データベース内で失敗した認証試行をログに記録します。 |
| スキーマ権限が使用されました | SCHEMA_OBJECT_ACCESS_GROUP |
スキーマ オブジェクトへのアクセスをログに記録します。 |
| スキーマが変更されました | SCHEMA_OBJECT_CHANGE_GROUP |
スキーマに対する CREATE、ALTER、または DROP 操作をログに記録します。 |
| スキーマ オブジェクトのアクセス許可がチェックされました | SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
スキーマ オブジェクトの所有権に対する変更をログに記録します。 |
| スキーマ オブジェクトのアクセス許可が変更されました | SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
スキーマ オブジェクトに対する GRANT、REVOKE、または DENY アクションをログに記録します。 |
| Batch が完了しました | BATCH_COMPLETED_GROUP |
このイベントは、バッチ テキスト、ストアド プロシージャ、またはトランザクション管理操作の実行が完了するたびに発生します。 |
| バッチが開始されました | BATCH_STARTED_GROUP |
このイベントは、バッチ テキスト、ストアド プロシージャ、またはトランザクション管理操作の実行が開始されるたびに発生します。 |
| 監査が変更されました | AUDIT_CHANGE_GROUP |
このイベントは、任意の監査が作成、変更、または削除されるたびに発生します。 |
| ユーザーのログアウト | DATABASE_LOGOUT_GROUP |
このイベントは、データベース ユーザーがデータベースからサインアウトしたときに発生します。 |
| ログインしているユーザー | SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP |
プリンシパルがデータベースに正常にログインしたことを示します。 |
データベース レベルの監査アクション
アクション グループに加えて、個々の監査アクションを構成して、特定のデータベース イベントをログに記録できます。
| 監査措置 | 説明 |
|---|---|
SELECT |
指定したオブジェクトに対する SELECT ステートメントをログに記録します。 |
INSERT |
指定したオブジェクトに対する INSERT 操作をログに記録します。 |
UPDATE |
指定したオブジェクトに対する UPDATE 操作をログに記録します。 |
DELETE |
指定したオブジェクトに対する DELETE 操作をログに記録します。 |
EXECUTE |
ストアド プロシージャまたは関数の実行をログに記録します。 |
RECEIVE |
Service Broker キューに対する RECEIVE 操作をログに記録します。 |
REFERENCES |
外部キー制約に関連するアクセス許可チェックをログに記録します。 |
制限事項
- 既定のワークスペースでは、SQL 監査ログはサポートされていません。
- SQL 監査ログは、 ウェアハウス スナップショットではサポートされていません。
重要
監査ログは、OneLake の Warehouse アイテム内に格納されます。 ウェアハウスを削除すると、関連付けられている監査ログ ファイルも削除され、アクセスできなくなります。
コンプライアンスまたは調査の目的で監査ログを保持するには、ウェアハウスを削除する前に、 .XEL ファイルを別のストレージの場所にコピーします。
SQL 分析エンドポイントの制限事項
SQL 分析エンドポイントを監査する場合は、次の制限が適用されます。
- DML 操作はキャプチャされません。 監査では、sql 分析エンドポイントではなく Lakehouse ランタイムを介して Lakehouse テーブルのデータ操作が行われるため、
INSERT、UPDATE、DELETE、MERGEなどの操作は記録されません。 - 監査フォルダーへの直接アクセスは現在サポートされていません。 ユーザーは、基になる
.XEL監査ファイルを Lakehouse 監査フォルダーから参照またはダウンロードできません。
T-SQL 関数 sys.fn_get_audit_file_v2を使用して、SQL 分析エンドポイントの監査イベントのクエリを実行できます。