แชร์ผ่าน


วิธีใช้การมาสก์ข้อมูลแบบไดนามิกในคลังข้อมูล Fabric

นําไปใช้กับ:✅ จุดสิ้นสุดการวิเคราะห์ SQL และ Warehouse ใน Microsoft Fabric

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

สําหรับข้อมูลเพิ่มเติม โปรดดู การมาสก์ข้อมูลแบบไดนามิกในคลังข้อมูล Fabric

ข้อกำหนดเบื้องต้น

ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  1. พื้นที่ทํางาน Microsoft Fabric ที่มีความจุที่ใช้งานอยู่หรือความจุรุ่นทดลองใช้
  2. คลังสินค้า
    1. การมาสก์ข้อมูลแบบไดนามิกทํางานบนจุดสิ้นสุดการวิเคราะห์ SQL คุณสามารถเพิ่มรูปแบบไปยังคอลัมน์ที่มีอยู่โดยใช้ ALTER TABLE ... ALTER COLUMN ตามที่สาธิตในภายหลังในบทความนี้
    2. แบบฝึกหัดนี้ใช้คลังสินค้า
  3. ในการดูแลระบบ ผู้ใช้ที่มีสิทธิ์ผู้ดูแลระบบ สมาชิก หรือผู้สนับสนุนบนพื้นที่ทํางาน หรือสิทธิ์การยกระดับบนคลังสินค้า
    1. ในบทช่วยสอนนี้ "บัญชีผู้ดูแลระบบ"
  4. หากต้องการทดสอบ ผู้ใช้ที่ไม่มีสิทธิ์ของผู้ดูแลระบบ สมาชิก หรือผู้สนับสนุนบนพื้นที่ทํางาน และไม่มีสิทธิ์ระดับสูงบนคลังสินค้า
    1. ในบทช่วยสอนนี้ "ผู้ใช้ทดสอบ"

1. เชื่อมต่อ

  1. เปิดพื้นที่ทํางาน Fabric และนําทางไปยังคลังสินค้าที่คุณต้องการใช้การปกปิดข้อมูลแบบไดนามิก
  2. ลงชื่อเข้าใช้ด้วยบัญชีด้วยการเข้าถึงแบบยกระดับบนคลังสินค้า ไม่ว่าจะเป็นบทบาทผู้ดูแลระบบ/สมาชิก/ผู้สนับสนุนบนพื้นที่ทํางานหรือสิทธิ์การควบคุมบนคลังสินค้า

2. กําหนดค่าการมาสก์ข้อมูลแบบไดนามิก

  1. ลงชื่อเข้าใช้พอร์ทัล Fabric ด้วยบัญชีผู้ดูแลระบบของคุณ

  2. ในพื้นที่ทํางาน Fabric นําทางไปยังคลังสินค้าของคุณ

  3. เลือกตัวเลือก คิวรี SQL ใหม่ และภายใต้ ว่างเปล่า เลือก คิวรี SQL ใหม่

  4. ในสคริปต์ SQL ของคุณ ให้กําหนดกฎการปกปิดข้อมูลแบบไดนามิกโดยใช้ MASKED WITH FUNCTION ส่วนคําสั่ง ตัวอย่างเช่น:

    CREATE TABLE dbo.EmployeeData (
        EmployeeID INT
        ,FirstName VARCHAR(50) MASKED WITH (FUNCTION = 'partial(1,"-",2)') NULL
        ,LastName VARCHAR(50) MASKED WITH (FUNCTION = 'default()') NULL
        ,SSN CHAR(11) MASKED WITH (FUNCTION = 'partial(0,"XXX-XX-",4)') NULL
        ,email VARCHAR(256) NULL
        );
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (1, 'TestFirstName', 'TestLastName', '123-45-6789','email@youremail.com');
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (2, 'First_Name', 'Last_Name', '000-00-0000','email2@youremail2.com');
    GO
    
    • คอลัมน์ FirstName แสดงเฉพาะอักขระสองตัวแรกและตัวสุดท้ายของสตริงที่อยู่ - ตรงกลาง
    • คอลัมน์LastNameแสดงXXXX
    • คอลัมน์ SSN แสดง XXX-XX- ตามด้วยอักขระสี่ตัวสุดท้ายของสตริง
  5. เลือก ปุ่ม เรียกใช้ เพื่อเรียกใช้สคริปต์

  6. ยืนยันการดําเนินการของสคริปต์

  7. สคริปต์จะใช้กฎการมาสก์ข้อมูลแบบไดนามิกที่ระบุกับคอลัมน์ที่กําหนดในตารางของคุณ

3. ทดสอบการปกปิดข้อมูลแบบไดนามิก

เมื่อกฎการมาสก์ข้อมูลแบบไดนามิกถูกนําไปใช้ คุณสามารถทดสอบการมาสก์โดยการคิวรีตารางด้วยผู้ใช้ทดสอบที่ไม่มีสิทธิ์ผู้ดูแลระบบสมาชิกหรือผู้สนับสนุนในพื้นที่ทํางานหรือสิทธิ์การยกระดับบนคลังสินค้า

  1. ลงชื่อเข้าใช้เครื่องมือ เช่น Azure Data Studio หรือ SQL Server Management Studio ในฐานะผู้ใช้ทดสอบ เป็นต้นTestUser@contoso.com
  2. ในฐานะผู้ใช้ทดสอบ ให้เรียกใช้คิวรีกับตาราง ข้อมูลที่ถูกมาสก์จะแสดงตามกฎที่คุณกําหนดไว้
    SELECT * FROM dbo.EmployeeData;
    
  3. ด้วยบัญชีผู้ดูแลระบบของคุณ ให้ UNMASK มอบสิทธิ์จากผู้ใช้ทดสอบ
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. ในฐานะผู้ใช้ทดสอบ ให้ตรวจสอบว่าผู้ใช้ลงชื่อเข้าใช้ในฐานะ TestUser@contoso.com ที่สามารถดูข้อมูลที่ไม่ได้เก็บข้อมูลได้หรือไม่
    SELECT * FROM dbo.EmployeeData;
    
  5. ด้วยบัญชีผู้ดูแลระบบของคุณ ยกเลิก UNMASK สิทธิ์จากผู้ใช้ทดสอบ
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. ตรวจสอบว่าผู้ใช้ทดสอบไม่สามารถดูข้อมูลที่ไม่ถูกแมป ได้เฉพาะข้อมูลที่ได้รับการมาสก์เท่านั้น
    SELECT * FROM dbo.EmployeeData;
    
  7. ด้วยบัญชีผู้ดูแลระบบของคุณ คุณสามารถให้และเพิกถอน UNMASK สิทธิ์ในบทบาทได้
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. จัดการและปรับเปลี่ยนกฎการปกปิดข้อมูลแบบไดนามิก

หากต้องการจัดการหรือปรับเปลี่ยนกฎการมาสก์ข้อมูลแบบไดนามิกที่มีอยู่ ให้สร้างสคริปต์ SQL ใหม่

  1. คุณสามารถเพิ่มรูปแบบไปยังคอลัมน์ที่มีอยู่ได้โดยใช้ MASKED WITH FUNCTION ส่วนคําสั่ง:

    ALTER TABLE dbo.EmployeeData
    ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()');
    GO
    
    ALTER TABLE dbo.EmployeeData 
    ALTER COLUMN [email] DROP MASKED;
    

5. Cleanup

  1. วิธีล้างตารางการทดสอบนี้:
    DROP TABLE dbo.EmployeeData;