Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller: Arbetsyteappar
Begär det avmaskerade värdet för en skyddad kolumn för en enda Microsoft Dataverse post.
Description
Funktionen Dataverse.Unmask läser en kolumn asynkront och returnerar ett enda värde med kolumnens Power Fx-typ. Den returnerar inte en post eller tabell, uppdaterar källposten, ändrar maskeringsregeln eller ersätter maskerade värden någon annanstans i appen.
Dataverse framtvingar användarens behörigheter. Funktionen beviljar inte åtkomst eller kringgår säkerhet på kolumnnivå. För att kunna läsa ett avmaskerat värde behöver användaren åtkomst till tabellen och posten, läsbehörighet för kolumnen och lämplig läsbehörighet i en kolumnsäkerhetsprofil.
Lägg till tabellen Dataverse som en datakälla i din arbetsyteapp och aktivera säkerhet på kolumnnivå i kolumnen. Om du vill konfigurera maskering använder du en maskeringsregel som stöds i en hanterad miljö. En skyddad kolumn har inte nödvändigtvis en maskeringsregel. Se Säkerhet på kolumnnivå och Skapa och hantera maskeringsregler för konfiguration, behörighetsalternativ och maskeringsregeltyper som stöds.
Important
Låt administratören välja lämplig läsbehörighet för avmaskerad behörighet för scenariot. Bevilja inte alla poster enbart för att aktivera ett exempel med en post. Testa åtkomstbegränsningar med ett konto som inte är administratör eftersom säkerhet på kolumnnivå inte döljer data från systemadministratörer.
Syntax
Dataverse.Unmask( Record, Column )
- Post – krävs. En post som behåller sin Dataverse-postidentitet och som är associerad med exakt en Dataverse-datakälla.
- Kolumn – obligatoriskt. Identifieraren för en skyddad, skalär kolumn som stöds på posten. Ange en kolumnidentifierare, inte ett textuttryck som innehåller kolumnnamnet.
Du kan använda ett giltigt visningsnamn eller ett logiskt namn för Kolumn. Använd enkla citattecken runt ett visningsnamn som innehåller blanksteg, till exempel 'Sensitive reference'. Dubbla citattecken skapar en textliteral och är inte likvärdiga. Power Apps löser identifieraren med kolumnens logiska namn.
Post- och kolumnkrav
En vald galleripost, en post som returneras av LookUp eller en post som lagras i en variabel eller samling kan användas om den behåller sin Dataverse-identitet och association med exakt en Dataverse-källa. Att skapa en anonym post med samma fältvärden etablerar inte den identiteten.
Tilldela inte poster från olika Dataverse-tabeller till samma postvariabel som används av Dataverse.Unmask. En sådan variabel är associerad med flera källor och avvisas, även om tabellerna har skyddade kolumner med matchande namn. Använd separata variabler eller anrop med en enda källa.
Målkolumnen måste skyddas och ha en skalär typ som stöds. Uppslagsvärde, post, tabell, fil, bild och otypade kolumner stöds inte. Att läsa en post via ett uppslag skiljer sig från att avmaskera en uppslagsvärdeskolumn. Se dokumentationen om maskeringsregeln för maskeringsscenarier som stöds. godkännande av formeltyp anger inte att en maskeringsregel kan konfigureras för en kolumn.
Returnera värde och fel
Resultatet har samma Power Fx-typ som målkolumnen. En textkolumn returnerar till exempel text, inte en post som innehåller text.
Använd IfError för att hantera misslyckade läsningar. Dataverse avgör svaret när åtkomsten är begränsad. anta inte att varje behörighetsnekelse genererar ett HTTP-fel.
| Situation | Behavior |
|---|---|
| Posten har ingen associerad Dataverse-källa eller har flera Dataverse-källor. | Power Apps Studio avvisar postargumentet. |
| Kolumnen är okänd, oskyddad eller har en typ som inte stöds. | Power Apps Studio avvisar kolumnargumentet. |
| En nonblank-post har ingen giltig identitet vid körning, eller så kan dess Dataverse-källa inte matchas. | Funktionen returnerar ett ogiltigt postfel. |
| Dataverse-begäran misslyckas. | Funktionen returnerar ett Power Fx-fel som du kan hantera med IfError. |
| En lyckad begäran returnerar ingen rad, utelämnar den begärda kolumnen eller returnerar ett null-värde. | Resultatet är tomt. |
Enbart ett tomt resultat identifierar inte ett behörighetsproblem. Kontrollera den valda posten, dess värde och användarens åtkomst innan du behandlar ett tomt resultat som ett fel.
Examples
I de här exemplen används en illustrativ Customers Dataverse-tabell med en skyddad textkolumn med namnet 'Sensitive reference'. Lägg till tabellen som en datakälla, konfigurera en maskeringsregel och använd syntetiska poster med en testanvändare som har rätt behörigheter. Ersätt tabell- och kolumnnamnen med dina egna.
Läsa en markerad post
Ange egenskapen Objekt i ett galleri till Customers. När en sparad post har valts begär den här formeln sin omaskerade referens:
Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' )
Om det lagrade värdet är "REF-12345" och användaren har behörighet att läsa det omaskerat är det förväntade resultatet texten "REF-12345". Formeln ändrar inte det maskerade värdet som läse igenom Gallery1.Selected.'Sensitive reference'.
Hantera ett fel för ett textresultat
Använd följande formel i textetikettens textegenskap där du tänker visa det avmaskerade värdet:
IfError(
Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' ),
"Unable to show this value."
)
Ersättningsvärdet är text eftersom 'Sensitive reference' det är en textkolumn. För en annan kolumntyp som stöds använder du ett kompatibelt ersättningsvärde eller konverterar resultatet innan du returnerar ett textmeddelande.
IfError hanterar fel, inte lyckade tomma resultat.
En fullständig interaktion med reveal-and-hide finns i Visa ett maskerat Dataverse-kolumnvärde.
Datahantering
Upprepade utvärderingar kan återanvända cachelagrade resultat i stället för att göra nya nätverksbegäranden. Förlita dig inte på en annan utvärdering för att kontrollera nyligen ändrade behörigheter. Att dölja en kontroll är inte en auktoriseringsgräns och rensar inte cachelagrade värden.
Spara inte omaskerade värden med SaveData, skriv dem till loggar eller kopiera dem till en mindre skyddad datakälla. Undvik att exponera omaskerade data i skärmbilder eller diagnostiska bifogade filer.