0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Fabric Warehouse の SQL 監査ログを有効にして内容確認

Posted at

はじめに

ようやく東日本でも機能を有効化できたので記録

有効化手順

ID の確認

ウェアハウスに移動して URL から確認可能。workspace id , item id という順

image.png

API の呼び出し

python notebook で実行する

  1. ステータス確認

    python
    
    import json
    from sempy import fabric 
    client = fabric.FabricRestClient()
    
    workspaceId="<workspace id >"
    warehouseId="<item id >"
    get_audit_status_url = f"v1/workspaces/{workspaceId}/warehouses/{warehouseId}/settings/sqlAudit"
    
    status_response = client.get(get_audit_status_url)
    status = json.loads(status_response.content)
    status
    
    

    結果:

    image.png

  2. 有効化 今回は期間だけ指定

    python
    patch_audit_enable_url = f"v1/workspaces/{workspaceId}/warehouses/{warehouseId}/settings/sqlAudit"
    // 必要に応じてペイロード内容を設定し監査ログ対象を追加する
    enable_data = {
      "state": "Enabled",
      "retentionDays": "730"
    }
    
    enable_response = client.patch(get_audit_status_url,data=enable_data)
    result = json.loads(enable_response.content)
    result
    
    
    

    結果:
    image.png

    既定では、['BATCH_COMPLETED_GROUP', 'FAILED_DATABASE_AUTHENTICATION_GROUP', 'SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP'] がログの対象となっている。なお、FAILED_DATABASE_AUTHENTICATION_GROUP 以外はまだ docsには記載がない。

    完全な一致ではないが、 Azure SQL などと仕様が同じようなので、記載されていないアクショングループはSQL Server 監査のアクション グループとアクション を参考にできる。

    image.png

挙動確認

  1. 適当なクエリを実行
    image.png

  2. ログをクエリ

    sql
    
    SELECT TOP 100 *
    FROM sys. fn_get_audit_file_v2(
        'https://onelake.blob.fabric.microsoft.com/<workspace id>/<item id>/Audit/sqldbauditlogs/',
        DEFAULT,
        DEFAULT,
        DEFAULT,
        DEFAULT)
    order by 1 desc
    

    sys.fn_get_audit_file_v2 によると、実行したSQLが格納される statement 列の文字長は nvarchar(4000) だが、シーケンス No でレコードを分割して対応できていそう。

    image.png

    マルチバイト文字に関しても問題なくログ取得されている

    image.png

レイクハウスの SQL 分析エンドポイントでは?

ステータスは確認できたが、有効化は不可だった。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?