ฟังก์ชัน Dataverse.Unmask

ใช้กับ: แอป Canvas

ร้องขอค่าที่ไม่ได้มาสก์ของคอลัมน์ที่มีความปลอดภัยสําหรับระเบียน Microsoft Dataverse เดียว

คำอธิบาย

ฟังก์ชัน Dataverse.Unmask จะอ่านคอลัมน์แบบอะซิงโครนัสและส่งกลับค่าเดียวด้วยชนิด Power Fx ของคอลัมน์ ซึ่งไม่ส่งกลับระเบียนหรือตาราง อัปเดตระเบียนแหล่งข้อมูล เปลี่ยนกฎการมาสก์ หรือแทนที่ค่าที่ซ่อนไว้ที่อื่นในแอปของคุณ

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

เพิ่มตาราง Dataverse เป็นแหล่งข้อมูลในแอปพื้นที่ทํางานของคุณและเปิดใช้งานการรักษาความปลอดภัยระดับคอลัมน์บนคอลัมน์ เมื่อต้องการกําหนดค่าการมาสก์ ให้ใช้กฎการมาสก์ที่ได้รับการสนับสนุนในสภาพแวดล้อมที่มีการจัดการ คอลัมน์ที่มีความปลอดภัยไม่จําเป็นต้องมีกฎการมาสก์ ดู การรักษาความปลอดภัยระดับคอลัมน์ และ สร้างและจัดการกฎการมาสก์ สําหรับการกําหนดค่า ตัวเลือกสิทธิ์ และชนิดกฎการมาสก์ที่ได้รับการสนับสนุน

สำคัญ

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

ไวยากรณ์

Dataverse.Unmask( Record, Column )
  • จําเป็นต้องมี Record ระเบียนที่รักษาข้อมูลประจําตัวของระเบียน Dataverse และเชื่อมโยงกับแหล่งข้อมูล Dataverse หนึ่งรายการ
  • จําเป็นต้องมี Column ตัวระบุของคอลัมน์สเกลาที่มีความปลอดภัยและสนับสนุนบนระเบียนนั้น ใส่ตัวระบุคอลัมน์ ไม่ใช่นิพจน์ข้อความที่มีชื่อคอลัมน์

คุณสามารถใช้ชื่อที่แสดงหรือชื่อตรรกะที่ถูกต้องสําหรับ คอลัมน์ ใช้เครื่องหมายอัญประกาศเดี่ยวล้อมรอบชื่อที่แสดงที่มีช่องว่าง เช่น'Sensitive reference' อัญประกาศคู่สร้างสัญพจน์ของข้อความ และไม่เทียบเท่ากัน Power Apps แก้ไขตัวระบุเป็นชื่อตรรกะของคอลัมน์

ข้อกําหนดของระเบียนและคอลัมน์

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

อย่ากําหนดเรกคอร์ดจากตาราง Dataverse ที่แตกต่างกันให้กับตัวแปรเรกคอร์ดเดียวกันที่ใช้โดยDataverse.Unmask ตัวแปรดังกล่าวเกี่ยวข้องกับแหล่งข้อมูลหลายแหล่งและถูกปฏิเสธ แม้ว่าตารางจะมีคอลัมน์ที่มีชื่อตรงกันก็ตาม ใช้ตัวแปรแหล่งข้อมูลเดียวที่แยกต่างหากหรือการเรียกใช้

คอลัมน์เป้าหมายต้องปลอดภัยและมีชนิดสเกลาที่ได้รับการสนับสนุน คอลัมน์ Lookup-valued, record, table, file, image และ untyped จะไม่ได้รับการสนับสนุนสําหรับเป้าหมาย การอ่านเรกคอร์ดผ่านลุคอัพจะแตกต่างจากการยกเลิกการแมปคอลัมน์ที่มีค่าการค้นหา โปรดดู เอกสารประกอบของกฎการมาสก์ สําหรับสถานการณ์การมาสก์ที่ได้รับการสนับสนุน การยอมรับชนิดสูตรไม่ได้กําหนดว่าสามารถกําหนดค่ากฎการมาสก์สําหรับคอลัมน์ได้

ค่าผลลัพธ์และข้อผิดพลาด

ผลลัพธ์มีชนิด Power Fx เหมือนกับคอลัมน์เป้าหมาย ตัวอย่างเช่น คอลัมน์ข้อความส่งกลับข้อความ ไม่ใช่เรกคอร์ดที่มีข้อความ

ใช้ IfError เพื่อจัดการการอ่านที่ล้มเหลว Dataverse กําหนดการตอบสนองเมื่อการเข้าถึงถูกจํากัด อย่าถือว่าการปฏิเสธสิทธิ์ทั้งหมดทําให้เกิดข้อผิดพลาด HTTP

สถานการณ์ พฤติกรรม
ระเบียนไม่มีแหล่งข้อมูลที่เกี่ยวข้อง หรือมีแหล่งข้อมูลหลายแหล่ง Power Apps Studio ปฏิเสธอาร์กิวเมนต์ระเบียน
คอลัมน์ไม่เป็นที่รู้จัก ไม่ปลอดภัย หรือมีชนิดที่ไม่สนับสนุน Power Apps Studio ปฏิเสธอาร์กิวเมนต์คอลัมน์
ระเบียนที่ไม่ว่างมีข้อมูลประจําตัวที่ถูกต้องขณะทํางาน หรือแหล่งข้อมูลไม่สามารถแก้ไข ฟังก์ชันส่งกลับข้อผิดพลาดระเบียนที่ไม่ถูกต้อง
การร้องขอ Dataverse ล้มเหลว ฟังก์ชันจะส่งกลับข้อผิดพลาด Power Fx ที่คุณสามารถจัดการได้กับ IfError
คําขอสําเร็จจะไม่ส่งกลับแถว ละเว้นคอลัมน์ที่ร้องขอ หรือส่งกลับค่า null ผลลัพธ์จะเป็น ค่าว่าง

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

ตัวอย่าง

ตัวอย่างเหล่านี้ใช้ตาราง Dataverse ที่แสดงภาพCustomersพร้อมคอลัมน์ข้อความที่มีความปลอดภัยที่ชื่อว่า'Sensitive reference' เพิ่มตารางเป็นแหล่งข้อมูล กําหนดค่ากฎการมาสก์ และใช้เรกคอร์ดสังเคราะห์กับผู้ใช้ทดสอบที่มีสิทธิ์ที่เหมาะสม แทนที่ชื่อตารางและคอลัมน์ด้วยชื่อของคุณเอง

อ่านระเบียนที่เลือก

ตั้งค่าคุณสมบัติ Items ของแกลเลอรีเป็นCustomers เมื่อเลือกระเบียนที่บันทึกไว้ สูตรนี้จะร้องขอการอ้างอิงที่ไม่แมป:

Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' )

หากค่าที่จัดเก็บคือ "REF-12345" และผู้ใช้มีสิทธิ์ในการอ่านค่าที่ไม่ได้อธิบาย ผลลัพธ์ที่คาดหวังคือข้อความ"REF-12345" สูตรไม่เปลี่ยนค่าที่มาสก์ที่อ่านผ่านGallery1.Selected.'Sensitive reference'

จัดการข้อผิดพลาดสําหรับผลลัพธ์ข้อความ

ใช้สูตรต่อไปนี้ในคุณสมบัติ ข้อความ ของป้ายชื่อข้อความ ที่คุณต้องการแสดงค่าที่ไม่ซ้อนกัน:

IfError(
    Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' ),
    "Unable to show this value."
)

ค่าการแทนที่เป็นข้อความเนื่องจาก 'Sensitive reference' เป็นคอลัมน์ข้อความ สําหรับชนิดคอลัมน์ที่สนับสนุนอื่น ให้ใช้ค่าการแทนที่ที่เข้ากันได้ หรือแปลงผลลัพธ์ก่อนที่จะส่งกลับข้อความ IfError จัดการข้อผิดพลาด ไม่สําเร็จกับผลลัพธ์ที่ว่างเปล่า

สําหรับการโต้ตอบแบบเปิดเผยและซ่อนที่สมบูรณ์ ดูเปิดเผยค่าคอลัมน์ Dataverse ที่ถูกมาสก์

การจัดการข้อมูล

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

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