Dataverse.Unmask functie

Van toepassing op: Canvas-apps

Vraagt de ontmaskerde waarde van een beveiligde kolom aan voor één Microsoft Dataverse record.

Description

De Dataverse.Unmask functie leest een kolom asynchroon en retourneert één waarde met het Power Fx-type van de kolom. Er wordt geen record of tabel geretourneerd, de bronrecord bijgewerkt, de maskeringsregel gewijzigd of gemaskeerde waarden elders in uw app vervangen.

Dataverse dwingt de machtigingen van de gebruiker af. De functie verleent geen toegang of omzeilt beveiliging op kolomniveau. Als u een niet-gemaskeerde waarde wilt lezen, moet de gebruiker toegang hebben tot de tabel en record, de machtiging Lezen en de juiste niet-gemaskeerde machtiging Lezen in een kolombeveiligingsprofiel.

Voeg de Dataverse-tabel toe als gegevensbron in uw canvas-app en schakel beveiliging op kolomniveau in de kolom in. Als u maskering wilt configureren, past u een ondersteunde maskeringsregel toe in een beheerde omgeving. Een beveiligde kolom heeft niet noodzakelijkerwijs een maskeringsregel. Zie Beveiliging op kolomniveau en maskeringsregels maken en beheren voor configuratie, machtigingsopties en ondersteunde typen maskeringsregels.

Important

Laat uw beheerder de juiste niet-ontmaskerde machtiging lezen voor het scenario kiezen. Ververleent niet alle records alleen om een voorbeeld van één record in te schakelen. Test toegangsbeperkingen met een niet-beheerdersaccount omdat beveiliging op kolomniveau geen gegevens voor systeembeheerders verbergt.

Syntax

Dataverse.Unmask( Record, Column )
  • Record - vereist. Een record die de dataverse-recordidentiteit behoudt en is gekoppeld aan precies één Dataverse-gegevensbron.
  • Kolom : vereist. De id van een beveiligde, ondersteunde scalaire kolom op die record. Geef een kolom-id op, niet een tekstexpressie die de kolomnaam bevat.

U kunt een geldige weergavenaam of logische naam voor Kolom gebruiken. Gebruik enkele aanhalingstekens rond een weergavenaam die spaties bevat, zoals 'Sensitive reference'. Dubbele aanhalingstekens maken een letterlijke tekst en zijn niet gelijkwaardig. Power Apps wordt de id omgezet in de logische naam van de kolom.

Vereisten voor records en kolommen

Een geselecteerde galerierecord, een record die wordt geretourneerd door LookUp of een record die is opgeslagen in een variabele of verzameling, kan worden gebruikt als deze de Dataverse-identiteit behoudt en precies één Dataverse-bron bevat. Het samenstellen van een anonieme record met dezelfde veldwaarden brengt die identiteit niet tot stand.

Wijs geen records uit verschillende Dataverse-tabellen toe aan dezelfde recordvariabele die door Dataverse.Unmask. Een dergelijke variabele is gekoppeld aan meerdere bronnen en wordt geweigerd, zelfs als de tabellen beveiligde kolommen met overeenkomende namen hebben. Gebruik afzonderlijke variabelen of aanroepen met één bron.

De doelkolom moet worden beveiligd en een ondersteund scalaire type hebben. Opzoekwaarde, record, tabel, bestand, afbeelding en niet-getypte kolommen worden niet ondersteund. Het lezen van een record via een zoekactie verschilt van het ontmaskeren van een kolom met opzoekwaarden. Raadpleeg de documentatie over maskeringsregel voor ondersteunde maskeringsscenario's; acceptatie van formuletypen stelt niet vast dat een maskeringsregel kan worden geconfigureerd voor een kolom.

Retourwaarde en fouten

Het resultaat heeft hetzelfde Power Fx-type als de doelkolom. Een tekstkolom retourneert bijvoorbeeld tekst, niet een record die tekst bevat.

Gebruik IfError om mislukte leesbewerkingen af te handelen. Dataverse bepaalt het antwoord wanneer de toegang wordt beperkt; neem niet aan dat elke machtigingsontkenning een HTTP-fout produceert.

Situation Behavior
De record heeft geen gekoppelde Dataverse-bron of meerdere Dataverse-bronnen. Power Apps Studio weigert het recordargument.
De kolom is onbekend, niet beveiligd of heeft een niet-ondersteund type. Power Apps Studio weigert het kolomargument.
Een niet-lege record heeft geen geldige identiteit tijdens runtime of de bijbehorende Dataverse-bron kan niet worden omgezet. De functie retourneert een fout met een ongeldige record.
De Dataverse-aanvraag mislukt. De functie retourneert een Power Fx-fout die u met IfError kunt verwerken.
Een geslaagde aanvraag retourneert geen rij, laat de aangevraagde kolom weg of retourneert een null-waarde. Het resultaat is leeg.

Een leeg resultaat alleen identificeert geen machtigingsprobleem. Controleer de geselecteerde record, de bijbehorende waarde en de toegang van de gebruiker voordat u een leeg resultaat als een fout behandelt.

Examples

In deze voorbeelden wordt een illustratieve Customers Dataverse-tabel gebruikt met een beveiligde tekstkolom met de naam 'Sensitive reference'. Voeg de tabel toe als gegevensbron, configureer een maskeringsregel en gebruik synthetische records met een testgebruiker met de juiste machtigingen. Vervang de tabel- en kolomnamen door uw eigen namen.

Een geselecteerde record lezen

Stel de eigenschap Items van een galerie in op Customers. Als een opgeslagen record is geselecteerd, vraagt deze formule de niet-gemaskeerde verwijzing aan:

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

Als de opgeslagen waarde is "REF-12345" en de gebruiker gemachtigd is om deze niet te ontmaskeren, is het verwachte resultaat de tekst "REF-12345". De formule wijzigt de gemaskeerde waarde die wordt gelezen Gallery1.Selected.'Sensitive reference'niet.

Een fout afhandelen voor een tekstresultaat

Gebruik de volgende formule in de eigenschap Text van een tekstlabel waarin u de ontmaskerde waarde wilt weergeven:

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

De vervangende waarde is tekst omdat 'Sensitive reference' dit een tekstkolom is. Voor een ander ondersteund kolomtype gebruikt u een compatibele vervangingswaarde of converteert u het resultaat voordat u een sms-bericht retourneert. AlsError fouten verwerkt, worden lege resultaten niet voltooid.

Zie Een gemaskeerde dataverse-kolomwaarde weergeven voor een volledige onthulling en verberginteractie.

Gegevensverwerking

Herhaalde evaluaties kunnen resultaten in de cache hergebruiken in plaats van nieuwe netwerkaanvragen te doen. Vertrouw niet op een andere evaluatie om onlangs gewijzigde machtigingen opnieuw te controleren. Het verbergen van een besturingselement is geen autorisatiegrens en wist geen waarden in de cache.

Bewaar niet ontmaskerde waarden met SaveData, schrijf ze naar logboeken of kopieer ze naar een minder beveiligde gegevensbron. Vermijd het blootstellen van niet-gemaskeerde gegevens in schermopnamen of diagnostische bijlagen.