---
schema_version: "1"
id: 4d85485f007316044f101b4d9dc7ff163f2a8954d1784ffdb7b18a5d3d71a7c4
title: การรักษาความปลอดภัยระดับแถวในฐานข้อมูล
collection: tableau
version: current
locale: th-th
portal_url: https://docs.salesforce.com/tableau/current/th-th/server/rls_datasource.md
canonical_url: https://help.tableau.com/current/server/th-th/rls_datasource.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 30539d96f22792ff567ed602b066bd1ec8392a8989f0ecc47d79a8b59bee4a74
description: Use existing database row-level security techniques with Tableau.
---
[ข้ามไปยังเนื้อหาหลัก](#main-content)

# การรักษาความปลอดภัยระดับแถวในฐานข้อมูล

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

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

**หมายเหตุ:** หากต้องการข้อมูลเกี่ยวกับทางเลือกอื่นที่คุณสามารถใช้เพื่อปรับใช้ความปลอดภัยระดับแถวใน Tableau โปรดดู [ภาพรวมของตัวเลือกความปลอดภัยระดับแถวใน Tableau](https://help.tableau.com/current/server/th-th/rls_options_overview.htm)

## การแอบอ้างเป็นบุคคลอื่น (Microsoft SQL Server)

Microsoft SQL Server (และระบบต่างๆ ที่เกี่ยวข้อง) สามารถกำหนดค่าให้ผู้ใช้ของฐานข้อมูลสามารถเข้าถึงมุมมองด้วยตัวกรอง RLS ในตัวเท่านั้น ทั้งการใช้ตารางจุดเชื่อมต่อการรักษาความปลอดภัยและมุมมองที่ DBA สร้างขึ้น Tableau สามารถใช้ประโยชน์จากแนวคิดที่เรียกว่า “การแอบอ้างเป็นบุคคลอื่น” ได้

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

หากต้องการเปิดใช้งานการกรอง RLS สำหรับผู้ใช้รายใดก็ตามที่สามารถเข้าถึงแหล่งข้อมูลที่เผยแพร่ใน Tableau Server ทั้งบัญชีที่เรียกใช้ในฐานะ AD หรือข้อมูลเข้าสู่ระบบ SQL Server แบบฝังล้วนต้องมีสิทธิ์ดำเนินการในฐานะผู้ใช้ Tableau ในฐานข้อมูลซึ่งจะเข้าถึงแดชบอร์ดหรือแหล่งข้อมูล ผู้ใช้ Tableau ต้องเป็นอยู่ในเซิร์ฟเวอร์ฐานข้อมูลในฐานะผู้ใช้ โดยมีสิทธิ์ SELECT สำหรับมุมมองที่คุณพยายามเชื่อม (และมีการปรับใช้ RLS) ดู [ข้อกำหนดการเลียนแบบ](https://help.tableau.com/current/server/th-th/impers_requ.htm) สำหรับรายการข้อกำหนดอย่างครอบคลุม

## Kerberos และการมอบหมายที่จำกัด

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

หากต้องการดูรายการฐานข้อมูลที่ครอบคลุมซึ่งรองรับการมอบหมาย Kerberos โปรดดู [เปิดใช้งานการมอบหมาย Kerberos](https://help.tableau.com/current/server/th-th/kerberos_delegation.htm) จำเป็นต้องมี Active Directory คอมพิวเตอร์ที่ติดตั้ง Tableau Server จะต้องเข้าร่วมโดเมน Active Directory [วิธีการรับรองสิทธิ์](https://help.tableau.com/current/pro/desktop/th-th/publishing_sharing_authentication.htm#kerberos-environments) ที่ระบุไว้เมื่อเผยแพร่แหล่งข้อมูลจะต้องเป็น ข้อมูลเข้าสู่ระบบของผู้ชม

โปรดทราบว่า Kerberos สามารถใช้ประโยชน์จาก RLS เมื่อใช้งาน Microsoft Analysis Services ได้

### คิวบ์ OLAP

การเชื่อมต่อคิวบ์ OLAP ใน Tableau จะไม่เท่ากับตัวกรองแหล่งข้อมูล ซึ่งต้องมีวิธีการให้สิทธิ์ RLS ที่อิงจากตารางใน Tableau หรือเข้าถึงฟังก์ชัน USERNAME() สำหรับเหตุผลเหล่านี้ Kerberos และการมอบหมายที่จำกัดคือแนวทางที่แนะนำสำหรับ RLS ที่มีฐานข้อมูล OLAP ซึ่งอนุญาตให้ Tableau ใช้ประโยชน์จากการกรองผู้ใช้ที่ได้ปรับใช้ OLAP ในฝั่งเซิร์ฟเวอร์แล้ว

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

## การมอบหมาย SAML และ SAP HANA

หาก Tableau Server มีการกำหนดค่าเพื่อใช้ [กำหนดค่า SSO ของ SAP HANA](https://help.tableau.com/current/server/th-th/config_sap_hana_sso.htm) เพื่อให้ประสบการณ์ลงชื่อเข้าใช้เพียงครั้งเดียว ระบบจะใช้ข้อมูลเข้าสู่ระบบของผู้ชมเพื่อดำเนินการค้นหาแทนผู้ใช้รายนั้น ซึ่งจะดำเนินการภายใต้การรักษาความปลอดภัยใดๆ ที่มีการปรับใช้ในระดับผู้ใช้ [วิธีการรับรองสิทธิ์](https://help.tableau.com/current/pro/desktop/th-th/publishing_sharing_authentication.htm#kerberos-environments) ที่ระบุไว้เมื่อเผยแพร่แหล่งข้อมูลจะต้องเป็น ข้อมูลเข้าสู่ระบบของผู้ชม

## SQL เริ่มต้นเพื่อบังคับใช้เซสชันเฉพาะผู้ใช้ (Oracle VPD)

SQL เริ่มต้นทำให้คุณสามารถระบุคำสั่ง SQL ที่ทำงานเมื่อเกิดการเชื่อมต่อกับฐานข้อมูลเพื่อการตั้งค่าตารางชั่วคราวที่ใช้ระหว่างเซสชันหรือเพื่อตั้งค่าสภาพแวดล้อมข้อมูลที่กำหนดเอง

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

begin
DBMS\_SESSION.SET\_IDENTIFIER(\[TableauServerUser\]);
end;

ข้อกำหนดระดับสูงแบบเดียวกันจะเป็น True สำหรับการใช้สิ่งนี้เพื่อ RLS ที่แอบอ้างเป็นบุคคลอื่น DBA ต้องตั้งค่าให้เป็น VPD และผู้ใช้ทุกรายที่เกี่ยวข้องซึ่งอยู่ในฐานข้อมูล

ใน MS SQL Server คุณควรบังคับคำสั่ง EXECUTE as (แม้การดำเนินการดังกล่าวจะคล้ายกับการที่ Tableau ทำกับการแอบอ้างเป็นบุคคลอื่นอยู่แล้วก็ตาม)

EXECUTE AS USER = \[TableauServerUser\] WITH NO REVERT;

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

## การเปรียบเทียบเมทริกซ์สำหรับวิธีรักษาความปลอดภัยระดับแถว

<table class="table--plain"><colgroup><col><col style="width: 28%;"><col style="width: 28%;"><col style="width: 28%;"></colgroup><tbody><tr><td>วิธีการ</td><td>มีประโยชน์เมื่อ</td><td>ข้อดี</td><td>ข้อเสีย</td></tr><tr><td>ตารางการให้สิทธิ์ (แนะนำ)</td><td><ul><li>มีแนวคิดเกี่ยวกับการให้สิทธิ์เดิมที่มีในฐานข้อมูล</li><li>องค์กรที่ดำเนินการตั้งค่าการรักษาความปลอดภัยระดับแถวเป็นครั้งแรก</li></ul></td><td><ul><li>ทดสอบ อัปเดต บำรุงรักษา และปรับขนาดได้อย่างง่ายดาย</li><li>ทำงานได้ทั้งกับการเชื่อมต่อแบบสดและการแยกข้อมูลในเวอร์ชัน 2018.3+</li></ul></td><td><ul><li>ต้องมีการสร้างและบำรุงรักษาตารางการให้สิทธิ์</li><li>อาจต้องเลือกและสร้างคีย์ที่เหมาะสมเพื่อเพิ่มประสิทธิภาพ</li></ul></td></tr><tr><td>CONTAINS() กับการแยกข้อมูล</td><td><ul><li>การปรับใช้ RLS ในการแยกข้อมูลก่อนเวอร์ชัน 2018.3</li></ul></td><td><ul><li>ให้คุณใช้ประโยชน์จากประสิทธิภาพของการแยกข้อมูล</li></ul></td><td><ul><li>ต้องมีการแมปผู้ใช้ให้อยู่ในคอลัมน์เดี่ยว</li><li>สลับกลับไปสู่การเชื่อมต่อแบบสดได้ยาก เนื่องจากการคำนวณสตริง</li></ul></td></tr><tr><td>การแอบอ้างเป็นบุคคลอื่น</td><td><ul><li>ผู้ใช้ทุกรายที่เข้าถึงข้อมูลจะเป็นเหมือนกับผู้ใช้ใน SQL Server (ปกติจะเป็นการปรับใช้ภายใน)</li></ul></td><td><ul><li>การรักษาความปลอดภัยจะได้รับการจัดการและบำรุงรักษาในที่เดียว นั่นคือฐานข้อมูล</li></ul></td><td><ul><li>ต้องการให้ทุกคนเข้าถึงมุมมองเหมือนเป็นผู้ใช้รายเดิมใน SQL Server</li><li>ใช้งานได้กับ Microsoft SQL Server เท่านั้น</li></ul></td></tr><tr><td>Kerberos</td><td><ul><li>ฐานข้อมูลที่จำเป็นสำหรับการตั้งค่าการมอบหมาย Kerberos และ RLS จะตั้งค่าไว้ในฐานข้อมูล (ปกติจะเป็นการปรับใช้ภายใน)</li></ul></td><td><ul><li>ชื่อของผู้ชมจะปรากฏในบันทึกการเข้าถึงฐานข้อมูล</li><li>การรักษาความปลอดภัยจะได้รับการจัดการและบำรุงรักษาในฐานข้อมูล</li></ul></td><td><ul><li>ต้องกำหนดค่า Tableau เพื่อใช้ LDAP - Active Directory</li><li>Tableau Server ต้องรวมกับโดเมน AD</li><li>ผู้ใช้ทุกรายต้องอยู่ในโดเมน AD ของคุณ</li></ul></td></tr><tr><td>SQL เริ่มต้น</td><td><ul><li>ฐานข้อมูลรองรับ SQL เริ่มต้นและ RLS จะตั้งค่าไว้ในฝั่งฐานข้อมูล</li></ul></td><td><ul><li>อนุญาตให้ส่งพารามิเตอร์ Tableau ที่เวลาในการโหลด</li><li>การเชื่อมต่อเฉพาะที่สามารถแชร์กับผู้ใช้รายอื่นๆ ได้</li><li>ผู้ใช้ต้องอยู่ในฐานข้อมูลเพื่อดำเนินการค้นหาในฐานะผู้ใช้ได้</li></ul></td><td><ul><li>ฐานข้อมูลบางรายการอาจไม่รองรับ SQL เริ่มต้น</li><li>อาจมีผลกระทบต่อประสิทธิภาพเนื่องจากการแชร์แคชที่จำกัด</li></ul></td></tr></tbody></table>