หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:✅ จุดสิ้นสุดการวิเคราะห์ SQL และ Warehouse ใน Microsoft Fabric
การมาสก์ข้อมูลแบบไดนามิกเป็นคุณลักษณะการปกป้องข้อมูลที่จํากัดการเปิดเผยข้อมูลที่ละเอียดอ่อนโดยการปิดบังผู้ใช้ที่ไม่มีสิทธิ์ ช่วยลดความยุ่งยากในการออกแบบและการเข้ารหัสความปลอดภัยในแอปพลิเคชันของคุณ
การมาสก์ข้อมูลแบบไดนามิกช่วยป้องกันการดูข้อมูลที่ละเอียดอ่อนโดยไม่ได้รับอนุญาต ผู้ดูแลระบบจะระบุจํานวนข้อมูลที่ละเอียดอ่อนที่จะเปิดเผย โดยให้มีผลน้อยที่สุดต่อเลเยอร์แอปพลิเคชัน คุณสามารถกําหนดค่าการมาสก์ข้อมูลแบบไดนามิกในฟิลด์ฐานข้อมูลที่กําหนดเพื่อซ่อนข้อมูลที่ละเอียดอ่อนในชุดผลลัพธ์ของการสืบค้น ข้อมูลในฐานข้อมูลจะไม่เปลี่ยนแปลง ดังนั้นแอปพลิเคชันที่มีอยู่จึงสามารถทํางานต่อไปได้โดยไม่ต้องปรับเปลี่ยน เนื่องจากกฎการมาสก์ถูกนําไปใช้กับผลลัพธ์แบบสอบถาม แอปพลิเคชันจํานวนมากสามารถซ่อนตัวข้อมูลที่สําคัญได้โดยไม่ต้องปรับเปลี่ยนคิวรีที่มีอยู่
การมาสก์ข้อมูลแบบไดนามิกมีความสามารถเหล่านี้:
- นโยบายการปกปิดข้อมูลส่วนกลางทําหน้าที่โดยตรงกับเขตข้อมูลที่ละเอียดอ่อนในฐานข้อมูล
- ผู้ใช้หรือบทบาทที่มีสิทธิ์สามารถกําหนดให้เข้าถึงข้อมูลที่ละเอียดอ่อนได้
- คุณมีตัวเลือกการมาสก์ให้เลือก: ฟังก์ชันการมาสก์แบบเต็มและการมาสก์บางส่วน และมาสก์แบบสุ่มสําหรับข้อมูลตัวเลข
- คําสั่ง Transact-SQL อย่างง่ายจะกําหนดและจัดการมาสก์
การมาสก์ข้อมูลแบบไดนามิกไม่ได้ป้องกันไม่ให้ผู้ใช้ฐานข้อมูลเชื่อมต่อโดยตรงกับฐานข้อมูลและเรียกใช้คิวรีอย่างละเอียดถี่ถ้วนซึ่งเปิดเผยส่วนของข้อมูลที่ละเอียดอ่อน ใช้การมาสก์ข้อมูลแบบไดนามิกร่วมกับคุณลักษณะด้านความปลอดภัยอื่นๆ ของ Fabric เช่น การรักษาความปลอดภัยระดับคอลัมน์และการรักษาความปลอดภัยระดับแถวเพื่อปกป้องข้อมูลที่ละเอียดอ่อนในฐานข้อมูล
ฟังก์ชันการมาสก์ข้อมูลแบบไดนามิก
กําหนดกฎการมาสก์บนคอลัมน์ในตารางเพื่อทําให้ข้อมูลในคอลัมน์นั้นสับสน มีหน้ากากสี่ประเภทให้เลือก
| Function | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| ค่าเริ่มต้น | การมาสก์เต็มรูปแบบตามชนิดข้อมูลของเขตข้อมูลที่กําหนด สําหรับชนิดข้อมูลสตริง ให้ใช้ XXXX (หรือน้อยกว่า) ถ้าขนาดของเขตข้อมูลน้อยกว่า 4 อักขระ (char, nchar, varchar, nvarchar, text, ntext)สําหรับชนิดข้อมูลตัวเลข ให้ใช้ค่าศูนย์ (bigint, bit, decimal, int, money, numeric, smallint, smallmoney, tinyint, float, real) สําหรับชนิดข้อมูลวันที่และเวลา ให้ใช้ (วันที่, วันที่เวลา 2, 1900-01-01 00:00:00.0000000, datetimeoffset, smalldatetime, time) สําหรับชนิดข้อมูลไบนารี ใช้ไบต์เดียวของค่า ASCII 0 (ไบนารี varbinary รูปภาพ) |
ไวยากรณ์ข้อกําหนดคอลัมน์ตัวอย่าง: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULLตัวอย่างของไวยากรณ์การเปลี่ยนแปลง: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()') |
| ส่งอีเมล | วิธีการมาสก์ที่แสดงตัวอักษรแรกของที่อยู่อีเมลและคําต่อท้ายคงที่ ".com" ในรูปแบบที่อยู่อีเมล
aXXX@XXXX.com
|
ไวยากรณ์ข้อกําหนดตัวอย่าง: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULLตัวอย่างของไวยากรณ์การเปลี่ยนแปลง: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()') |
| สุ่ม | ฟังก์ชันมาสก์แบบสุ่มสําหรับใช้กับชนิดตัวเลขใด ๆ เพื่อมาสก์ค่าเดิมด้วยค่าสุ่มภายในช่วงที่ระบุ | ไวยากรณ์ข้อกําหนดตัวอย่าง: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])')ตัวอย่างของไวยากรณ์การเปลี่ยนแปลง: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)') |
| สตริงแบบกําหนดเอง | วิธีการมาสก์ที่แสดงตัวอักษรตัวแรกและตัวสุดท้าย และเพิ่มสตริงช่องว่างภายในแบบกําหนดเองตรงกลาง prefix,[padding],suffixถ้าค่าเดิมสั้นเกินไปเพื่อทําให้รูปแบบทั้งหมดเสร็จสมบูรณ์ ส่วนหนึ่งของคํานําหน้าหรือคําต่อท้ายจะไม่แสดงขึ้น |
ไวยากรณ์ข้อกําหนดตัวอย่าง: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULLตัวอย่างของไวยากรณ์การเปลี่ยนแปลง: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')ซึ่งจะเปลี่ยนหมายเลขโทรศัพท์เช่น 555.123.1234 เป็น5XXXXXXX ตัวอย่างเพิ่มเติม: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)') ซึ่งจะเปลี่ยนหมายเลขโทรศัพท์เช่น 555.123.1234 เป็น555.1XXXXXXX |
สําหรับตัวอย่างเพิ่มเติม ดูวิธีการใช้การมาสก์ข้อมูลแบบไดนามิกใน Fabric คลังข้อมูล
สิทธิ์สําหรับการมาสก์ข้อมูลแบบไดนามิก
ใน Fabric คลังข้อมูล ผู้ใช้จะเห็นข้อมูลที่มาสก์เมื่อพวกเขาสอบถามคอลัมน์ที่มาสก์ หากพวกเขาไม่ใช่สมาชิกของบทบาท ผู้ดูแลระบบ สมาชิก หรือผู้สนับสนุนในพื้นที่ทํางาน หรือไม่มีสิทธิ์ที่ยกระดับบนคลังสินค้า
ตารางต่อไปนี้แสดงรายการสิทธิ์ที่จําเป็นสําหรับการดําเนินการมาสก์ข้อมูลแบบไดนามิกแต่ละรายการ:
| การดำเนินการ | การอนุญาตที่จําเป็น |
|---|---|
| สร้างตารางที่มีคอลัมน์ที่มาสก์ |
CREATE TABLE และ ALTER ในสคีมา |
| เพิ่ม แทนที่ หรือเอามาสก์บนคอลัมน์ออก |
ALTER ANY MASK และ ALTER บนโต๊ะ |
| ดูข้อมูลที่มาสก์ |
SELECT บนโต๊ะ |
| ดูข้อมูลที่ไม่ปิดบัง |
UNMASK บนคอลัมน์หรือ CONTROL บนฐานข้อมูล |
มอบให้ ALTER ANY MASK เจ้าหน้าที่รักษาความปลอดภัย ให้สิทธิ์ UNMASK แก่ผู้ใช้เพื่ออนุญาตให้ผู้ใช้นั้นดึงข้อมูลที่ไม่ได้ปิดบังจากคอลัมน์ที่มาสก์
CONTROLสิทธิ์ในฐานข้อมูลประกอบด้วยALTER ANY MASKทั้ง และ UNMASKดังนั้นผู้ใช้ที่มีCONTROLจึงสามารถดูข้อมูลที่ไม่ได้ปิดบังได้ ผู้ใช้หรือบทบาทผู้ดูแลระบบ เช่น ผู้ดูแลระบบ สมาชิก หรือผู้ CONTROL สนับสนุนมีสิทธิ์ในฐานข้อมูลตามการออกแบบ และสามารถดูข้อมูลที่ไม่ได้ปิดบังได้ตามค่าเริ่มต้น สิทธิ์แบบยกระดับบนคลังสินค้ารวมถึง CONTROL สิทธิ์
การพิจารณาด้านความปลอดภัย: เลี่ยงการปิดบังโดยใช้เทคนิคการอนุมานหรือกําลังดุร้าย
การมาสก์ข้อมูลแบบไดนามิกช่วยลดความยุ่งยากในการพัฒนาแอปพลิเคชันโดยจํากัดการเปิดเผยข้อมูลในชุดของคิวรีที่กําหนดไว้ล่วงหน้าที่แอปพลิเคชันใช้ แม้ว่าการมาสก์ข้อมูลแบบไดนามิกจะช่วยป้องกันการเปิดเผยข้อมูลที่ละเอียดอ่อนโดยไม่ได้ตั้งใจเมื่อเข้าถึงข้อมูลโดยตรง แต่ผู้ใช้ที่ไม่มีสิทธิ์ที่มีสิทธิ์ในการสืบค้นสามารถใช้เทคนิคเพื่ออนุมานข้อมูลจริงได้
ตัวอย่างเช่น ผู้ใช้ที่มีสิทธิ์ในการเรียกใช้คิวรีบนคลังสินค้าสามารถคาดเดาค่าเพื่ออนุมานข้อมูลที่มาสก์ได้ สมมติว่า คุณกําหนดมาสก์บน [Employee].[Salary] คอลัมน์ ผู้ใช้เชื่อมต่อโดยตรงกับฐานข้อมูลและเริ่มคาดเดาค่า และในที่สุดก็อนุมา [Salary] นค่าใน Employees ตาราง พวกเขาเรียกใช้แบบสอบถามช่วงกับ Employees ตาราง:
SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;
แบบสอบถามจะส่งกลับ:
| ID | ชื่อ | เงินเดือน |
|---|---|---|
| 62543 | เจน โด | 0 |
| 91245 | จอห์น สมิธ | 0 |
แม้ว่า Salary คอลัมน์จะถูกปิดบัง (ค่าที่แสดงเป็น 0) ประโยคยืนยัน WHERE ว่าพนักงานทั้งสองมีเงินเดือนระหว่าง 99,999 ถึง 100,001 ดอลลาร์ อย่าใช้การมาสก์ข้อมูลแบบไดนามิกเพียงอย่างเดียวเพื่อรักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนอย่างสมบูรณ์จากผู้ใช้ที่มีสิทธิ์เข้าถึงคิวรีไปยังตําแหน่งข้อมูลการวิเคราะห์คลังสินค้าหรือ SQL การมาสก์ข้อมูลแบบไดนามิกเหมาะสําหรับการป้องกันการเปิดเผยข้อมูลที่ละเอียดอ่อนโดยไม่ได้ตั้งใจ แต่ไม่ได้ป้องกันเจตนาร้ายในการอนุมานข้อมูลพื้นฐาน
จัดการความปลอดภัยระดับอ็อบเจ็กต์อย่างเหมาะสมด้วย สิทธิ์แบบละเอียดของ SQL และปฏิบัติตามหลักการของสิทธิ์ขั้นต่ําเสมอ
เนื้อหาที่เกี่ยวข้อง
- บทบาทพื้นที่ทํางานในคลังข้อมูล Fabric
- การรักษาความปลอดภัยระดับคอลัมน์ในคลังข้อมูล Fabric
- การรักษาความปลอดภัยระดับแถวในคลังข้อมูล Fabric
- ความปลอดภัยสําหรับคลังข้อมูลใน Microsoft Fabric