Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Brug Dataverse.Unmask i en lærredsapp til at lade godkendte brugere få vist en maskeret Microsoft Dataverse-kolonneværdi for en valgt post. Denne gennemgang tilføjer vis og skjul knapper i en galleribaseret app. En supportagent kan f.eks. få vist en maskeret kundereference, når deres Dataverse-tilladelser tillader det.
Dataverse evaluerer den aktuelle brugers tilladelser. Knapperne giver ikke adgang til eller tilsidesætter ikke sikkerhed på kolonneniveau, og hvis du afslører en værdi, ændres de gemte data eller maskereglen ikke.
Du kan se syntaks, argumentkrav, returværdier og fejlfunktionsmåde i referencen til funktionen Dataverse.Unmask.
Forudsætninger
- Tilføj tabellen Dataverse som en datakilde i din lærredsapp .
- Aktivér sikkerhed på kolonneniveau i kolonnen. Hvis du vil tilføje en maskeregel, skal du bruge et administreret miljø og en kolonnetype, der understøtter maskering.
- Giv appbrugeren den nødvendige tabel- og postadgang, tilladelsen Læs i kolonnen og den relevante tilladelse Læs umaskeret via en kolonnesikkerhedsprofil.
Få administratoren til at vælge den relevante rettighed til scenariet. Tildel ikke Læs umaskeret: Alle poster udelukkende for at aktivere et eksempel på en enkelt post. Testbegrænsninger med en ikke-administratorkonto: Sikkerhed på kolonneniveau skjuler ikke data fra systemadministratorer.
Hvis du vil have mere at vide om konfiguration og understøttede maskeregeltyper, skal du se Sikkerhed på kolonneniveau og Opret og administrer maskeregler. En kolonne, der er sikret, betyder ikke i sig selv, at den har en maskeregel.
Konfigurer galleriet
I denne gennemgang bruges en illustrerende Customers Dataverse-tabel med en sikret tekstkolonne med navnet 'Sensitive reference'. Erstat disse navne med appens tabeller og kolonner. Brug syntetiske data i stedet for faktiske følsomme værdier.
- Åbn din canvasapp til redigering i Power Apps Studio.
-
Tilføj et galleri med navnet
Gallery1, og angiv Items-egenskaben tilCustomers. - Konfigurer galleriet til at vise en kolonne, der ikke er følsom, og som hjælper brugerne med at identificere en post.
- Tilføj et tekstnavn uden for galleriet for at få vist referencen til den valgte post.
- Tilføj to knapper uden for galleriet med navnet Vis og Skjul.
Bevar galleriet direkte forbundet til Dataverse-tabellen i dette eksempel. Den valgte post skal bevare sin Dataverse-identitet. erstat den ikke med en manuelt oprettet post.
Konfigurer visning og skjul
Angiv egenskaben Text for tekstmærket til følgende formel. Den viser den almindelige værdi, indtil brugeren vælger Vis, anmoder derefter om den ikke-maskerede værdi og viser en meddelelse, hvis læsningen mislykkes.
If(
locReveal,
IfError(
Dataverse.Unmask(Gallery1.Selected, 'Sensitive reference'),
"Unable to show this value."
),
Gallery1.Selected.'Sensitive reference'
)
De enkelte citationstegn i 'Sensitive reference' identificerer en kolonne, hvis navn indeholder et mellemrum. Erstat dem ikke med dobbelte anførselstegn, hvilket opretter en bogstavelig tekstværdi.
Konfigurer kontrolelementerne og skærmen på følgende måde:
| Egenskab | Formel |
|---|---|
| Vis-knappen OnSelect | UpdateContext({locReveal: true}) |
| Skjul knappen OnSelect | UpdateContext({locReveal: false}) |
| Vis knappen DisplayMode | If(IsBlank(Gallery1.Selected), DisplayMode.Disabled, DisplayMode.Edit) |
| Skærm onVisible og OnHidden | UpdateContext({locReveal: false}) |
| Galleri OnSelect | UpdateContext({locReveal: false}) |
Sørg for, at underordnede kontrolelementer i galleriet vælger deres overordnede element, f.eks. ved at angive egenskaben OnSelect til Select(Parent). Nulstil locReveal i en hvilken som helst anden formel, der ændrer markerings- eller galleridataene. Tilføj en passende indlæsningsangivelse for den asynkrone læsning.
Vigtig
Skjulning af et kontrolelement er ikke en autoriseringsgrænse og fjerner ikke cachelagrede værdier. Dataverse-tilladelser er fortsat adgangskontrollen.
Kontrollér oplevelsen med testkonti
Brug konti, der ikke er administratorkonti, og syntetiske poster til at kontrollere appen, før du deler den.
- Vælg en gemt post i galleriet. Kontrollér, at etiketten som standard viser den almindelige maskerede reference.
- Med en konto, der er godkendt til at vise værdien, skal du vælge Vis. Kontrollér, at etiketten viser den oprindelige reference for den valgte post.
- Vælg Skjul. Kontrollér, at etiketten vender tilbage til normalværdien.
- Vis en værdi, og vælg derefter et andet gallerielement, eller forlad skærmen og vend tilbage. Kontrollér, at tilstanden for visning nulstilles, og at den oprindelige værdi for en tidligere post ikke vises for en anden post.
- Test en konto uden tilladelse til at vise værdien. Kontrollér, at den oprindelige værdi ikke afsløres. Antag ikke, at alle afviste læseanmodninger giver det samme fejlsvar.
I eksemplet bruges IfError til at vise en meddelelse, når en læsning mislykkes. Hvis etiketten er tom, skal du kontrollere den valgte post, dens værdi og brugerens adgang. Et tomt resultat alene identificerer ikke et tilladelsesproblem. Du kan finde flere oplysninger i funktionsreferencen.
Håndter følsomme data sikkert
Gentagne læsninger kan genbruge cachelagrede resultater i stedet for at foretage nye netværksanmodninger. Stol ikke på at skjule en etiket for at rydde cachelagrede data eller på, at en gentagen evaluering af formler skal kontrollere de senest ændrede tilladelser igen.
Gem ikke ikke-maskerede værdier med SaveData, skriv dem ikke til logge, og kopiér dem ikke til en mindre beskyttet datakilde. Undgå at bruge umaskerede data på skærmbilleder eller vedhæftede diagnosticeringsfiler.