적용 대상: Microsoft Fabric의✅ Warehouse
Fabric 데이터 웨어하우스의 감사 기능은 데이터베이스 이벤트를 추적하고 기록하여 보안 강화 및 규정 준수 기능을 제공합니다.
패브릭 포털 또는 REST API를 통해 SQL 감사 로그를 구성할 수 있습니다. SQL 감사 로그 기능은 현재 미리 보기로 제공됩니다.
필수 조건
- 활성 용량 또는 평가판 용량을 갖춘 Fabric 작업 공간.
- 작업 영역 내의 웨어하우스 항목에 액세스할 수 있어야 합니다.
- 감사 로그를 구성하고 쿼리하려면 감사 권한이 있어야 합니다. 자세한 내용은 사용 권한을 참조하세요.
패브릭 포털을 사용하거나 REST API를 통해 SQL 감사 로그를 구성할 수 있습니다.
패브릭 작업 영역에서 웨어하우스 항목의 설정을 선택합니다.
SQL 감사 로그 페이지를 선택합니다.
SQL 감사 로그에 이벤트 저장 설정을 사용하도록 설정합니다.
기본적으로 모든 작업은 9년 동안 사용하도록 설정되고 유지됩니다.
기록할 이벤트 아래의 SQL 감사 로그에서 캡처할 이벤트를 구성할 수 있습니다. 캡처할 이벤트 범주 또는 개별 감사 작업 그룹을 선택합니다. 조직에서 스토리지 및 관련성을 최적화하는 데 필요한 이벤트만 선택합니다.
연도, 월 및 일에서 원하는 로그 보존 기간을 지정합니다.
저장을 선택하여 설정을 적용합니다.
이제 웨어하우스에서 선택한 감사 이벤트를 기록하고 로그를 OneLake에 안전하게 저장합니다.
Visual Studio Code를 다운로드하여 설치합니다.
Visual Studio Marketplace에서 REST 클라이언트 확장을 설치합니다.
다음 단계를 사용하여 전달자 토큰을 가져옵니다.
브라우저의 개발자 도구 또는 PowerShell을 통해 Power BI 전달자 토큰을 찾을 수 있습니다.
Edge 개발자 도구를 사용하여 Power BI 전달자 토큰을 찾으려면 다음을 수행합니다.
- 브라우저에서 Microsoft Fabric 작업 영역을 엽니다(Microsoft Edge).
-
F12 키를 눌러 개발자 도구를 엽니다.
-
콘솔 탭을 선택합니다. 필요한 경우 빠른 보기 확장을 선택하여 콘솔 프롬프트
>
을 표시합니다.
-
powerBIAccessToken
명령을 입력한 다음 Enter 키를 누릅니다. 콘솔에서 반환된 큰 고유 문자열을 마우스 오른쪽 단추로 클릭하고 문자열 내용 복사를 선택합니다.
- 다음 스크립트의
<bearer token>
대신에 붙여넣습니다.
PowerShell을 사용하여 Power BI 전달자 토큰을 찾으려면 다음을 수행합니다.
MicrosoftPowerBIMgmt
에서 모듈을 설치합니다.
Install-Module -Name MicrosoftPowerBIMgmt
Connect-PowerBIServiceAccount를 사용하여 Power BI PowerShell에 연결하고 전달자 토큰을 검색합니다.
Connect-PowerBIServiceAccount
$token = (Get-PowerBIAccessToken).Authorization
Write-Output "Bearer $token"
Power BI 전달자 토큰을 가져온 후에는 REST 클라이언트 확장을 사용하여 요청을 보낼 PATCH
수 있습니다. VS Code에서 .http
확장명을 가진 새 텍스트 파일을 VS Code에 만듭니다.
다음 요청을 복사하여 붙여넣습니다.
PATCH https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
{
"state": "Enabled",
"retentionDays": "0"
}
-
<workspaceId>
및 <warehouseId>
를 해당 Fabric 작업 영역 및 웨어하우스 ID로 바꿉니다. 이러한 값을 찾으려면 Fabric 포털에서 웨어하우스를 참조하세요.
-
<workspaceID>
: /groups/
섹션 뒤의 URL에서 작업 영역 GUID를 찾거나 기존 웨어하우스에서 SELECT @@SERVERNAME
을 실행합니다. 예: 11aaa111-a11a-1111-1aaa-aa111111aaa
.
/
문자를 포함하지 않아야 합니다.
-
<warehouseID>
: /warehouses/
섹션 뒤의 URL에서 웨어하우스 GUID를 찾거나 기존 웨어하우스에서 SELECT @@SERVERNAME
을 실행합니다. 예: 11aaa111-a11a-1111-1aaa-aa111111aaa
.
/
문자를 포함하지 않아야 합니다.
-
<BEARER_TOKEN>
을 전달자 토큰으로 바꿉니다.
-
state
를 "사용"으로 설정하면 감사가 활성화됩니다("사용 안 함"을 사용하여 끄기).
- 무제한 보존을 위해
retentionDays
매개 변수는 기본적으로 0
으로 설정됩니다.
중요합니다
확장 예제 코드에서 전달자 토큰을 제공한 직후 빈 줄을 포함해야 합니다. 이 빈 줄은 HTTP 헤더가 종료되고 API 명령 본문이 시작되는 확장에 신호를 표시하여 둘을 올바르게 구분할 수 있도록 합니다.
요청 보내기를 선택합니다.
REST API를 사용하여 감사 로그 상태 확인
SQL 감사 로그가 사용하도록 설정되어 있는지 확인하려면 동일한 REST 클라이언트 확장을 사용하여 GET 요청을 보냅니다.
- VS Code에서
.http
확장명을 가진 새 텍스트 파일을 VS Code에 만듭니다.
- 다음 요청을 복사하여 붙여넣고
workspaceId
, <warehouseId>
, <BEARER_TOKEN>
을 직접 입력합니다.
GET https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
응답은 ENABLED
또는 DISABLED
와 auditActionsAndGroups
의 현재 구성을 반환합니다.
SQL 감사 로그는 데이터베이스 내의 특정 이벤트를 캡처하는 미리 정의된 작업 그룹을 사용합니다. 감사 작업 그룹에 대한 자세한 내용은 Fabric 데이터 웨어하우스의 SQL 감사 로그를 참조하세요.
VS Code에서 .http
확장명을 가진 새 텍스트 파일을 VS Code에 만듭니다.
다음 요청을 복사하여 붙여넣고 workspaceId
, <warehouseId>
, <BEARER_TOKEN>
을 직접 입력합니다.
POST https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
[ "DATABASE_OBJECT_PERMISSION_CHANGE_GROUP" ]
요청 보내기를 선택합니다.
감사 로그를 조회하다
SQL 감사 로그 데이터는 OneLake의 .XEL 파일에 저장되며 sys.fn_get_audit_file_v2 T-SQL(Transact-SQL) 함수를 사용해서만 액세스할 수 있습니다. OneLake에 감사 파일이 저장되는 방식에 대한 자세한 내용은 Fabric 데이터 웨어하우스의 SQL 감사 로그를 참조하세요.
SQL 쿼리 편집기나 SSMS(SQL Server Management Studio) 또는 Visual Studio Code가 포함된 mssql 확장과 같은 쿼리 도구에서 다음 샘플 T-SQL 쿼리를 사용하고 고유한 workspaceId
및 <warehouseId>
를 제공합니다.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, default, default);
시간 범위별로 로그를 필터링하려면 다음 쿼리를 사용합니다.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, '2025-03-30T08:40:40Z', '2025-03-30T09:10:40Z');
관련 콘텐츠