หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
เอกสารนี้ให้คําแนะนําโดยละเอียดเกี่ยวกับวิธีการทํางานของโมเดลการควบคุมการเข้าถึงความปลอดภัย OneLake ประกอบด้วยรายละเอียดเกี่ยวกับวิธีโครงสร้างบทบาท วิธีการนําไปใช้กับข้อมูล และการรวมกับโครงสร้างอื่นๆ ภายใน Microsoft Fabric คืออะไร
บทบาทความปลอดภัยของ OneLake
การรักษาความปลอดภัยของ OneLake ใช้โมเดลการควบคุมการเข้าถึงตามบทบาท (RBAC) เพื่อจัดการการเข้าถึงข้อมูลใน OneLake แต่ละบทบาทประกอบด้วยองค์ประกอบหลักหลายประการ
- ประเภท: บทบาทให้สิทธิ์การเข้าถึง (GRANT) หรือลบสิทธิ์การเข้าถึง (DENY) รองรับเฉพาะบทบาทประเภท GRANT เท่านั้น
- การอนุญาต: การดําเนินการเฉพาะหรือการกระทําที่ได้รับการอนุมัติหรือปฏิเสธ
- ขอบเขต: วัตถุ OneLake ที่ได้รับอนุญาต วัตถุคือตาราง โฟลเดอร์ หรือสคีมา
- สมาชิก: ข้อมูลประจําตัว Microsoft Entra ใดๆ ที่กําหนดให้กับบทบาท เช่น ผู้ใช้ กลุ่ม หรือข้อมูลประจําตัวที่ไม่ใช่ผู้ใช้ บทบาทนี้มอบให้กับสมาชิกทุกคนของกลุ่ม Microsoft Entra
เมื่อกําหนดสมาชิกให้กับบทบาท ผู้ใช้นั้นจะอยู่ภายใต้สิทธิ์ที่เกี่ยวข้องในขอบเขตของบทบาทนั้น เนื่องจากการรักษาความปลอดภัยของ OneLake ใช้โมเดลการปฏิเสธโดยค่าเริ่มต้น ผู้ใช้ทุกคนจึงเริ่มต้นโดยไม่สามารถเข้าถึงข้อมูล เว้นแต่จะได้รับอนุญาตอย่างชัดเจนจากบทบาทความปลอดภัยของ OneLake
สิทธิ์และรายการที่รองรับ
Security role ของ OneLake สนับสนุนสิทธิ์ต่อไปนี้:
- อ่าน: ให้ผู้ใช้สามารถอ่านข้อมูลจากตารางและดูข้อมูลเมตาของตารางและคอลัมน์ที่เกี่ยวข้อง ในแง่ของ SQL สิทธิ์นี้เทียบเท่ากับทั้ง VIEW_DEFINITION และ SELECT สําหรับข้อมูลเพิ่มเติม โปรดดู ความปลอดภัยของข้อมูลเมตา
- อ่านเขียน: ให้ผู้ใช้สามารถอ่านและเขียนข้อมูลจากตารางหรือโฟลเดอร์ และดูข้อมูลเมตาของตารางและคอลัมน์ที่เกี่ยวข้อง ในแง่ของ SQL สิทธิ์นี้เทียบเท่ากับ ALTER, DROP, UPDATE และ INSERT สําหรับข้อมูลเพิ่มเติม โปรดดู สิทธิ์ ReadWrite
การรักษาความปลอดภัย OneLake ช่วยให้ผู้ใช้สามารถกําหนดบทบาทการเข้าถึงข้อมูลสําหรับรายการ Fabric ต่อไปนี้เท่านั้น
| รายการผ้า | สถานะ | สิทธิ์ที่รองรับ |
|---|---|---|
| Lakehouse | ตัวอย่างสำหรับสาธารณะ | อ่าน อ่านเขียน |
| แค็ตตาล็อกที่มิเรอร์บริคของ Azure | ตัวอย่างสำหรับสาธารณะ | Read |
ความปลอดภัยของ OneLake และสิทธิ์พื้นที่ทํางาน
สิทธิ์ของพื้นที่ทํางานเป็นขอบเขตความปลอดภัยแรกสําหรับข้อมูลภายใน OneLake พื้นที่ทํางานแต่ละรายการแสดงโดเมนเดียวหรือพื้นที่โครงการที่ทีมสามารถทํางานร่วมกันบนข้อมูลได้ คุณจัดการความปลอดภัยในพื้นที่ทํางานผ่านบทบาทพื้นที่ทํางาน Fabric เรียนรู้เพิ่มเติมเกี่ยวกับการควบคุมการเข้าถึงตามบทบาท Fabric (RBAC): บทบาทพื้นที่ทํางาน
บทบาทพื้นที่ทํางาน Fabric ให้สิทธิ์ที่ใช้กับรายการทั้งหมดในพื้นที่ทํางาน ตารางต่อไปนี้สรุปสิทธิ์พื้นฐานที่อนุญาตโดยบทบาทพื้นที่ทํางาน
| Permission | Admin | Member | Contributor | Viewer |
|---|---|---|---|---|
| ดูไฟล์ใน OneLake | เสมอ* ใช่ | เสมอ* ใช่ | เสมอ* ใช่ | ไม่ใช่ตามค่าเริ่มต้น ใช้การรักษาความปลอดภัย OneLake เพื่ออนุญาตให้เข้าถึง |
| เขียนไฟล์ใน OneLake | เสมอ* ใช่ | เสมอ* ใช่ | เสมอ* ใช่ | No |
| สามารถแก้ไข Security role ของ OneLake ได้ | เสมอ* ใช่ | เสมอ* ใช่ | No | No |
*เนื่องจากบทบาทผู้ดูแลระบบพื้นที่ทํางาน สมาชิก และผู้สนับสนุนให้สิทธิ์การเขียนไปยัง OneLake โดยอัตโนมัติ พวกเขาจะแทนที่สิทธิ์การอ่านด้านความปลอดภัย OneLake ใด ๆ
บทบาทพื้นที่ทํางานจัดการการเข้าถึงข้อมูลระนาบควบคุม ซึ่งหมายถึงการโต้ตอบกับการสร้างและจัดการสิ่งประดิษฐ์และสิทธิ์ของ Fabric นอกจากนี้ บทบาทพื้นที่ทํางานยังให้ระดับการเข้าถึงเริ่มต้นไปยังรายการข้อมูลโดยใช้บทบาทเริ่มต้นด้านความปลอดภัยของ OneLake (โปรดทราบว่าบทบาทเริ่มต้นใช้กับผู้ชมเท่านั้น เนื่องจากผู้ดูแลระบบ สมาชิก และผู้สนับสนุนมีสิทธิ์การเข้าถึงที่ยกระดับผ่านสิทธิ์การเขียน) บทบาทเริ่มต้นคือบทบาทความปลอดภัย OneLake ปกติที่สร้างขึ้นโดยอัตโนมัติกับรายการใหม่ทุกรายการ โดยให้สิทธิ์ในพื้นที่ทํางานหรือรายการบางอย่างแก่ผู้ใช้ระดับการเข้าถึงข้อมูลในรายการนั้นตามค่าเริ่มต้น ตัวอย่างเช่น รายการ Lakehouse มีบทบาท DefaultReader ที่อนุญาตให้ผู้ใช้ที่มีสิทธิ์ ReadAll ดูข้อมูลใน Lakehouse สิ่งนี้ทําให้มั่นใจได้ว่าผู้ใช้ที่เข้าถึงรายการที่สร้างขึ้นใหม่จะมีการเข้าถึงระดับพื้นฐาน บทบาทเริ่มต้นทั้งหมดใช้คุณลักษณะการจําลองเสมือนของสมาชิก เพื่อให้สมาชิกของบทบาทเป็นผู้ใช้ใดๆ ในพื้นที่ทํางานนั้นที่มีสิทธิ์ที่จําเป็น ตัวอย่างเช่น ผู้ใช้ทั้งหมดที่มีสิทธิ์ ReadAll บน Lakehouse ตารางต่อไปนี้แสดงให้เห็นว่าบทบาทเริ่มต้นมาตรฐานคืออะไร รายการอาจมีบทบาทเริ่มต้นเฉพาะที่ใช้กับชนิดสินค้านั้นเท่านั้น
| รายการผ้า | ชื่อบทบาท | Permission | รวมโฟลเดอร์ | สมาชิกที่ได้รับมอบหมาย |
|---|---|---|---|---|
| Lakehouse | DefaultReader |
Read | โฟลเดอร์ทั้งหมดภายใต้ Tables/ และ Files/ |
ผู้ใช้ทั้งหมดที่มีสิทธิ์ ReadAll |
| Lakehouse | DefaultReadWriter |
Read | โฟลเดอร์ทั้งหมด | ผู้ใช้ทั้งหมดที่มีสิทธิ์ในการเขียน |
Note
หากต้องการจํากัดการเข้าถึงไปยังผู้ใช้ที่ระบุหรือโฟลเดอร์เฉพาะ ให้ปรับเปลี่ยนบทบาทเริ่มต้นหรือลบออกและสร้างบทบาทแบบกําหนดเองใหม่
การรักษาความปลอดภัย OneLake และการอนุญาตรายการ
ภายในพื้นที่ทํางาน รายการ Fabric สามารถมีสิทธิ์ที่กําหนดค่าแยกต่างหากจากบทบาทพื้นที่ทํางาน คุณสามารถกําหนดค่าสิทธิ์ผ่านทางการแชร์รายการหรือโดยการจัดการสิทธิ์ของรายการ สิทธิ์ต่อไปนี้จะกําหนดความสามารถของผู้ใช้ในการดําเนินการกับข้อมูลใน OneLake สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการแชร์รายการ โปรดดู วิธีการทํางานของการแชร์ Lakehouse
| Permission | สามารถดูไฟล์ใน OneLake ได้หรือไม่? | สามารถเขียนไฟล์ใน OneLake ได้หรือไม่ | สามารถอ่านข้อมูลผ่านจุดสิ้นสุดการวิเคราะห์ SQL ได้หรือไม่ |
|---|---|---|---|
| Read | ไม่ใช่ตามค่าเริ่มต้น ใช้การรักษาความปลอดภัย OneLake เพื่อให้สิทธิ์การเข้าถึง | No | No |
| ReadAll | ใช่ผ่านบทบาท DefaultReader ใช้การรักษาความปลอดภัย OneLake เพื่อจํากัดการเข้าถึง | No | ไม่ใช่* |
| Write | Yes | Yes | Yes |
| ดําเนินการ, แชร์ใหม่, ViewOutput, ViewLogs | ไม่สามารถมอบให้ N/A ด้วยตนเองได้ | ไม่สามารถมอบให้ N/A ด้วยตนเองได้ | ไม่สามารถมอบให้ N/A ด้วยตนเองได้ |
*ขึ้นอยู่กับโหมดปลายทางการวิเคราะห์ SQL
สร้างบทบาท
คุณสามารถกําหนดและจัดการบทบาทความปลอดภัย OneLake ผ่านการตั้งค่าการเข้าถึงข้อมูล lakehouse ของคุณได้
เรียนรู้เพิ่มเติมใน เริ่มต้นใช้งานบทบาทการเข้าถึงข้อมูล
การเข้าถึงข้อมูลของเครื่องยนต์และผู้ใช้
การเข้าถึงข้อมูลไปยัง OneLake เกิดขึ้นด้วยวิธีใดวิธีหนึ่งจากสองวิธี:
- ผ่านกลไกการสืบค้น Fabric หรือ
- ผ่านการเข้าถึงของผู้ใช้ (การสืบค้นจากเอ็นจิ้นที่ไม่ใช่ Fabric ถือเป็นการเข้าถึงของผู้ใช้)
การรักษาความปลอดภัยของ OneLake ช่วยให้มั่นใจได้ว่าข้อมูลจะถูกเก็บไว้อย่างปลอดภัยเสมอ เนื่องจากคุณลักษณะด้านความปลอดภัยบางอย่างของ OneLake เช่น การรักษาความปลอดภัยระดับแถวและคอลัมน์ไม่ได้รับการสนับสนุนโดยการดําเนินการระดับที่เก็บข้อมูล จึงไม่อนุญาตให้เข้าถึงข้อมูลที่ปลอดภัยระดับแถวหรือคอลัมน์ทุกประเภท วิธีนี้รับประกันได้ว่าผู้ใช้จะไม่สามารถเห็นแถวหรือคอลัมน์ที่ไม่ได้รับอนุญาตให้เห็น กลไก Microsoft Fabric ถูกเปิดใช้งานเพื่อใช้การกรองความปลอดภัยระดับแถวและคอลัมน์กับแบบสอบถามข้อมูล ซึ่งหมายความว่าเมื่อผู้ใช้สืบค้นข้อมูลในเลคเฮาส์หรือรายการอื่น ๆ ที่มี RLS หรือ CLS ด้านความปลอดภัยของ OneLake ผลลัพธ์ที่ผู้ใช้เห็นจะมีแถวและคอลัมน์ที่ซ่อนอยู่ถูกลบออก สําหรับการเข้าถึงข้อมูลของผู้ใช้ใน OneLake ที่มี RLS หรือ CLS อยู่ คิวรีจะถูกบล็อกหากผู้ใช้ที่ร้องขอการเข้าถึงไม่ได้รับอนุญาตให้ดูแถวหรือคอลัมน์ทั้งหมดในตารางนั้น
ตารางด้านล่างสรุปว่ากลไก Microsoft Fabric ใดที่สนับสนุนการกรอง RLS และ CLS
| เครื่องยนต์ | การกรอง RLS/CLS | สถานะ |
|---|---|---|
| Lakehouse | Yes | การแสดงตัวอย่างสาธารณะ |
| โน้ตบุ๊ก Spark | Yes | การแสดงตัวอย่างสาธารณะ |
| ตําแหน่งข้อมูล SQL Analytics ใน "โหมดข้อมูลประจําตัวของผู้ใช้" | Yes | การแสดงตัวอย่างสาธารณะ |
| แบบจําลองความหมายโดยใช้ DirectLake ในโหมด OneLake | Yes | การแสดงตัวอย่างสาธารณะ |
| อีเวนต์เฮ้าส์ | No | ที่วางแผนไว้ |
| ตารางภายนอกคลังข้อมูล | No | ที่วางแผนไว้ |
รายละเอียดโมเดลการควบคุมการเข้าถึงความปลอดภัยของ OneLake
ส่วนนี้ให้รายละเอียดเกี่ยวกับวิธีที่บทบาทความปลอดภัย OneLake ให้สิทธิ์การเข้าถึงขอบเขตเฉพาะวิธีการทํางานของการเข้าถึงและวิธีแก้ไขการเข้าถึงในหลายบทบาทและประเภทการเข้าถึง
การรักษาความปลอดภัยระดับตาราง
ตาราง OneLake ทั้งหมดจะแสดงด้วยโฟลเดอร์ในทะเลสาบ แต่ไม่ใช่ทุกโฟลเดอร์ในทะเลสาบที่เป็นตารางจากมุมมองของกลไกการรักษาความปลอดภัยและคิวรีของ OneLake ใน Fabric เพื่อให้ถือว่าเป็นตารางที่ถูกต้อง จะต้องปฏิบัติตามเงื่อนไขต่อไปนี้:
- โฟลเดอร์มีอยู่ในไดเร็กทอรี Tables/ ของรายการ
- โฟลเดอร์ประกอบด้วยโฟลเดอร์ _delta_log ที่มีไฟล์ JSON ที่สอดคล้องกันสําหรับข้อมูลเมตาของตาราง
- โฟลเดอร์ไม่มีทางลัดย่อย
ตารางใดๆ ที่ไม่ตรงตามเกณฑ์เหล่านั้นจะมีการเข้าถึงถูกปฏิเสธหากมีการกําหนดค่าความปลอดภัยระดับตารางไว้
ความปลอดภัยของข้อมูลเมตา
การเข้าถึงข้อมูลแบบอ่านของ OneLake security ให้สิทธิ์การเข้าถึงข้อมูลและข้อมูลเมตาในตารางอย่างเต็มที่ สําหรับผู้ใช้ที่ไม่สามารถเข้าถึงตาราง ข้อมูลจะไม่ถูกเปิดเผย และโดยทั่วไปแล้วข้อมูลเมตาจะไม่ปรากฏให้เห็น นอกจากนี้ยังใช้กับการรักษาความปลอดภัยระดับคอลัมน์และความสามารถของผู้ใช้ในการดูหรือไม่เห็นคอลัมน์ในตารางนั้น อย่างไรก็ตาม ความปลอดภัยของ OneLake ไม่รับประกันว่า ข้อมูลเมตาสําหรับ ตารางจะไม่สามารถเข้าถึงได้ โดยเฉพาะอย่างยิ่งในกรณีต่อไปนี้:
- คิวรีปลายทาง SQL: ปลายทางการวิเคราะห์ SQL ใช้ลักษณะการทํางานด้านความปลอดภัยของข้อมูลเมตาเหมือนกับ SQL Server ซึ่งหมายความว่าถ้าผู้ใช้ไม่มีสิทธิ์เข้าถึงตารางหรือคอลัมน์ ข้อความแสดงข้อผิดพลาดสําหรับคิวรีนั้นจะระบุชื่อตารางหรือคอลัมน์ที่ผู้ใช้ไม่สามารถเข้าถึงได้อย่างชัดเจน
- โมเดลความหมาย: การให้สิทธิ์สร้างแก่ผู้ใช้ในโมเดลความหมายช่วยให้พวกเขาเข้าถึงเพื่อดูชื่อตารางที่รวมอยู่ในโมเดล โดยไม่คํานึงว่าผู้ใช้จะมีสิทธิ์เข้าถึงชื่อเหล่านั้นหรือไม่ นอกจากนี้ วิชวลรายงานที่มีคอลัมน์ที่ซ่อนอยู่จะแสดงชื่อคอลัมน์ในข้อความแสดงข้อผิดพลาด
การสืบทอดสิทธิ์
สําหรับโฟลเดอร์ใด ๆ สิทธิ์การรักษาความปลอดภัย OneLake จะสืบทอดไปยังลําดับชั้นทั้งหมดของไฟล์และโฟลเดอร์ย่อยเสมอ
ตัวอย่างเช่น พิจารณาลําดับชั้นต่อไปนี้ของ lakehouse ใน OneLake:
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file1111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
คุณสร้างสองบทบาทสําหรับเลคเฮ้าส์นี้
Role1 ให้สิทธิ์ในการอ่านโฟลเดอร์ 1 และ Role2 อนุญาตให้อ่านโฟลเดอร์ 2
สําหรับลําดับชั้นที่กําหนด สิทธิ์ด้านความปลอดภัย Role1 ของ OneLake และสืบ Role2 ทอดด้วยวิธีต่อไปนี้:
บทบาท 1: อ่านโฟลเดอร์ 1
│ │ file11.txt │ │ │ └───subfolder11 │ │ file1111.txt | │ │ └───subfolder111 | │ file1111.txtบทบาท 2: อ่านโฟลเดอร์ 2
│ file21.txt
การเป็นทางการและรายการในการรักษาความปลอดภัย OneLake
การรักษาความปลอดภัย OneLake ให้การย้อนกลับอัตโนมัติของรายการหลักเพื่อให้แน่ใจว่าข้อมูลนั้นง่ายต่อการค้นหา การให้สิทธิ์ในการอ่านแก่ผู้ใช้ในโฟลเดอร์ย่อย 11 อนุญาตให้ผู้ใช้สามารถแสดงรายการและข้ามโฟลเดอร์ไดเรกทอรีหลัก 1 ฟังก์ชันการทํางานนี้จะคล้ายกับสิทธิ์ในโฟลเดอร์ Windows ที่ให้สิทธิ์การเข้าถึงโฟลเดอร์ย่อยจะมีการค้นพบและการย้อนกลับสําหรับไดเรกทอรีหลัก รายการและการย้อนกลับที่มอบให้กับรายการหลักไม่ได้ขยายไปยังรายการอื่นภายนอกของรายการหลักโดยตรง ตรวจสอบให้แน่ใจว่าโฟลเดอร์อื่นๆ ได้รับการรักษาความปลอดภัย
ตัวอย่างเช่น พิจารณาลําดับชั้นต่อไปนี้ของเลคเฮ้าส์ใน OneLake
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
สําหรับลําดับชั้นที่กําหนด สิทธิ์การรักษาความปลอดภัย OneLake สําหรับ 'Role1' ให้การเข้าถึงต่อไปนี้ การเข้าถึง file11.txt จะไม่สามารถมองเห็นได้เนื่องจากไม่ใช่พาเรนต์ของโฟลเดอร์ย่อย 11 ในทํานองเดียวกันสําหรับ Role2 file111.txt จะไม่สามารถมองเห็นได้เช่นกัน
Role1: อ่านโฟลเดอร์ย่อย 11
Files/ ────folder1 │ │ │ └───subfolder11 │ │ file111.txt | │ │ └───subfolder111 | │ file1111.txtRole2: อ่านโฟลเดอร์ย่อย 111
Files/ ────folder1 │ │ │ └───subfolder11 | │ │ └───subfolder111 | │ file1111.txt
สําหรับทางลัด พฤติกรรมรายการจะแตกต่างกันเล็กน้อย ทางลัดไปยังแหล่งข้อมูลภายนอกทํางานเหมือนกับที่โฟลเดอร์ทํางาน แต่ทางลัดไปยังตําแหน่ง OneLake อื่นจะมีลักษณะเฉพาะ สิทธิ์เป้าหมายของปุ่มลัดจะกําหนดการเข้าถึงทางลัด OneLake เมื่อแสดงรายการทางลัด จะไม่มีการเรียกใช้เพื่อตรวจสอบการเข้าถึงเป้าหมาย ด้วยเหตุนี้ เมื่อแสดงรายการไดเรกทอรี ทางลัดภายในทั้งหมดจะถูกส่งกลับโดยไม่คํานึงถึงการเข้าถึงเป้าหมายของผู้ใช้ เมื่อผู้ใช้พยายามเปิดทางลัด การตรวจสอบการเข้าถึงจะประเมินและผู้ใช้จะเห็นเฉพาะข้อมูลที่พวกเขามีสิทธิ์ในการดูเท่านั้น สําหรับข้อมูลเพิ่มเติมเกี่ยวกับทางลัด โปรดดูส่วน ทางลัด
พิจารณาลําดับชั้นโฟลเดอร์ต่อไปนี้ที่ประกอบด้วยทางลัด
Files/
────folder1
│
└───shortcut2
|
└───shortcut3
บทบาท 1: อ่านโฟลเดอร์ 1
Files/ ────folder1 │ └───shortcut2 | └───shortcut3บทบาท 2: ไม่มีการกําหนดสิทธิ์
Files/ │ └───shortcut2 | └───shortcut3
การรักษาความปลอดภัยระดับแถว
การรักษาความปลอดภัยของ OneLake ช่วยให้ผู้ใช้สามารถระบุความปลอดภัยระดับแถวโดยการเขียนเพรดิเคต SQL เพื่อจํากัดข้อมูลที่จะแสดงต่อผู้ใช้ RLS ทํางานโดยการแสดงแถวที่เพรดิเคตประเมินเป็นจริง สําหรับข้อมูลเพิ่มเติม โปรดดู ความปลอดภัยระดับแถว
การรักษาความปลอดภัยระดับแถวจะประเมินข้อมูลสตริงว่าไม่คํานึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ โดยใช้การเปรียบเทียบต่อไปนี้สําหรับการเรียงลําดับและการเปรียบเทียบ Latin1_General_100_CI_AS_KS_WS_SC_UTF8
เมื่อใช้การรักษาความปลอดภัยระดับแถว ตรวจสอบให้แน่ใจว่า คําสั่ง RLS นั้นสะอาดและเข้าใจง่าย ใช้คอลัมน์จํานวนเต็มสําหรับการเรียงลําดับและมากกว่าหรือน้อยกว่าการดําเนินการ หลีกเลี่ยงความเท่าเทียมกันของสตริงหากคุณไม่ทราบรูปแบบของข้อมูลอินพุต โดยเฉพาะอย่างยิ่งในส่วนที่เกี่ยวข้องกับอักขระ Unicode หรือความไวของสําเนียง
ความปลอดภัยระดับคอลัมน์
การรักษาความปลอดภัยของ OneLake รองรับการจํากัดการเข้าถึงคอลัมน์โดยการลบ (ซ่อน) การเข้าถึงคอลัมน์ของผู้ใช้ คอลัมน์ที่ซ่อนอยู่จะถือว่าไม่มีการกําหนดสิทธิ์ ส่งผลให้นโยบายเริ่มต้นไม่มีการเข้าถึง ผู้ใช้จะไม่เห็นคอลัมน์ที่ซ่อนอยู่ และการค้นหาข้อมูลที่มีคอลัมน์ที่ซ่อนอยู่จะไม่ส่งคืนข้อมูลสําหรับคอลัมน์นั้น ตามที่ระบุไว้ใน ความปลอดภัยของข้อมูลเมตามี บางกรณีที่ข้อมูลเมตาของคอลัมน์อาจยังคงปรากฏในข้อความแสดงข้อผิดพลาดบางข้อความ
การรักษาความปลอดภัยระดับคอลัมน์ยังเป็นไปตามลักษณะการทํางานที่เข้มงวดมากขึ้นในปลายทาง SQL โดยดําเนินการผ่านความหมายปฏิเสธ ปฏิเสธบนคอลัมน์ใน SQL Endpoint ช่วยให้แน่ใจว่าการเข้าถึงคอลัมน์ทั้งหมดถูกบล็อก แม้ว่าหลายบทบาทจะรวมกันเพื่อให้สิทธิ์เข้าถึงคอลัมน์ก็ตาม ด้วยเหตุนี้ CLS ใน SQL Endpoint จึงทํางานโดยใช้จุดตัดระหว่างบทบาททั้งหมดที่ผู้ใช้เป็นส่วนหนึ่งแทนลักษณะการทํางานแบบรวมสําหรับชนิดสิทธิ์อื่นๆ ทั้งหมด ดูส่วนการประเมินบทบาทความปลอดภัย OneLake หลายบทบาทสําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการรวมบทบาท
สิทธิ์ ReadWrite
สิทธิ์ ReadWrite ช่วยให้ผู้ใช้แบบอ่านอย่างเดียวสามารถดําเนินการเขียนกับรายการเฉพาะได้ สิทธิ์ ReadWrite ใช้ได้กับผู้ชมหรือผู้ใช้ที่มีสิทธิ์อ่านในรายการเท่านั้น การกําหนดสิทธิ์การเข้าถึง ReadWrite ให้กับผู้ดูแลระบบ สมาชิก หรือผู้สนับสนุนจะไม่มีผล เนื่องจากบทบาทเหล่านั้นมีสิทธิ์นั้นโดยปริยายอยู่แล้ว
การเข้าถึง ReadWrite ช่วยให้ผู้ใช้สามารถดําเนินการเขียนผ่านสมุดบันทึก Spark, OneLake file explorer หรือ OneLake API ไม่รองรับการดําเนินการเขียนผ่าน Lakehouse UX สําหรับผู้ชม
สิทธิ์ ReadWrite ทํางานในลักษณะต่อไปนี้:
- สิทธิ์ ReadWrite รวมถึงสิทธิ์ทั้งหมดที่ได้รับจากสิทธิ์การอ่าน
- ผู้ใช้ที่มีสิทธิ์ ReadWrite บนออบเจ็กต์สามารถดําเนินการเขียนบนออบเจ็กต์นั้นได้ นั่นคือการดําเนินการใด ๆ สามารถทําได้กับวัตถุเอง
- ReadWrite อนุญาตให้ดําเนินการดังต่อไปนี้:
- สร้างโฟลเดอร์หรือตารางใหม่
- ลบโฟลเดอร์หรือตาราง
- เปลี่ยนชื่อโฟลเดอร์หรือตาราง
- อัปโหลดหรือแก้ไขไฟล์
- สร้างทางลัด
- ลบปุ่มลัด
- เปลี่ยนชื่อทางลัด
- Security role ของ OneLake ที่มีการเข้าถึง ReadWrite ไม่สามารถมีข้อจํากัด RLS หรือ CLS ได้
- เนื่องจาก Fabric รองรับการเขียนข้อมูลด้วยกลไกจัดการเดียวเท่านั้น ผู้ใช้ที่มีสิทธิ์ ReadWrite บนออบเจ็กต์สามารถเขียนข้อมูลนั้นผ่าน OneLake เท่านั้น อย่างไรก็ตาม การดําเนินการอ่านจะถูกบังคับใช้อย่างสม่ําเสมอผ่านกลไกจัดการการสืบค้นทั้งหมด
Shortcuts
ภาพรวมคําสั่งลัด
การรักษาความปลอดภัยของ OneLake ผสานรวมกับทางลัดใน OneLake เพื่อให้แน่ใจว่าข้อมูลภายในและภายนอก OneLake สามารถรักษาความปลอดภัยได้อย่างง่ายดาย มีโหมดการรับรองความถูกต้องหลักสองโหมดสําหรับทางลัด:
- ทางลัดแบบพาสทรู (SSO): ข้อมูลประจําตัวของผู้ใช้ที่สืบค้นจะได้รับการประเมินเทียบกับเป้าหมายทางลัดเพื่อกําหนดว่าข้อมูลใดที่ได้รับอนุญาตให้เห็น
- ทางลัดที่ได้รับมอบหมาย: ทางลัดใช้ข้อมูลประจําตัวคงที่เพื่อเข้าถึงเป้าหมาย และผู้ใช้ที่สืบค้นจะได้รับการประเมินกับความปลอดภัยของ OneLake ก่อนที่จะตรวจสอบการเข้าถึงแหล่งที่มาของข้อมูลประจําตัวที่ได้รับมอบหมาย
นอกจากนี้ สิทธิ์ด้านความปลอดภัยของ OneLake จะได้รับการประเมินเมื่อสร้างทางลัดใดๆ ใน OneLake อ่านเกี่ยวกับสิทธิ์ทางลัดใน เอกสารความปลอดภัยของทางลัด
การรักษาความปลอดภัย OneLake ในทางลัดแบบพาสทรู
การรักษาความปลอดภัยที่ตั้งค่าไว้ในโฟลเดอร์ OneLake จะไหลผ่าน ทางลัดภายใน เสมอเพื่อจํากัดการเข้าถึงเส้นทางต้นทางลัด เมื่อผู้ใช้เข้าถึงข้อมูลผ่านทางลัดไปยังตําแหน่ง OneLake อื่น ข้อมูลประจําตัวของผู้ใช้ที่เรียกจะถูกใช้เพื่ออนุญาตการเข้าถึงข้อมูลในเส้นทางเป้าหมายของทางลัด ด้วยเหตุนี้ ผู้ใช้นี้ต้องมีสิทธิ์การรักษาความปลอดภัย OneLake ในตําแหน่งที่ตั้งเป้าหมายเพื่ออ่านข้อมูล
Important
เมื่อเข้าถึงทางลัดผ่าน แบบจําลองความหมายของ Power BI โดยใช้ DirectLake ผ่านกลไกจัดการ SQL หรือ T-SQL ในโหมดข้อมูลประจําตัวที่ได้รับมอบสิทธิ์ ข้อมูลประจําตัวของผู้ใช้ที่เรียกใช้จะไม่ถูกส่งผ่านไปยังเป้าหมายทางลัด ข้อมูลประจําตัวของเจ้าของรายการที่เรียกจะถูกส่งผ่านแทน มอบหมายการเข้าถึงให้กับผู้ใช้ที่เรียก เพื่อแก้ไขปัญหานี้ ให้ใช้แบบจําลองความหมาย Power BI ใน DirectLake ผ่านโหมด OneLake หรือ T-SQL ในโหมดข้อมูลประจําตัวของผู้ใช้
ไม่อนุญาตให้กําหนดสิทธิ์การรักษาความปลอดภัย OneLake สําหรับทางลัดภายในและต้องกําหนดบนโฟลเดอร์เป้าหมายที่อยู่ในรายการเป้าหมาย รายการเป้าหมายต้องเป็นชนิดรายการที่สนับสนุนบทบาทความปลอดภัย OneLake ถ้ารายการเป้าหมายไม่สนับสนุนการรักษาความปลอดภัย OneLake การเข้าถึงของผู้ใช้จะได้รับการประเมินโดยพิจารณาจากว่าพวกเขามีสิทธิ์ Fabric ReadAll ในรายการเป้าหมายหรือไม่ ผู้ใช้ไม่จําเป็นต้องมีสิทธิ์อ่าน Fabric สําหรับรายการเพื่อเข้าถึงรายการผ่านทางลัด
การรักษาความปลอดภัย OneLake ในทางลัดที่ได้รับมอบหมาย
OneLake สนับสนุนการกําหนดสิทธิ์สําหรับทางลัด เช่น ทางลัด ADLS, S3 และทางลัด Dataverse ในกรณีนี้ จะใช้สิทธิ์ที่ด้านบนของแบบจําลองการรับรองความถูกต้องที่ได้รับมอบสิทธิ์ที่เปิดใช้งานสําหรับทางลัดชนิดนี้
สมมติว่า user1 สร้างทางลัด S3 ใน lakehouse ที่ชี้ไปยังโฟลเดอร์ในบักเก็ต AWS S3 จากนั้นผู้ใช้ 2 กําลังพยายามเข้าถึงข้อมูลในทางลัดนี้
| การเชื่อมต่อ S3 อนุญาตการเข้าถึงสําหรับผู้ใช้ที่ได้รับมอบสิทธิ์ 1 หรือไม่ | การรักษาความปลอดภัย OneLake อนุญาตการเข้าถึงสําหรับผู้ใช้ที่ร้องขอ 2 หรือไม่ | ผลลัพธ์: ผู้ใช้ 2 สามารถเข้าถึงข้อมูลในทางลัด S3 ได้หรือไม่ |
|---|---|---|
| Yes | Yes | Yes |
| No | No | No |
| No | Yes | No |
| Yes | No | No |
สามารถกําหนดสิทธิ์การรักษาความปลอดภัย OneLake สําหรับขอบเขตทั้งหมดของทางลัดหรือสําหรับโฟลเดอร์ย่อยที่เลือก สิทธิ์ที่ตั้งค่าบนโฟลเดอร์จะสืบทอดกลับมายังโฟลเดอร์ย่อยทั้งหมดซ้ํา แม้ว่าโฟลเดอร์ย่อยจะอยู่ภายในทางลัดก็ตาม การรักษาความปลอดภัยที่ตั้งไว้บนทางลัดภายนอกสามารถกําหนดขอบเขตให้สิทธิ์การเข้าถึงทางลัดทั้งหมดหรือเส้นทางย่อยใดๆ ภายในทางลัด ทางลัดภายในอื่นที่ชี้ไปยังทางลัดภายนอกยังคงกําหนดให้ผู้ใช้สามารถเข้าถึงทางลัดภายนอกเดิมได้
ซึ่งแตกต่างจากการเข้าถึงประเภทอื่นๆ ในการรักษาความปลอดภัย OneLake ผู้ใช้ที่เข้าถึงทางลัดภายนอกต้องมีสิทธิ์อ่าน Fabric ในรายการข้อมูลที่ทางลัดภายนอกอยู่ ซึ่งจําเป็นสําหรับการแก้ไขการเชื่อมต่อไปยังระบบภายนอกอย่างปลอดภัย
เรียนรู้เพิ่มเติมเกี่ยวกับทางลัด S3, ADLS และ Dataverse ในทางลัด OneLake
การประเมินบทบาทความปลอดภัย OneLake หลายบทบาท
ผู้ใช้สามารถเป็นสมาชิกของบทบาทความปลอดภัย OneLake ที่แตกต่างกันได้หลายบทบาท โดยแต่ละบทบาทให้การเข้าถึงข้อมูลของตนเอง การรวมกันของบทบาทเหล่านี้เข้าด้วยกันเรียกว่า "บทบาทที่มีประสิทธิภาพ" และเป็นสิ่งที่ผู้ใช้จะเห็นเมื่อเข้าถึงข้อมูลใน OneLake บทบาทรวมกันในการรักษาความปลอดภัย OneLake โดยใช้ UNION หรือโมเดลที่มีข้อจํากัดน้อยที่สุด ซึ่งหมายความว่าถ้า Role1 ให้สิทธิ์เข้าถึง TableA และ Role2 ให้สิทธิ์เข้าถึง TableB ผู้ใช้จะสามารถเห็นทั้ง TableA และ TableB ได้
บทบาทความปลอดภัย OneLake ยังมีการรักษาความปลอดภัยระดับแถวและคอลัมน์ ซึ่งจํากัดการเข้าถึงแถวและคอลัมน์ของตาราง นโยบาย RLS และ CLS แต่ละรายการมีอยู่ภายในบทบาทและจํากัดการเข้าถึงข้อมูลสําหรับผู้ใช้ทั้งหมดภายในบทบาทเดียวนั้น ตัวอย่างเช่น หาก Role1 ให้การเข้าถึง Table1 แต่มี RLS บน Table1 และแสดงเฉพาะบางคอลัมน์ของ Table1 บทบาทที่มีประสิทธิภาพสําหรับ Role1 จะเป็นชุดย่อย RLS และ CLS ของ Table1 สิ่งนี้สามารถแสดงเป็น (R1ols n R1cls n R1rls) โดยที่ n คือ INTERSECTION ของแต่ละองค์ประกอบในบทบาท
เมื่อต้องรับมือกับหลายบทบาท RLS และ CLS จะรวมกับความหมายของ UNION บนตารางที่เกี่ยวข้อง CLS เป็นชุด UNION โดยตรงของตารางที่มองเห็นได้ในแต่ละบทบาท RLS ถูกรวมระหว่างเพรดิเคตโดยใช้ตัวดําเนินการ OR ตัวอย่างเช่น WHERE city = 'Redmond' OR city = 'New York'
ในการประเมินหลายบทบาทแต่ละบทบาทด้วย RLS หรือ CLS แต่ละบทบาทจะได้รับการแก้ไขก่อนตามการเข้าถึงที่ได้รับจากบทบาทนั้นเอง ซึ่งหมายถึงการประเมิน INTERSECTION ของการรักษาความปลอดภัยระดับวัตถุ แถว และคอลัมน์ทั้งหมด จากนั้นแต่ละบทบาทที่ได้รับการประเมินจะถูกรวมเข้ากับบทบาทอื่นๆ ทั้งหมดที่ผู้ใช้เป็นสมาชิกผ่านการดําเนินการ UNION ผลลัพธ์คือบทบาทที่มีประสิทธิภาพสําหรับผู้ใช้รายนั้น ซึ่งสามารถแสดงเป็น:
( (R1ols n R1cls n R1rls) u (R2ols n R2cls n R2rls) )
สุดท้าย ทางลัดแต่ละรายการในเลคเฮาส์จะสร้างชุดของบทบาทที่อนุมานซึ่งใช้เพื่อเผยแพร่สิทธิ์ของเป้าหมายทางลัดไปยังรายการที่กําลังสืบค้น บทบาทที่อนุมานจะทํางานในลักษณะเดียวกับบทบาทที่ไม่ได้อนุมาน ยกเว้นว่าจะได้รับการแก้ไขก่อนในเป้าหมายทางลัดก่อนที่จะรวมกับบทบาทในเลคเฮาส์ทางลัด สิ่งนี้ทําให้มั่นใจได้ว่าการสืบทอดสิทธิ์ใด ๆ บนเลคเฮาส์ทางลัดจะเสียหายและบทบาทที่อนุมานจะได้รับการประเมินอย่างถูกต้อง ตรรกะการรวมกันแบบเต็มสามารถแสดงเป็น:
( (R1ols n R1cls n R1rls) u (R2ols n R2cls n R2rls) ) n ( (R1'ols n R1'cls n R1'rls) u (R2'ols n R2'cls n R2'rls)) )
โดยที่ R1' และ R2' เป็นบทบาทที่อนุมานและ R1 และ R2 เป็นบทบาทเลคเฮาส์ทางลัด
Important
ถ้าสองบทบาทรวมกันเพื่อให้คอลัมน์และแถวไม่อยู่ในแนวเดียวกันทั่วทั้งคิวรี การเข้าถึงจะถูกบล็อกเพื่อให้แน่ใจว่าไม่มีข้อมูลรั่วไหลไปยังผู้ใช้ปลายทาง
ข้อจํากัดด้านความปลอดภัยของ OneLake
ถ้าคุณกําหนดบทบาทความปลอดภัย OneLake ให้กับผู้ใช้ที่เป็นผู้เยี่ยมชม B2B คุณต้อง กําหนดค่าการตั้งค่าการทํางานร่วมกันภายนอกของคุณสําหรับ B2B ใน Microsoft Entra External ID ต้องตั้งค่า การเข้าถึงของผู้ใช้ที่เป็นผู้เยี่ยมชม เป็น ผู้ใช้ที่เป็นผู้เยี่ยมชมมีการเข้าถึงเหมือนกับสมาชิก (รวมมากที่สุด)
การรักษาความปลอดภัย OneLake ไม่สนับสนุนทางลัดข้ามภูมิภาค ความพยายามใด ๆ ในการเข้าถึงทางลัดไปยังข้อมูลในภูมิภาคความจุที่แตกต่างกันจะส่งผลให้เกิดข้อผิดพลาด 404
ถ้าคุณเพิ่มรายการการแจกจ่ายให้กับบทบาทในการรักษาความปลอดภัย OneLake จุดสิ้นสุด SQL จะไม่สามารถแก้ไขสมาชิกของรายการเพื่อบังคับใช้การเข้าถึงได้ ผลลัพธ์คือ ผู้ใช้ปรากฏว่าไม่เป็นสมาชิกของบทบาทเมื่อพวกเขาเข้าถึงจุดสิ้นสุด SQL DirectLake บนแบบจําลองความหมาย SQL อยู่ภายใต้ข้อจํากัดนี้เช่นกัน
เมื่อต้องการสืบค้นข้อมูลจากสมุดบันทึก Spark โดยใช้ Spark SQL ผู้ใช้ต้องมีสิทธิ์เข้าถึงผู้ชมเป็นอย่างน้อยในพื้นที่ทํางานที่พวกเขากําลังสืบค้น
ไม่รองรับคิวรีโหมดผสม คิวรีเดี่ยวที่เข้าถึงทั้งข้อมูลที่เปิดใช้งานการรักษาความปลอดภัย OneLake และข้อมูลที่เปิดใช้งานการรักษาความปลอดภัยที่ไม่ใช่ OneLake จะล้มเหลวโดยมีข้อผิดพลาดในการสืบค้น
สมุดบันทึก Spark กําหนดให้สภาพแวดล้อมเป็นแบบ 3.5 หรือสูงกว่า และใช้ Fabric runtime 1.3
การรักษาความปลอดภัย OneLake ไม่ทํางานกับการป้องกันลิงก์ส่วนตัว
คุณลักษณะ การแสดงตัวอย่างการแชร์ข้อมูลภายนอก เข้ากันไม่ได้กับการแสดงตัวอย่างบทบาทการเข้าถึงข้อมูล เมื่อคุณเปิดใช้งานการแสดงตัวอย่างบทบาทการเข้าถึงข้อมูลบน lakehouse การแชร์ข้อมูลภายนอกที่มีอยู่อาจหยุดทํางาน
แค็ตตาล็อก Azure Mirrored Databricks ไม่สนับสนุนฟังก์ชันจัดการแค็ตตาล็อกถ้ามีการเปิดใช้งานการรักษาความปลอดภัย OneLake ในรายการนั้น ฟังก์ชันนี้จะมาในเดือนพฤศจิกายน 2025
ตารางต่อไปนี้มีข้อจํากัดของบทบาทการเข้าถึงข้อมูล OneLake
Scenario Limit จํานวนสูงสุดของบทบาทความปลอดภัย OneLake ต่อ Fabric Item 250 บทบาทต่อเลคเฮาส์ จํานวนสูงสุดของสมาชิกต่อบทบาทความปลอดภัย OneLake ผู้ใช้หรือกลุ่มผู้ใช้ 500 คนต่อบทบาท จํานวนสูงสุดของสิทธิ์ต่อบทบาทความปลอดภัย OneLake 500 สิทธิ์ต่อบทบาท
เวลาแฝงในการรักษาความปลอดภัย OneLake
- การเปลี่ยนแปลงข้อกําหนดบทบาทใช้เวลาประมาณ 5 นาทีในการใช้งาน
- การเปลี่ยนแปลงไปยังกลุ่มผู้ใช้ในบทบาทความปลอดภัย OneLake ใช้เวลาประมาณหนึ่งชั่วโมงสําหรับ OneLake เพื่อใช้สิทธิ์ของบทบาทในกลุ่มผู้ใช้ที่อัปเดตแล้ว
- เอ็นจิ้น Fabric บางตัวมีเลเยอร์แคชของตัวเอง ดังนั้นอาจต้องใช้เวลาเพิ่มอีกหนึ่งชั่วโมงในการอัปเดตการเข้าถึงในทุกระบบ