Azure Synapse Analytics audit log format

Tip

Microsoft Fabric Data Warehouse는 데이터 레이크 기반의 엔터프라이즈 규모 관계형 웨어하우스로, 미래 대비 아키텍처, 기본 제공 AI 및 새로운 기능을 제공합니다. 데이터 웨어하우징이 처음이라면, Fabric Data Warehouse부터 시작하세요. 기존 전용 SQL 풀 워크로드는 업그레이드하면 Fabric을 통해 데이터 과학, 실시간 분석 및 보고 전반에 걸쳐 새로운 기능에 액세스할 수 있습니다.

Azure Synapse Analytics 감사는 데이터베이스 이벤트를 추적하여 Azure Storage에 기록하거나, Azure Event Hubs 또는 Azure Monitor Log Analytics에 전송하여 후속 처리 및 분석을 수행합니다.

명명 규칙

블롭 감사

Azure Blob Storage에 저장된 감사 로그는 sqldbauditlogs. 컨테이너 내 디렉터리 계층 구조는 <ServerName>/<DatabaseName>/<AuditName>/<Date>/입니다. 블롭 파일 이름 형식은 <CreationTime>_<FileNumberInSession>.xel이며, CreationTime 여기서 는 UTC hh_mm_ss_ms 형식을 사용하고, FileNumberInSession 세션이 여러 블롭 파일을 가로질러 있을 때 실행 중인 인덱스입니다.

예를 들어, 다음 경로는 서버Server1의 데이터베이스 Database1 에 유효합니다:

Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel

Event Hubs

감사 이벤트는 네임스페이스와 감사용으로 구성된 이벤트 허브에 기록됩니다. 이벤트는 Apache Avro 이벤트 본문에 캡처되며, UTF-8 인코딩이 적용된 JSON 형식을 사용합니다.

Log Analytics

감사 이벤트는 구성된 Log Analytics 워크스페이스의 테이블에 AzureDiagnostics 기록됩니다. 데이터베이스 감사 이벤트는 이 SQLSecurityAuditEvents 카테고리를 사용하며, Microsoft 지원 작업은 이 DevOpsOperationsAudit 카테고리를 사용합니다. 쿼리 안내는 Log Analytics 쿼리를 참조하세요.

감사 로그 필드

이름 (블롭) 이름 (이벤트 허브/Log Analytics) Description Blob 유형 이벤트 허브/Log Analytics 유형
action_id action_id_s 동작의 ID입니다. varchar(4) string
action_name action_name_s 작전의 명칭 N/A string
additional_information additional_information_s 이벤트에 대한 추가 정보는 XML로 저장됩니다 nvarchar(4000) string
affected_rows affected_rows_d 쿼리에 영향을 받는 행 수 bigint int
application_name application_name_s 클라이언트 애플리케이션 이름 nvarchar(128) string
audit_schema_version audit_schema_version_d 항상 1 int int
class_type class_type_s 감사가 이루어지는 감사 대상 기관의 유형 varchar(2) string
class_type_desc class_type_description_s 감사가 이루어지는 감사 대상 기관의 설명 N/A string
client_ip client_ip_s 클라이언트 애플리케이션의 원본 IP nvarchar(128) string
connection_id N/A 서버의 연결 ID GUID N/A
data_sensitivity_information data_sensitivity_information_s 데이터베이스의 분류된 열을 기반으로 감사된 쿼리에서 반환되는 정보 유형 및 민감도 레이블입니다. 자세한 내용은 Azure Synapse Analytics security: Threat protection을 참조하세요 nvarchar(4000) string
database_name database_name_s 해당 동작이 발생한 데이터베이스 맥락 sysname string
database_principal_id database_principal_id_d 동작이 수행되는 데이터베이스 사용자 컨텍스트의 ID int int
database_principal_name database_principal_name_s 동작이 수행되는 데이터베이스 사용자 컨텍스트의 이름 sysname string
duration_milliseconds duration_milliseconds_d 쿼리 실행 기간(밀리초) bigint int
event_time event_time_t 감사 대상 액션이 발동되는 날짜와 시간 datetime2 datetime
host_name N/A 클라이언트 호스트 이름 string N/A
is_column_permission is_column_permission_s 열 수준 사용 권한인지 여부를 나타내는 플래그입니다. 1 = 참, 0 = 거짓 bit string
N/A is_server_level_audit_s 이 감사가 서버 수준에서 이루어졌는지 나타내는 플래그입니다 N/A string
object_ ID object_id_d 감사가 수행된 대상 엔터티의 ID입니다. 여기에는 서버 객체, 데이터베이스, 데이터베이스 객체, 스키마 객체가 포함됩니다. 엔터티가 서버 자체이거나 감사가 객체 수준에서 수행되지 않을 경우 0입니다 int int
object_name object_name_s 감사가 수행된 대상 엔터티의 이름입니다. 여기에는 서버 객체, 데이터베이스, 데이터베이스 객체, 스키마 객체가 포함됩니다. 엔터티가 서버 자체이거나 감사가 객체 수준에서 수행되지 않을 경우 0입니다 sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s OBO 접근을 통해 Azure Synapse Analytics에 연결된 중간 계층 애플리케이션의 애플리케이션 ID. varchar(120) string
permission_bitmask permission_bitmask_s 해당하는 경우 부여, 거부 또는 해지된 사용 권한을 표시합니다. varbinary(16) string
response_rows response_rows_d 결과 집합에서 반환된 행 수 bigint int
schema_name schema_name_s 동작이 수행된 스키마 컨텍스트입니다. NULL 스키마 외부에서 발생하는 감사에 대해서는 sysname string
N/A securable_class_type_s 감사 대상 객체에 class_type 매핑되는 보안 객체 N/A string
sequence_group_id sequence_group_id_g 고유 식별자 varbinary GUID
sequence_number sequence_number_d 너무 커서 감사에 대한 쓰기 버퍼에 맞지 않는 단일 감사 레코드 내의 레코드 시퀀스를 추적합니다. Azure Synapse Analytics 감사는 감사 기록의 문자 필드에 대해 4000자 분량의 데이터를 저장합니다. 4000자를 초과할 경우, 처음 4000자를 넘는 데이터는 잘려 나갑니다 int int
server_instance_name server_instance_name_s 감사가 이루어진 서버 인스턴스의 이름 sysname string
server_principal_id server_principal_id_d 동작이 수행되는 로그인 컨텍스트의 ID int int
server_principal_name server_principal_name_s 현재 로그인 sysname string
server_principal_sid server_principal_sid_s 현재 로그인 SID varbinary string
session_id session_id_d 사건이 발생한 세션의 ID smallint int
session_server_principal_name session_server_principal_name_s 세션용 서버 프린시펄 sysname string
statement statement_s 실행된 T-SQL 문(있다면) nvarchar(4000) string
succeeded succeeded_s 이벤트를 발생시킨 동작의 성공 여부를 나타냅니다. 로그인 및 배치 이외의 이벤트에 대해서는 권한 검사 성공 여부만 보고하며, 작업 자체는 보고하지 않습니다. 1 = 성공, 0 = 실패 bit string
target_database_principal_id target_database_principal_id_d 연산이 수행되는 데이터베이스 주체 GRANT//DENYREVOKE 에 해당하지 않으면 0입니다 int int
target_database_principal_name target_database_principal_name_s 동작의 대상 사용자입니다. NULL 해당되지 않는 경우 string string
target_server_principal_id target_server_principal_id_d 작업이 수행되는 서버 보안 주체 GRANT/DENY/REVOKE 입니다. 해당되지 않으면 0 반환 int int
target_server_principal_name target_server_principal_name_s 동작의 대상 로그인입니다. NULL 해당되지 않는 경우 sysname string
target_server_principal_sid target_server_principal_sid_s 대상 로그인의 SID입니다. NULL 해당되지 않는 경우 varbinary string
transaction_id transaction_id_d Not populated for Azure Synapse Analytics bigint int
user_defined_event_id user_defined_event_id_d 인수로 전달된 사용자 정의 이벤트 ID입니다 sp_audit_write. NULL 시스템 이벤트(기본값) 및 사용자 정의 이벤트의 경우 0이 아닙니다. 자세한 내용은 sp_audit_write (Transact-SQL) 문서를 참조하세요 smallint int
user_defined_information user_defined_information_s 사용자 정의 정보는 인자로 전달됩니다.sp_audit_write 시스템 이벤트(기본값)는 NULL, 사용자 정의 이벤트는 0이 아닌 것으로 표시됩니다. 자세한 내용은 sp_audit_write (Transact-SQL) 문서를 참조하세요 nvarchar(4000) string