สร้างนโยบายข้อมูลสำหรับการรักษาความปลอดภัยระดับแถว

ใช้นโยบายข้อมูลเพื่อนำการรักษาความปลอดภัยระดับแถวไปใช้กับตารางอย่างน้อยหนึ่งตารางในการเชื่อมต่อแบบเสมือน นโยบายข้อมูลจะกรองข้อมูล เพื่อให้แน่ใจว่าผู้ใช้จะเห็นเฉพาะข้อมูลที่ควรจะเห็นเท่านั้น นโยบายข้อมูลใช้ได้กับทั้งการเชื่อมต่อแบบสดและแบบแยกข้อมูล

เกี่ยวกับนโยบายข้อมูล

นโยบายข้อมูลมีส่วนประกอบหลัก 3 ส่วนดังนี้

ตัวอย่างของสามองค์ประกอบของนโยบายข้อมูลในตัวแก้ไขการเชื่อมต่อแบบเสมือน

  1. ตารางที่ใช้กับนโยบายดังกล่าว เรียกว่าตารางนโยบาย ตารางเหล่านี้คือตารางที่มีการกรอง
  2. คอลัมน์ที่จับคู่ไว้ซึ่งกำหนดความสัมพันธ์ระหว่างตาราง (เช่น ระหว่างตารางการให้สิทธิ์กับตารางข้อเท็จจริง) และระหว่างคอลัมน์ของตารางและคอลัมน์ของนโยบาย คอลัมน์ของนโยบายคือคอลัมน์ที่ใช้กรองข้อมูล
  3. เงื่อนไขของนโยบาย ซึ่งเป็นนิพจน์หรือการคำนวณที่นำไปประเมินสำหรับทุกแถวในเวลาค้นหา หากเงื่อนไขของนโยบายเป็น TRUE แถวจะปรากฏขึ้นในการค้นหา

เมื่อคุณสร้างนโยบายข้อมูลแล้ว คุณต้องมีคอลัมน์ที่คุณสามารถใช้เพื่อกรองข้อมูลได้ คอลัมน์นี้เรียกว่าคอลัมน์ของนโยบาย ข้อมูลจะถูกกรองตามเงื่อนไขของนโยบาย ซึ่งโดยปกติแล้วจะใช้ฟังก์ชันของผู้ใช้ เช่น USERNAME() หรือ FULLNAME()

หากตารางนโยบายของคุณมีคอลัมน์ที่คุณสามารถกรองได้ ให้ใช้คอลัมน์นั้นเป็นคอลัมน์ของนโยบาย

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

กรองด้วยคอลัมน์ของนโยบายจากตารางนโยบาย

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

หากต้องการใช้คอลัมน์ของนโยบายเพื่อกรองข้อมูล ก่อนอื่นให้เพิ่มตารางไปยังนโยบายจากแผงด้านซ้าย หากต้องการเพิ่มตาราง ทำตามขั้นตอนอย่างใดอย่างหนึ่งต่อไปนี้:

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

หลังจากที่มีการเพิ่มตารางไปยังนโยบาย ไอคอนโล่ ไอคอนนโยบายข้อมูล จะปรากฏทางด้านขวาของชื่อตารางในแผงทางด้านซ้ายที่ระบุว่าเป็นตารางนโยบาย

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

  1. คลิก +เพิ่มคอลัมน์ไปยังแผนที่ เพื่อเพิ่มคอลัมน์อย่างน้อยหนึ่งคอลัมน์ที่คุณจะใช้ในการกรองข้อมูล
  2. ตั้งชื่อคอลัมน์ของนโยบาย คุณจะใช้ชื่อนี้ในเงื่อนไขของนโยบาย
  3. สำหรับแต่ละตารางที่มีการบังคับใช้นโยบาย ให้ใช้เมนูแบบดรอปดาวน์เพื่อเลือกคอลัมน์ตารางที่ทำแผนที่กับคอลัมน์ของนโยบาย
  4. ทำซ้ำกระบวนการนี้ตามจำนวนคอลัมน์ของนโยบายที่คุณต้องการใช้ในเงื่อนไขของนโยบาย

เคล็ดลับ: คุณสามารถเริ่มพิมพ์การคำนวณในช่องเงื่อนไขของนโยบาย และใช้การดำเนินการอัตโนมัติเพื่อเลือกชื่อคอลัมน์ ซึ่งจะเติมข้อมูลคอลัมน์ของนโยบายภายใต้ขั้นตอนที่ 1 แทนการใช้ปุ่ม +เพิ่มคอลัมน์ไปยังแผนที่

ตัวอย่างของการใช้คอลัมน์ของนโยบายจากตารางนโยบาย

แผนผังของนโยบายข้อมูลที่ใช้คอลัมน์ของนโยบายจากตารางนโยบายเพื่อกรองข้อมูล

  1. ตาราง Sales มีคอลัมน์ [Salesperson] และตาราง Region มีคอลัมน์ [SalesRep] ข้อมูล Salesperson และ SalesRep ตรงกับชื่อเต็มของผู้ใช้ Tableau บนไซต์ของคุณ
  2. คุณต้องการกรองข้อมูล Sales และ Region ตาม Salesperson ดังนั้น ให้คุณตั้งชื่อคอลัมน์ของนโยบายว่า "Salesperson" จากนั้นจึงจับทำแผนที่คอลัมน์ Salesperson จากคอลัมน์ Sales และ SalesRep จากคอลัมน์ Region กับคอลัมน์ของนโยบาย Salesperson
  3. จากนั้นเขียนเงื่อนไขของนโยบายเพื่อกรองทั้งสองตาราง ใช้คอลัมน์ของนโยบาย [Salesperson] และฟังก์ชันผู้ใช้ FULLNAME() เพื่อให้ผู้ใช้แต่ละรายสามารถดูได้เฉพาะข้อมูลของตนเองเท่านั้น

กรองด้วยคอลัมน์ของนโยบายจากตารางการให้สิทธิ์

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

  • อย่าลืมรวมตารางการให้สิทธิ์เป็นตารางในการเชื่อมต่อแบบเสมือน คุณสามารถใช้ตารางจากการเชื่อมต่อหรือฐานข้อมูลใดก็ได้เป็นตารางการให้สิทธิ์ส่วนกลางที่รักษาความปลอดภัยของตารางในฐานข้อมูลอื่นๆ จำนวนมาก ในบางกรณี ตารางการให้สิทธิ์ที่อยู่ในฐานข้อมูลเดียวกับตารางที่คุณกำลังรักษาความปลอดภัยอยู่อาจมีความเสี่ยงด้านการรักษาความปลอดภัย เนื่องจากมีโอกาสที่จะเปิดเผยข้อมูลพนักงาน และการมีตารางการให้สิทธิ์ในฐานข้อมูลอื่นจะทำให้ควบคุมสิทธิ์ได้ง่ายขึ้น เช่น ให้สิทธิ์เข้าถึงฐานข้อมูลแก่บางคน
  • หากคุณไม่ต้องการให้ผู้ใช้การเชื่อมต่อแบบเสมือนเห็นตารางการให้สิทธิ์ คุณสามารถสลับการตั้งค่าในคอลัมน์การมองเห็นบนแท็บตารางเพื่อซ่อนได้ เมื่อซ่อนแล้ว จะยังคงใช้ตารางการให้สิทธิ์สำหรับการกรองนโยบายได้ แต่ไม่สามารถใช้ในแหล่งข้อมูลการแสดงเป็นภาพหรือเวิร์กบุ๊กได้

หมายเหตุ: ระบบไม่รองรับการเชื่อมต่อโดยตรงกับเอาต์พุตโฟลว์ (ไฟล์ .hyper) สำหรับตารางการให้สิทธิ์ เอาต์พุตโฟลว์ต้องเขียนไปยังฐานข้อมูลโดยตรง

หากต้องการใช้ตารางการให้สิทธิ์เพื่อกรองข้อมูลของคุณ:

  1. เพิ่มตารางข้อมูลที่คุณต้องการนำนโยบายข้อมูลไปใช้ ทำตามขั้นตอนอย่างใดอย่างหนึ่งต่อไปนี้:
    • ดับเบิลคลิกชื่อตาราง
    • คลิกลูกศรดรอปดาวน์ที่อยู่ใกล้กับชื่อตารางและเลือกจัดการตารางที่มีนโยบาย
    • หรือลากตารางไปทางขวาแล้ววางบนเพิ่มเป็นตารางนโยบาย
  2. หลังจากที่มีการเพิ่มตารางไปยังนโยบาย ไอคอนโล่ ไอคอนนโยบายข้อมูล จะปรากฏทางด้านขวาของชื่อตารางในแผงทางด้านซ้ายที่ระบุว่าเป็นตารางนโยบาย
  3. เลือกตารางการให้สิทธิ์ จากนั้น:
    • คลิกลูกศรดรอปดาวน์แล้วเลือกใช้เป็นตารางการให้สิทธิ์
    • หรือลากตารางไปทางขวาแล้ววางบนเพิ่มเป็นตารางการให้สิทธิ์
  4. สำหรับแต่ละตารางที่มีการบังคับใช้นโยบาย ให้คลิกเมนูแบบดรอปดาวน์แล้วเลือกคอลัมน์เพื่อทำแผนที่ตารางนโยบายกับตารางการให้สิทธิ์

ตัวอย่างของการใช้คอลัมน์ของนโยบายจากตารางการให้สิทธิ์

แผนผังของนโยบายข้อมูลที่ใช้คอลัมน์ของนโยบายจากตารางการให้สิทธิ์เพื่อกรองข้อมูล

  1. ข้อมูลที่คุณต้องการกรองมีคอลัมน์ EMP_ID แต่ไม่มีคอลัมน์ชื่อพนักงาน แต่คุณมีตารางที่สองที่รวมคอลัมน์สำหรับทั้ง EMP_ID และ FULL NAME ของพนักงาน และค่าในคอลัมน์ FULL NAME ของพนักงานตรงกับชื่อเต็มของผู้ใช้ Tableau บนไซต์ของคุณ
  2. คุณสามารถเพิ่มตาราง Employees ลงในนโยบายเป็นตารางการให้สิทธิ์ จากนั้นทำแผนที่ชื่อคอลัมน์ตารางนโยบาย EMP_ID กับชื่อคอลัมน์การให้สิทธิ์ EMP_ID สำหรับแต่ละตาราง
  3. จากนั้นใช้ฟังก์ชัน FULLNAME() ในเงื่อนไขของนโยบายของคุณเพื่อจับคู่ชื่อเต็มของผู้ใช้ Tableau Server กับคอลัมน์ [FULL NAME] ของตารางการให้สิทธิ์ (ซึ่งเป็นคอลัมน์ของนโยบาย) เพื่อให้ผู้ใช้แต่ละรายสามารถดูได้เฉพาะข้อมูลของตนเองเท่านั้น

เขียนเงื่อนไขของนโยบาย

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

เงื่อนไขของนโยบาย:

  • ต้องมีอยู่ในนโยบายข้อมูล
  • ต้องประเมินเป็นจริงหรือเท็จ
  • แสดงแถวเมื่อเงื่อนไขของนโยบายเป็น TRUE

ตัวอย่างของเงื่อนไขของนโยบาย

แสดงเฉพาะแถวที่ค่าคอลัมน์ Region เป็น North:

[Region] = "North"

อนุญาตให้ผู้ใช้ที่เข้าสู่ระบบดูแถวที่ชื่อผู้ใช้ตรงกับค่าใน EmployeeName:

FULLNAME() = [EmployeeName]

อนุญาตให้สมาชิกของกลุ่ม Managers สามารถดูทุกแถวได้ ในขณะที่ผู้ใช้สามารถดูได้เฉพาะแถวที่ชื่อผู้ใช้ตรงกับค่าในคอลัมน์ employee_name:

ISMEMBEROF('Managers') OR USERNAME() = [employee_name]

หมายเหตุ: เมื่อคุณปิดแท็บนโยบาย งานของคุณจะไม่ถูกยกเลิก

ฟังก์ชัน Tableau ที่รองรับในเงื่อนไขของนโยบาย

เงื่อนไขของนโยบายรองรับชุดย่อยของฟังก์ชัน Tableau:

  • ตรรกะ (ยกเว้นที่เกี่ยวข้องกับ null)
  • สตริง
  • ผู้ใช้
  • วันที่
  • จำนวน: MIN, MID, MAX

หากต้องการดูว่าฟังก์ชันใดบางที่รองรับ ในตัวแก้ไขการเชื่อมต่อแบบเสมือน บนแท็บนโยบายข้อมูล โปรดดูแผงอ้างอิงทางด้านขวา

ใครสามารถดำเนินการนี้ได้บ้าง

หากต้องการสร้างนโยบายข้อมูล คุณจะต้อง

  • มีข้อมูลเข้าสู่ระบบไปยังฐานข้อมูลที่เชื่อมต่อกับการเชื่อมต่อแบบเสมือน และ
  • เป็นผู้ดูแลเซิร์ฟเวอร์หรือผู้ดูแลไซต์ หรือ Creator

ขั้นตอนถัดไป

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

ทรัพยากร

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการคำนวณ โปรดดูการทำความเข้าใจการคำนวณใน Tableau(ลิงก์จะเปิดในหน้าต่างใหม่) ในความช่วยเหลือเกี่ยวกับ Tableau Desktop และการเขียนเว็บ

สำหรับข้อมูลเกี่ยวกับฟังก์ชันผู้ใช้ โปรดดูฟังก์ชันผู้ใช้(ลิงก์จะเปิดในหน้าต่างใหม่)ในความช่วยเหลือเกี่ยวกับ Tableau Desktop และการเขียนเว็บ

สำหรับข้อมูลเกี่ยวกับตัวเลือกการรักษาความปลอดภัยระดับแถวอื่นๆ ใน Tableau โปรดดูที ภาพรวมของตัวเลือกการรักษาความปลอดภัยระดับแถวใน Tableau(ลิงก์จะเปิดในหน้าต่างใหม่) ในความช่วยเหลือ Tableau Server

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ