Ghi log, Tracing và Kiểm toán

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Bài toán kiểm toán

  • Ai đã truy cập điểm tín dụng trong 90 ngày qua?
  • Thủ tục lưu nào chạy vào rạng sáng của một ngày cụ thể?
  • Có đăng nhập nào từ ngoài mạng công ty không?
  • Bản ghi phải tồn tại trước khi đặt câu hỏi

biểu tượng kiểm toán

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Bảng sự kiện là gì?

  • Ghi log và trace do đối tượng Snowflake phát ra: stored procedure, hàm Snowpark, UDF
  • Tạo như bảng thường, rồi kích hoạt bằng ALTER_ACCOUNT
  • Từ đó log/trace được ghi tự động
  • Truy vấn bằng SQL chuẩn — không cần công cụ log ngoài

bảng_sự_kiện_đơn_giản.png

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Mức log

 

Mức Mô tả
TRACE Mọi lần vào/ra hàm — chi tiết nhất
DEBUG Chi tiết chẩn đoán
INFO Mốc thực thi bình thường — khuyến nghị cho sản xuất
WARN Bất thường không dừng thực thi
ERROR Lỗi
FATAL Lỗi nghiêm trọng dừng thực thi
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Tracing

  • Ghi lại đường đi thực thi qua quy trình nhiều bước
  • Thể hiện cách các bước liên kết, không chỉ từng thông điệp
  • Ghi thời lượng và thứ tự từng bước
  • Dữ liệu trace ghi vào cùng bảng sự kiện với log

tracing_v2.png

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Dùng LOGIN_HISTORY cho kiểm toán

SELECT user_name,
       event_timestamp,
       client_ip,
       authentication_method,
       error_code,
       error_message
FROM SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY
WHERE event_timestamp >= DATEADD('day', -90, CURRENT_TIMESTAMP())
  AND client_ip NOT LIKE '203.0.113.%'
ORDER BY event_timestamp DESC;
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

QUERY_HISTORY cho kiểm toán

SELECT user_name,
       role_name,
       warehouse_name,
       query_text,
       start_time,
       end_time
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE start_time >= DATEADD('day', -90, CURRENT_TIMESTAMP())
  AND query_text ILIKE '%credit_scores%'
ORDER BY start_time DESC;
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Chuỗi kiểm toán đầy đủ

 

Nguồn Nội dung ghi nhận Câu hỏi kiểm toán được trả lời
Bảng sự kiện Log và trace từ stored procedure, hàm Snowpark Nền tảng đã làm gì?
LOGIN_HISTORY Mọi lần đăng nhập: người dùng, IP, phương thức, lỗi Ai kết nối, từ đâu, có lỗi không?
QUERY_HISTORY Mọi câu lệnh SQL: người dùng, vai trò, warehouse, nội dung truy vấn Dữ liệu nào được truy cập, bởi ai?
Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Passons à la pratique !

Quản trị, Quản trị dữ liệu & Cộng tác trên Snowflake

Preparing Video For Download...