Dataverse.Unmask funkcja

Dotyczy: Aplikacje kanwy

Żąda niezamaskowanej wartości zabezpieczonej kolumny dla pojedynczego rekordu Microsoft Dataverse.

Description

Funkcja Dataverse.Unmask odczytuje kolumnę asynchronicznie i zwraca pojedynczą wartość z typem Power Fx kolumny. Nie zwraca rekordu ani tabeli, nie aktualizuje rekordu źródłowego, zmienia reguły maskowania ani nie zastępuje wartości maskowanych w innej części aplikacji.

Usługa Dataverse wymusza uprawnienia użytkownika. Funkcja nie udziela dostępu ani nie pomija zabezpieczeń na poziomie kolumny. Aby odczytać niemaskowaną wartość, użytkownik musi mieć dostęp do tabeli i rekordu, uprawnienia do odczytu kolumny i odpowiednie uprawnienie Odczyt niezamaskowane w profilu zabezpieczeń kolumny.

Dodaj tabelę Dataverse jako źródło danych w aplikacji kanwy i włącz zabezpieczenia na poziomie kolumny w kolumnie. Aby skonfigurować maskowanie, zastosuj obsługiwaną regułę maskowania w środowisku zarządzanym. Zabezpieczona kolumna nie musi mieć reguły maskowania. Zobacz Zabezpieczenia na poziomie kolumn i Tworzenie reguł maskowania i zarządzanie nimi , aby uzyskać informacje o konfiguracjach, opcjach uprawnień i obsługiwanych typach reguł maskowania.

Important

Administrator wybierz odpowiednie uprawnienie odczytaj niezamaskowane dla scenariusza. Nie należy udzielać wszystkich rekordów wyłącznie w celu włączenia przykładu pojedynczego rekordu. Przetestuj ograniczenia dostępu przy użyciu konta innego niż administrator, ponieważ zabezpieczenia na poziomie kolumny nie ukrywają danych przed administratorami systemu.

Syntax

Dataverse.Unmask( Record, Column )
  • Rekord — wymagane. Rekord, który zachowuje tożsamość rekordu dataverse i jest skojarzony z dokładnie jednym źródłem danych Dataverse.
  • Kolumna — wymagane. Identyfikator zabezpieczonej, obsługiwanej kolumny skalarnej w tym rekordzie. Podaj identyfikator kolumny, a nie wyrażenie tekstowe zawierające nazwę kolumny.

Dla kolumny można użyć prawidłowej nazwy wyświetlanej lub nazwy logicznej. Użyj pojedynczych cudzysłowów wokół nazwy wyświetlanej zawierającej spacje, takie jak 'Sensitive reference'. Cudzysłowy tworzą literał tekstu i nie są równoważne. Power Apps rozpoznaje identyfikator nazwy logicznej kolumny.

Wymagania dotyczące rekordów i kolumn

Wybrany rekord galerii, rekord zwrócony przez funkcję LookUp lub rekord przechowywany w zmiennej lub kolekcji może być używany, jeśli zachowuje tożsamość i skojarzenie usługi Dataverse z dokładnie jednym źródłem usługi Dataverse. Konstruowanie rekordu anonimowego z tymi samymi wartościami pól nie powoduje ustalenia tej tożsamości.

Nie przypisuj rekordów z różnych tabel usługi Dataverse do tej samej zmiennej rekordu używanej przez Dataverse.Unmaskprogram . Taka zmienna jest skojarzona z wieloma źródłami i jest odrzucana, nawet jeśli tabele mają zabezpieczone kolumny z pasującymi nazwami. Użyj oddzielnych zmiennych jednoźródłowych lub wywołań.

Kolumna docelowa musi być zabezpieczona i mieć obsługiwany typ skalarny. Kolumny lookup-valued, record, table, file, image i untyped nie są obsługiwane. Odczytywanie rekordu za pośrednictwem odnośnika różni się od odsuniania kolumny z wartością odnośnika. Zapoznaj się z dokumentacją reguł maskowania , aby zapoznać się z obsługiwanymi scenariuszami maskowania; Akceptacja typu formuły nie określa, że dla kolumny można skonfigurować regułę maskowania.

Zwracana wartość i błędy

Wynik ma ten sam typ Power Fx co kolumna docelowa. Na przykład kolumna tekstowa zwraca tekst, a nie rekord zawierający tekst.

Użyj polecenia IfError , aby obsłużyć operacje odczytu, które zakończyły się niepowodzeniem. Usługa Dataverse określa odpowiedź, gdy dostęp jest ograniczony; Nie zakładaj, że każde odmowę uprawnień powoduje błąd HTTP.

Situation Behavior
Rekord nie ma skojarzonego źródła usługi Dataverse ani nie ma wielu źródeł usługi Dataverse. Power Apps Studio odrzuca argument rekordu.
Kolumna jest nieznana, niezabezpieczona lub ma nieobsługiwany typ. Power Apps Studio odrzuca argument kolumny.
Niepusty rekord nie ma prawidłowej tożsamości w czasie wykonywania lub nie można rozpoznać źródła usługi Dataverse. Funkcja zwraca błąd nieprawidłowego rekordu.
Żądanie Dataverse kończy się niepowodzeniem. Funkcja zwraca błąd Power Fx, który można obsłużyć za pomocą funkcji IfError.
Pomyślne żądanie nie zwraca wiersza, pomija żądaną kolumnę lub zwraca wartość null. Wynik jest pusty.

Sam pusty wynik nie identyfikuje problemu z uprawnieniami. Przed traktowaniem pustego wyniku w wyniku niepowodzenia sprawdź wybrany rekord, jego wartość i dostęp użytkownika.

Examples

W tych przykładach użyto ilustrowej Customers tabeli Dataverse z zabezpieczoną kolumną tekstową o nazwie 'Sensitive reference'. Dodaj tabelę jako źródło danych, skonfiguruj regułę maskowania i użyj rekordów syntetycznych z użytkownikiem testowym, który ma odpowiednie uprawnienia. Zastąp nazwy tabel i kolumn własnymi.

Odczytywanie wybranego rekordu

Ustaw właściwość Items galerii na Customerswartość . Po wybraniu zapisanego rekordu ta formuła żąda odwołania bez maski:

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

Jeśli przechowywana wartość to "REF-12345" i użytkownik ma uprawnienia do odczytywania go niezamaskowanego, oczekiwany wynik to tekst "REF-12345". Formuła nie zmienia wartości maskowanej odczytanej za pomocą elementu Gallery1.Selected.'Sensitive reference'.

Obsługa błędu dla wyniku tekstowego

Użyj następującej formuły we właściwości Text etykiety tekstowej, w której zamierzasz wyświetlić niemaskowaną wartość:

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

Wartość zastępcza jest tekstem, ponieważ 'Sensitive reference' jest kolumną tekstową. W przypadku innego obsługiwanego typu kolumny użyj zgodnej wartości zastępczej lub przekonwertuj wynik przed zwróceniem wiadomości SMS. Jeśli błąd obsługuje błędy, nie powiodło się puste wyniki.

Aby uzyskać pełną interakcję ujawniając i ukrywając, zobacz Ujawnianie zamaskowanej wartości kolumny usługi Dataverse.

Obsługa danych

Powtarzające się oceny mogą ponownie używać buforowanych wyników, a nie tworzyć nowych żądań sieciowych. Nie należy polegać na innej ocenie, aby ponownie sprawdzić ostatnio zmienione uprawnienia. Ukrywanie kontrolki nie jest granicą autoryzacji i nie powoduje wyczyszczenia buforowanych wartości.

Nie utrwalaj niezamaskowanych wartości za pomocą funkcji SaveData, zapisuj je w dziennikach ani nie kopiuj do mniej chronionego źródła danych. Unikaj uwidaczniania niemaskowanych danych na zrzutach ekranu lub załącznikach diagnostycznych.