การตรวจสอบฐานข้อมูล SQL ใน Fabric

นําไปใช้กับ:ฐานข้อมูล SQL ใน Microsoft Fabric

การตรวจสอบฐานข้อมูล SQL ใน Fabric เป็นคุณลักษณะด้านความปลอดภัยและการปฏิบัติตามข้อกําหนดที่สําคัญที่ช่วยให้องค์กรสามารถติดตามและบันทึกกิจกรรมฐานข้อมูลได้ การตรวจสอบสนับสนุนการปฏิบัติตามข้อกําหนด การตรวจจับภัยคุกคาม และการสืบสวนทางนิติวิทยาศาสตร์ โดยช่วยตอบคําถาม เช่น ใครเข้าถึงข้อมูลใด เมื่อใด และอย่างไร

การตรวจสอบ SQL คืออะไร?

การตรวจสอบ SQL หมายถึงกระบวนการจับภาพและจัดเก็บเหตุการณ์ที่เกี่ยวข้องกับกิจกรรมฐานข้อมูล เหตุการณ์เหล่านี้รวมถึงการเข้าถึงข้อมูล การเปลี่ยนแปลงสคีมา การแก้ไขสิทธิ์ และความพยายามในการรับรองความถูกต้อง

ใน Fabric การตรวจสอบจะทํางานในระดับฐานข้อมูลและสนับสนุน:

  • การตรวจสอบการปฏิบัติตามข้อกําหนด (เช่น HIPAA, SOX)
  • การตรวจสอบความปลอดภัย
  • ข้อมูลเชิงลึกด้านการดําเนินงาน

เป้าหมายการตรวจสอบ

บันทึกการตรวจสอบจะถูกเขียนลงในโฟลเดอร์แบบอ่านอย่างเดียวใน OneLake และสามารถคิวรีได้โดยใช้ sys.fn_get_audit_file_v2 ฟังก์ชัน T-SQL หรือ OneLake Explorer

สําหรับฐานข้อมูล SQL ใน Fabric บันทึกการตรวจสอบจะถูกเก็บไว้ใน OneLake: https://onelake.blob.fabric.microsoft.com/{workspace_id}/{artifact_id}/Audit/sqldbauditlogs/

บันทึกเหล่านี้ไม่สามารถเปลี่ยนแปลงได้และเข้าถึงได้โดยผู้ใช้ที่มีสิทธิ์ที่เหมาะสม นอกจากนี้ยังสามารถดาวน์โหลดบันทึกโดยใช้ OneLake Explorer หรือ Azure Storage Explorer

เรียก เก็บ เงิน

ปัจจุบัน การเขียนบันทึกการตรวจสอบไปยัง Fabric OneLake ไม่มีค่าใช้จ่ายเพิ่มเติม และที่เก็บข้อมูลจะรวมอยู่ในขีดจํากัดที่เก็บข้อมูล OneLake ของความจุ

ตัวเลือกการกําหนดค่า

ตามค่าเริ่มต้น ตัวเลือก ตรวจสอบทุกอย่าง จะบันทึกเหตุการณ์ทั้งหมด รวมถึงการทําให้แบตช์เสร็จสมบูรณ์และการรับรองความถูกต้องที่สําเร็จและล้มเหลว

หากต้องการเลือกมากขึ้น ให้เลือกจากสถานการณ์การตรวจสอบที่กําหนดค่าไว้ล่วงหน้า เช่น การเปลี่ยนแปลงสิทธิ์ & ความพยายามในการเข้าสู่ระบบ การอ่านและเขียนข้อมูล และ/หรือการเปลี่ยนแปลง Schema

สถานการณ์ที่กําหนดค่าไว้ล่วงหน้าแต่ละสถานการณ์จะแมปกับกลุ่มการดําเนินการตรวจสอบที่เฉพาะเจาะจง (ตัวอย่างเช่น SCHEMA_OBJECT_ACCESS_GROUP, , ) DATABASE_PRINCIPAL_CHANGE_GROUP คุณยังสามารถเลือกเหตุการณ์ที่จะตรวจสอบได้ภายใต้เหตุการณ์ที่กําหนดเอง คุณสามารถเลือกกลุ่มการดําเนินการแต่ละกลุ่มเพื่อปรับแต่งการตรวจสอบตามความต้องการของคุณ ตัวเลือกนี้เหมาะสําหรับองค์กรที่มีนโยบายการรักษาความปลอดภัยภายในที่เข้มงวด

หากต้องการกรองคิวรีการเข้าถึงทั่วไปหรือที่รู้จัก คุณสามารถระบุนิพจน์เพรดิเคตใน Transact-SQL (T-SQL) เพื่อกรองเหตุการณ์การตรวจสอบตามเงื่อนไข (ตัวอย่างเช่น เพื่อยกเว้นคําสั่ง SELECT): WHERE statement NOT LIKE '%select%'

การอนุญาต

เมื่อต้องการจัดการการตรวจสอบโดยใช้บทบาทพื้นที่ทํางาน Fabric (แนะนํา) คุณต้องมีสมาชิกในบทบาท ผู้สนับสนุน พื้นที่ทํางาน Fabric หรือสิทธิ์ที่สูงกว่า

วิธีจัดการการตรวจสอบด้วยสิทธิ์ SQL

  • เมื่อต้องการกําหนดค่าการตรวจสอบฐานข้อมูล คุณต้องมีสิทธิ์ ALTER ANY DATABASE AUDIT
  • เมื่อต้องการดูบันทึกการตรวจสอบโดยใช้ T-SQL คุณต้องมีสิทธิ์ VIEW DATABASE SECURITY AUDIT

Retention

โดยค่าเริ่มต้น ระบบจะเก็บข้อมูลการตรวจสอบไว้อย่างไม่มีกําหนด เว้นแต่คุณจะกําหนดค่าระยะเวลาการเก็บรักษาที่กําหนดเองเพื่อลบบันทึกโดยอัตโนมัติหลังจากระยะเวลานี้

ปัจจุบัน Fabric จัดเก็บบันทึกการตรวจสอบในโฟลเดอร์ของรายการใน OneLake และกําหนดขอบเขตตามวงจรชีวิตของรายการ หากคุณลบรายการ Fabric จะลบบันทึกการตรวจสอบด้วย หากคุณต้องการการเก็บรักษาโดยไม่ขึ้นกับวงจรชีวิตของรายการ ให้ย้ายบันทึกการตรวจสอบไปยังตําแหน่งที่เก็บข้อมูลแยกต่างหาก (ตัวอย่างเช่น Lakehouse อื่นหรือบัญชี Azure Storage) โดยใช้เครื่องมือ เช่น AzCopy หรือ SSD

การเก็บรักษาการตั้งค่าหลังจากการกู้คืน

หลังจากการดําเนินการคืนค่า การตั้งค่าการตรวจสอบจะถูกเก็บไว้ แต่ต้องเปิดใช้งานการตรวจสอบอีกครั้งในฐานข้อมูล Fabric SQL ในพอร์ทัล Fabric ให้เปิด จัดการการตรวจสอบ SQL เลือก บันทึก

กําหนดค่าการตรวจสอบสําหรับฐานข้อมูล SQL จากพอร์ทัล Fabric

ในการเริ่มต้นการตรวจสอบฐานข้อมูล Fabric SQL:

  1. นําทางไปยังและเปิดฐานข้อมูล SQL ของคุณในพอร์ทัล Fabric
  2. จากเมนูหลัก ให้เลือกแท็บ ความปลอดภัย จากนั้นเลือก จัดการการตรวจสอบ SQL สกรีนช็อตจากพอร์ทัล Fabric ที่แสดงแท็บ ความปลอดภัย และปุ่ม จัดการการตรวจสอบ SQL
  3. บานหน้าต่าง จัดการการตรวจสอบ SQL จะเปิดขึ้น
  4. เลือกปุ่ม บันทึกเหตุการณ์ไปยังบันทึกการตรวจสอบ SQL เพื่อเปิดใช้งานการตรวจสอบ
  5. กําหนดค่าเหตุการณ์ที่จะบันทึกในส่วนเหตุการณ์ฐานข้อมูล เลือก ตรวจสอบทุกอย่าง (ค่าเริ่มต้น) เพื่อบันทึกเหตุการณ์ทั้งหมด
  6. หรือกําหนดค่านโยบายการเก็บรักษาในส่วนการเก็บรักษา
  7. หรือกําหนดค่านิพจน์เพรดิเคตของคําสั่ง T-SQL เพื่อละเว้นในฟิลด์นิพจน์เพรดิเคต
  8. เลือก บันทึก

บันทึกการตรวจสอบคิวรี

บันทึกการตรวจสอบสามารถสืบค้นได้โดยใช้ฟังก์ชัน T-SQL sys.fn_get_audit_file และ sys.fn_get_audit_file_v2

ในสคริปต์ต่อไปนี้ คุณต้องระบุรหัสพื้นที่ทํางานและรหัสฐานข้อมูล ทั้งสองสามารถพบได้ใน URL จากพอร์ทัล Fabric ตัวอย่างเช่น: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id> สตริงตัวระบุที่ไม่ซ้ํากันแรกใน URL คือ ID พื้นที่ทํางาน Fabric และสตริงตัวระบุที่ไม่ซ้ํากันที่สองคือ ID ฐานข้อมูล SQL

  • แทนที่ <fabric_workspace_id> ด้วยรหัสพื้นที่ทํางาน Fabric ของคุณ คุณสามารถ ค้นหา ID ของพื้นที่ทํางาน ได้ใน URL ซึ่งเป็นสตริงที่ไม่ซ้ํากันภายในอักขระสอง / ตัวหลังจาก /groups/ ในหน้าต่างเบราว์เซอร์ของคุณ
  • แทนที่ <fabric sql database id> ด้วยฐานข้อมูล SQL ของคุณในรหัสฐานข้อมูล Fabric คุณสามารถค้นหา ID ของรายการฐานข้อมูลได้ใน URL ซึ่งเป็นสตริงที่ไม่ซ้ํากันภายในอักขระสอง / ตัวหลังจาก /sqldatabases/ ในหน้าต่างเบราว์เซอร์ของคุณ

เช่น:

SELECT * FROM sys.fn_get_audit_file_v2(
  'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
  DEFAULT, DEFAULT, DEFAULT, DEFAULT );

ตัวอย่างนี้ดึงข้อมูลบันทึกการตรวจสอบระหว่าง 2025-11-17T08:40:40Z และ2025-11-17T09:10:40Z

SELECT *
FROM sys.fn_get_audit_file_v2(
    'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
    DEFAULT,
    DEFAULT,
    '2025-11-17T08:40:40Z',
    '2025-11-17T09:10:40Z')

สําหรับข้อมูลเพิ่มเติม โปรดดู sys.fn_get_audit_file และ sys.fn_get_audit_file_v2

จัดการการตรวจสอบด้วย REST API

คุณยังสามารถดูและกําหนดค่าการตั้งค่าการตรวจสอบฐานข้อมูล SQL โดยทางโปรแกรมโดยใช้ Fabric REST API REST API ช่วยให้คุณสามารถจัดการการตรวจสอบได้อย่างสอดคล้องกันในฐานข้อมูลทั้งหมดในพื้นที่ทํางานโดยใช้สคริปต์ PowerShell

สําหรับข้อมูลเพิ่มเติม โปรดดู จัดการการตรวจสอบฐานข้อมูล SQL ด้วย REST API