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

นําไปใช้กับ:✅ ตําแหน่งข้อมูลการวิเคราะห์ SQL และคลังสินค้าใน 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.
    • คอลัมน์จะแสดงSSNXXX-XX-ตามด้วยอักขระสี่ตัวสุดท้ายของสตริง
  5. เลือกปุ่ม เรียกใช้ เพื่อเรียกใช้สคริปต์

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

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

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

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

  1. ลงชื่อเข้าใช้เครื่องมือ เช่น SQL Server Management Studio (SSMS) หรือ ส่วนขยาย MSSQL สําหรับ Visual Studio Code ในฐานะผู้ใช้ทดสอบ ตัวอย่างเช่น 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. การทําความสะอาด

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