แชร์ผ่าน


การใช้การรักษาความปลอดภัยระดับแถวในรายงานแบบแบ่งหน้า

นําไปใช้กับ: ผู้ใช้ข้อมูลที่เป็นเจ้าของข้อมูล แอปเป็นเจ้าของข้อมูล

บทความนี้อธิบายวิธีการฝังรายงานที่มีการแบ่งหน้าที่ใช้ RLS (ความปลอดภัยระดับแถว) ลงในแอปพลิเคชันข้อมูลที่แอปของคุณเป็นเจ้าของ

หมายเหตุ

บทความนี้เกี่ยวข้องกับลูกค้าแอปเป็นเจ้าของข้อมูลเท่านั้น

วิธีการใช้ RLS สําหรับรายงานแบบแบ่งหน้าของคุณ:

  1. ตั้งค่าสภาพแวดล้อม เพื่อกรองรายงาน
  2. กรองข้อมูลที่ ระดับรายงานหรือคิวรี
  3. ส่งผ่านพารามิเตอร์ ที่กําหนดค่าโดยใช้โทเค็นแบบฝังตัว

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

  • บทความนี้อนุมานว่าคุณทราบวิธีการ ฝังรายงานที่มีการแบ่งหน้าของ Power BI แล้ว ซึ่งอธิบายวิธีการสร้างโทเค็นแบบฝังตัวเพื่อให้รายงานแสดงเฉพาะสิ่งที่ผู้ใช้มีสิทธิ์ในการเข้าถึง

  • รายงานแบบแบ่งหน้าถูกสร้างขึ้นโดยใช้กลไกจัดการ SQL Server Reporting Services และไม่ใช่กลไกจัดการ Power BI (Analysis Services) ดังนั้นการกรอง RLS จะถูกตั้งค่าในตัว สร้างรายงาน Power BI

ตั้งค่าสภาพแวดล้อม

หากต้องการใช้การรักษาความปลอดภัยระดับแถวกับรายงานที่มีการแบ่งหน้าของ Power BI ให้ใช้ UserID ของเขตข้อมูลที่มีอยู่ภายในเพื่อกําหนดพารามิเตอร์ พารามิเตอร์นี้ถูกใช้เพื่อกรองหรือสอบถามข้อมูลของคุณ

จากนั้น ส่ง ผ่าน UserID ไปยัง โทเค็นที่ฝัง - สร้างโทเค็น API เพื่อรับ โทเค็นที่ฝัง

ใช้ UserID เป็นตัวกรองที่ระดับรายงานหรือคิวรี

คุณสามารถใช้ UserId เป็น ตัวกรอง หรือใน คิวรี ไปยังแหล่งข้อมูลได้

กรองข้อมูล

  1. ในหน้าต่าง คุณสมบัติของแบบจําลองความหมาย จากบานหน้าต่างด้านซ้าย ให้เลือก ตัวกรอง

    สกรีนช็อตของตัวกรอง Power BI Report Builder

  2. จากเมนูดรอปดาวน์ นิพจน์ ให้เลือกพารามิเตอร์ที่คุณต้องการใช้สําหรับการกรองข้อมูล

    สกรีนช็อตแสดงค่าสีที่เลือกจากเมนูนิพจน์

  3. เลือกปุ่มฟังก์ชันค่า

    ค่าของตัวช่วยสร้างรายงานของ Power BI

  4. ในหน้าต่างนิพจน์ จากรายการประเภท ให้เลือกเขตข้อมูลที่มีอยู่ภายใน

    สกรีนช็อตแสดงหน้าต่างนิพจน์พร้อมเขตข้อมูลในตัวที่เลือกเป็นหมวดหมู่และเวลาดําเนินการที่เลือกเป็นรายการ

  5. จากรายการ หน่วยข้อมูล ให้เลือก UserID และเลือก ตกลง

    UserID ของตัวช่วยสร้างรายงานของ Power BI

  6. ในหน้าต่าง คุณสมบัติแบบจําลองความหมาย ให้ตรวจสอบว่านิพจน์คือพารามิเตอร์ที่คุณเลือก = UserID และเลือก ตกลง

    คุณสมบัติแบบจําลองความหมายของตัวสร้างรายงานใน Power BI

การใช้คิวรี

  1. ในหน้าต่าง คุณสมบัติของแบบจําลองความหมาย จากบานหน้าต่างนําทางด้านซ้าย ให้เลือก พารามิเตอร์ และเลือก เพิ่ม

    พารามิเตอร์ของตัวช่วยสร้างรายงานของ Power BI

  2. ในเขตข้อมูล ชื่อพารามิเตอร์ ให้ใส่ @UserID และในค่าพารามิเตอร์ ให้เพิ่ม [&UserID]

    ชื่อพารามิเตอร์ของตัวช่วยสร้างรายงานของ Power BI

  3. จากบานหน้าต่างด้านซ้าย ให้เลือก คิวรี ในคิวรี ให้เพิ่มพารามิเตอร์ UserID เป็นส่วนหนึ่งของคิวรีของคุณ และเลือก ตกลง

    หมายเหตุ

    ในสกรีนช็อตด้านล่างใช้พารามิเตอร์สีเป็นตัวอย่าง (WHERE FinalTable.Color = @UserID) ถ้าจําเป็น คุณสามารถสร้างคิวรีที่ซับซ้อนมากขึ้นได้

    การแก้ไขคิวรีของตัวช่วยสร้างรายงานของ Power BI

สร้างโทเค็นแบบฝังตัว

เมื่อคุณฝังรายงานที่มีการแบ่งหน้าสําหรับลูกค้าของคุณ ให้ใช้ API Reports GenerateTokenInGroup เพื่อรับโทเค็นแบบฝังตัว โทเค็นนี้ยังสามารถใช้เพื่อกรองข้อมูลบางส่วนออกจากรายงานที่มีการแบ่งหน้าได้อีกด้วย

คุณสามารถสร้างโทเค็นโดยใช้โครงร่าง สําคัญของบริการเท่านั้น คุณไม่สามารถสร้างโทเค็นเป็นผู้ใช้หลัก บริการหลักต้องมีสิทธิ์สมาชิกเป็นอย่างน้อยไปยังพื้นที่ทํางานในบริการของ Power BI (หากโครงร่างสําคัญของบริการเป็นผู้สนับสนุนหรือผู้ชม จะไม่สามารถสร้างโทเค็นได้)

หากต้องการ สร้างโทเค็น ให้ username กําหนดเขตข้อมูลด้วยข้อมูลที่คุณต้องการแสดง ตัวอย่างเช่น ในรายงานแบบแบ่งหน้าที่มีพารามิเตอร์สี ถ้าคุณป้อน สีเขียว ใน username เขตข้อมูล โทเค็นแบบฝังตัวจะจํากัดข้อมูลฝังตัวเฉพาะข้อมูลที่เป็น สีเขียว เป็นค่าในคอลัมน์สี

{
 "reports": [
 {
  "id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
 }
 ],
 "identities": [
 {
  "username": "green",
  "reports": [
  "8d57615e-cfed-4d60-bd21-7dc05727193c"
  ]
 }
 ]
}

หมายเหตุ

ถ้าคุณสร้างโทเค็นแบบฝังโดยไม่ระบุ id ผู้ใช้ จะมีการใช้ ID ออบเจ็กต์ของบริการหลัก

ข้อควรพิจารณาและข้อจำกัด

  • ผู้ใช้หลักไม่ได้รับการสนับสนุนด้วยรายงานที่มีการแบ่งหน้าสําหรับลูกค้าของคุณ ผู้ใช้หลักได้รับการรองรับสําหรับการฝังสําหรับองค์กรของคุณ
  • บริการหลักต้องมีสิทธิ์ในพื้นที่ทํางานของสมาชิกอย่างน้อย หรือ (ไม่ใช่ผู้ชมหรือผู้สนับสนุน)

สร้างโทเค็นแบบฝังตัว