วิธีใช้การมาสก์ข้อมูลแบบไดนามิกในคลังข้อมูล Fabric
นําไปใช้กับ:✅ จุดสิ้นสุดการวิเคราะห์ SQL และ Warehouse ใน Microsoft Fabric
การมาสก์ข้อมูลแบบไดนามิกเป็นเทคโนโลยีการป้องกันข้อมูลที่ทันสมัยซึ่งช่วยให้องค์กรสามารถปกป้องข้อมูลที่สําคัญภายในฐานข้อมูลได้ ซึ่งช่วยให้คุณสามารถกําหนดกฎการมาสก์สําหรับคอลัมน์เฉพาะเพื่อให้แน่ใจว่าเฉพาะผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่เห็นข้อมูลต้นฉบับในขณะที่ซ่อนไว้สําหรับผู้อื่น การมาสก์ข้อมูลแบบไดนามิกมีเลเยอร์ของการรักษาความปลอดภัยเพิ่มเติมโดยการเปลี่ยนข้อมูลที่แสดงให้กับผู้ใช้แบบไดนามิกโดยยึดตามสิทธิ์การเข้าถึงของพวกเขา
สําหรับข้อมูลเพิ่มเติม โปรดดู การมาสก์ข้อมูลแบบไดนามิกในคลังข้อมูล Fabric
ข้อกำหนดเบื้องต้น
ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- พื้นที่ทํางาน Microsoft Fabric ที่มีความจุที่ใช้งานอยู่หรือความจุรุ่นทดลองใช้
- คลังสินค้า
- การมาสก์ข้อมูลแบบไดนามิกทํางานบนจุดสิ้นสุดการวิเคราะห์ SQL คุณสามารถเพิ่มรูปแบบไปยังคอลัมน์ที่มีอยู่โดยใช้
ALTER TABLE ... ALTER COLUMN
ตามที่สาธิตในภายหลังในบทความนี้ - แบบฝึกหัดนี้ใช้คลังสินค้า
- การมาสก์ข้อมูลแบบไดนามิกทํางานบนจุดสิ้นสุดการวิเคราะห์ SQL คุณสามารถเพิ่มรูปแบบไปยังคอลัมน์ที่มีอยู่โดยใช้
- ในการดูแลระบบ ผู้ใช้ที่มีสิทธิ์ผู้ดูแลระบบ สมาชิก หรือผู้สนับสนุนบนพื้นที่ทํางาน หรือสิทธิ์การยกระดับบนคลังสินค้า
- ในบทช่วยสอนนี้ "บัญชีผู้ดูแลระบบ"
- หากต้องการทดสอบ ผู้ใช้ที่ไม่มีสิทธิ์ของผู้ดูแลระบบ สมาชิก หรือผู้สนับสนุนบนพื้นที่ทํางาน และไม่มีสิทธิ์ระดับสูงบนคลังสินค้า
- ในบทช่วยสอนนี้ "ผู้ใช้ทดสอบ"
1. เชื่อมต่อ
- เปิดพื้นที่ทํางาน Fabric และนําทางไปยังคลังสินค้าที่คุณต้องการใช้การปกปิดข้อมูลแบบไดนามิก
- ลงชื่อเข้าใช้ด้วยบัญชีด้วยการเข้าถึงแบบยกระดับบนคลังสินค้า ไม่ว่าจะเป็นบทบาทผู้ดูแลระบบ/สมาชิก/ผู้สนับสนุนบนพื้นที่ทํางานหรือสิทธิ์การควบคุมบนคลังสินค้า
2. กําหนดค่าการมาสก์ข้อมูลแบบไดนามิก
ลงชื่อเข้าใช้พอร์ทัล Fabric ด้วยบัญชีผู้ดูแลระบบของคุณ
ในพื้นที่ทํางาน Fabric นําทางไปยังคลังสินค้าของคุณ
เลือกตัวเลือก คิวรี SQL ใหม่ และภายใต้ ว่างเปล่า เลือก คิวรี SQL ใหม่
ในสคริปต์ 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-
ตามด้วยอักขระสี่ตัวสุดท้ายของสตริง
- คอลัมน์
เลือก ปุ่ม เรียกใช้ เพื่อเรียกใช้สคริปต์
ยืนยันการดําเนินการของสคริปต์
สคริปต์จะใช้กฎการมาสก์ข้อมูลแบบไดนามิกที่ระบุกับคอลัมน์ที่กําหนดในตารางของคุณ
3. ทดสอบการปกปิดข้อมูลแบบไดนามิก
เมื่อกฎการมาสก์ข้อมูลแบบไดนามิกถูกนําไปใช้ คุณสามารถทดสอบการมาสก์โดยการคิวรีตารางด้วยผู้ใช้ทดสอบที่ไม่มีสิทธิ์ผู้ดูแลระบบสมาชิกหรือผู้สนับสนุนในพื้นที่ทํางานหรือสิทธิ์การยกระดับบนคลังสินค้า
- ลงชื่อเข้าใช้เครื่องมือ เช่น Azure Data Studio หรือ SQL Server Management Studio ในฐานะผู้ใช้ทดสอบ เป็นต้นTestUser@contoso.com
- ในฐานะผู้ใช้ทดสอบ ให้เรียกใช้คิวรีกับตาราง ข้อมูลที่ถูกมาสก์จะแสดงตามกฎที่คุณกําหนดไว้
SELECT * FROM dbo.EmployeeData;
- ด้วยบัญชีผู้ดูแลระบบของคุณ ให้
UNMASK
มอบสิทธิ์จากผู้ใช้ทดสอบGRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
- ในฐานะผู้ใช้ทดสอบ ให้ตรวจสอบว่าผู้ใช้ลงชื่อเข้าใช้ในฐานะ TestUser@contoso.com ที่สามารถดูข้อมูลที่ไม่ได้เก็บข้อมูลได้หรือไม่
SELECT * FROM dbo.EmployeeData;
- ด้วยบัญชีผู้ดูแลระบบของคุณ ยกเลิก
UNMASK
สิทธิ์จากผู้ใช้ทดสอบREVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
- ตรวจสอบว่าผู้ใช้ทดสอบไม่สามารถดูข้อมูลที่ไม่ถูกแมป ได้เฉพาะข้อมูลที่ได้รับการมาสก์เท่านั้น
SELECT * FROM dbo.EmployeeData;
- ด้วยบัญชีผู้ดูแลระบบของคุณ คุณสามารถให้และเพิกถอน
UNMASK
สิทธิ์ในบทบาทได้GRANT UNMASK ON dbo.EmployeeData TO [TestRole]; REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
4. จัดการและปรับเปลี่ยนกฎการปกปิดข้อมูลแบบไดนามิก
หากต้องการจัดการหรือปรับเปลี่ยนกฎการมาสก์ข้อมูลแบบไดนามิกที่มีอยู่ ให้สร้างสคริปต์ SQL ใหม่
คุณสามารถเพิ่มรูปแบบไปยังคอลัมน์ที่มีอยู่ได้โดยใช้
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
- วิธีล้างตารางการทดสอบนี้:
DROP TABLE dbo.EmployeeData;