funktionen Dataverse.Unmask

Gælder for: Lærredapps

Anmoder om den ikke-maskerede værdi for en sikret kolonne for en enkelt Microsoft Dataverse post.

Beskrivelse

Funktionen Dataverse.Unmask læser en kolonne asynkront og returnerer en enkelt værdi med kolonnens Power Fx-type. Den returnerer ikke en post eller tabel, opdaterer kildeposten, ændrer maskereglen eller erstatter maskerede værdier et andet sted i din app.

Dataverse gennemtvinger brugerens tilladelser. Funktionen giver ikke adgang til eller tilsidesætter sikkerhed på kolonneniveau. Hvis brugeren vil læse en værdi, der ikke ermaskeret, skal vedkommende have adgang til tabellen og posten, kolonnen læsetilladelse og den relevante tilladelse Læs ikke-masket i en kolonnesikkerhedsprofil .

Tilføj tabellen Dataverse som en datakilde i din lærredsapp, og aktivér sikkerhed på kolonneniveau i kolonnen. Hvis du vil konfigurere maskering, skal du anvende en understøttet maskeregel i et administreret miljø. En sikret kolonne har ikke nødvendigvis en maskeregel. Se Sikkerhed på kolonneniveau og Opret og administrer maskeregler for konfiguration, tilladelsesindstillinger og understøttede maskeregeltyper.

Vigtig

Få administratoren til at vælge den relevante læse ikke-maskerede tilladelse til scenariet . Tildel ikke alle poster udelukkende for at aktivere et eksempel på en enkelt post. Test adgangsbegrænsninger med en konto, der ikke er administrator, fordi sikkerhed på kolonneniveau ikke skjuler data for systemadministratorer.

Syntaks

Dataverse.Unmask( Record, Column )
  • Record – påkrævet. En post, der bevarer sin Dataverse-postidentitet og er knyttet til præcis én Dataverse-datakilde.
  • Column – påkrævet. Id'et for en sikret, understøttet skalarkolonne for den pågældende post. Angiv et kolonne-id, ikke et tekstudtryk, der indeholder kolonnenavnet.

Du kan bruge et gyldigt vist navn eller et logisk navn til Column. Brug enkelte anførselstegn omkring et vist navn, der indeholder mellemrum, f.eks 'Sensitive reference'. . Dobbelte anførselstegn opretter en tekstkonstant og svarer ikke til hinanden. Power Apps fortolker id'et til kolonnens logiske navn.

Krav til poster og kolonner

En valgt galleripost, en post, der returneres af LookUp, eller en post, der er gemt i en variabel eller samling, kan bruges, hvis den bevarer sin Dataverse-identitet og tilknytning til præcis én Dataverse-kilde. Oprettelse af en anonym post med de samme feltværdier fastslår ikke denne identitet.

Tildel ikke poster fra forskellige Dataverse-tabeller til den samme postvariabel, der bruges af Dataverse.Unmask. En sådan variabel er knyttet til flere kilder og afvises, selvom tabellerne har sikre kolonner med tilsvarende navne. Brug separate variabler eller kald med en enkelt kilde.

Destinationskolonnen skal være sikret og have en understøttet skalartype. Opslagsværdier, post, tabel, fil, billede og ikke-indtastede kolonner understøttes ikke som mål. Læsning af en post via et opslag adskiller sig fra fjernelse af en opslagsværdikolonne. Se dokumentationen til maskeringsreglen for at få oplysninger om understøttede maskeringsscenarier. Accept af formeltype fastslår ikke, at der kan konfigureres en maskeregel for en kolonne.

Returværdi og fejl

Resultatet har samme Power Fx-type som destinationskolonnen. En tekstkolonne returnerer f.eks. tekst og ikke en post, der indeholder tekst.

Brug IfError til at håndtere mislykkede læsninger. Dataverse bestemmer svaret, når adgangen er begrænset. Antag ikke, at alle tilladelser, der afvises, medfører en HTTP-fejl.

Situation Adfærd
Posten har ingen tilknyttet Dataverse-kilde eller har flere Dataverse-kilder. Power Apps Studio afviser postargumentet.
Kolonnen er ukendt, usikker eller har en ikke-understøttet type. Power Apps Studio afviser kolonneargumentet.
En ikke-tom post har ingen gyldig identitet på kørselstidspunktet, eller dens Dataverse-kilde kan ikke løses. Funktionen returnerer en fejl i en ugyldig post.
Dataverse-anmodningen mislykkes. Funktionen returnerer en Power Fx-fejl, som du kan håndtere med IfError.
En vellykket anmodning returnerer ingen række, udelader den ønskede kolonne eller returnerer en null-værdi. Resultatet er tomt.

Et tomt resultat alene identificerer ikke et tilladelsesproblem. Kontrollér den valgte post, dens værdi og brugerens adgang, før du behandler et tomt resultat som en fejl.

Eksempler

I disse eksempler bruges en illustrerende Customers Dataverse-tabel med en sikret tekstkolonne med navnet 'Sensitive reference'. Tilføj tabellen som en datakilde, konfigurer en maskeregel, og brug syntetiske poster sammen med en testbruger, der har de relevante tilladelser. Erstat tabel- og kolonnenavnene med dine egne.

Læs en valgt post

Angiv egenskaben Items for et galleri til Customers. Når en gemt post er valgt, anmoder denne formel om dens ikke-maskerede reference:

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

Hvis den lagrede værdi er "REF-12345" , og brugeren har tilladelse til at læse den op, er det forventede resultat teksten "REF-12345". Formlen ændrer ikke den maskerede værdi, der læses igennem Gallery1.Selected.'Sensitive reference'.

Håndter en fejl for et tekstresultat

Brug følgende formel i egenskaben Text for et tekstnavn, hvor du vil vise den ikke-afmaskede værdi:

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

Erstatningsværdien er tekst, fordi 'Sensitive reference' er en tekstkolonne. For en anden understøttet kolonnetype skal du bruge en kompatibel erstatningsværdi eller konvertere resultatet, før du returnerer en tekstmeddelelse. IfError håndterer fejl, men ikke vellykkede tomme resultater.

Hvis du vil have en komplet interaktion med vis og skjul, skal du se Vis en maskeret dataverse-kolonneværdi.

Datahåndtering

Gentagne evalueringer kan genbruge cachelagrede resultater i stedet for at foretage nye netværksanmodninger. Brug ikke en anden evaluering til at kontrollere de senest ændrede tilladelser igen. Det er ikke en godkendelsesgrænse at skjule et kontrolelement, og cachelagrede værdier ryddes ikke.

Undlad at bevare ikke-maskerede værdier med SaveData, skriv dem til logge, eller kopiér dem til en mindre beskyttet datakilde. Undgå at vise umaskerede data på skærmbilleder eller vedhæftede diagnosticeringsfiler.