Funzione Dataverse.Unmask

Si applica a: App Canvas

Richiede il valore non mascherato di una colonna protetta per un singolo record Microsoft Dataverse.

Description

La Dataverse.Unmask funzione legge una colonna in modo asincrono e restituisce un singolo valore con il tipo Power Fx della colonna. Non restituisce un record o una tabella, aggiorna il record di origine, modifica la regola di maschera o sostituisci i valori mascherati altrove nell'app.

Dataverse applica le autorizzazioni dell'utente. La funzione non concede l'accesso o ignora la sicurezza a livello di colonna. Per leggere un valore non mascherato, l'utente deve accedere alla tabella e al record, all'autorizzazione lettura colonna e all'autorizzazione lettura non mascherata appropriata in un profilo di sicurezza della colonna.

Aggiungere la tabella Dataverse come origine dati nell'app canvas e abilitare la sicurezza a livello di colonna nella colonna. Per configurare la maschera, applicare una regola di maschera supportata in un ambiente gestito. Una colonna protetta non ha necessariamente una regola di maschera. Vedere Sicurezza a livello di colonna e Creare e gestire le regole di maschera per la configurazione, le opzioni di autorizzazione e i tipi di regole di maschera supportati.

Importante

Chiedere all'amministratore di scegliere l'autorizzazione lettura non mascherata appropriata per lo scenario. Non concedere tutti i record esclusivamente per abilitare un esempio di record singolo. Testare le restrizioni di accesso con un account non amministratore perché la sicurezza a livello di colonna non nasconde i dati dagli amministratori di sistema.

Syntax

Dataverse.Unmask( Record, Column )
  • Record : obbligatorio. Un record che mantiene l'identità del record Dataverse ed è associato esattamente a un'origine dati Dataverse.
  • Colonna : obbligatorio. Identificatore di una colonna scalare protetta supportata su tale record. Specificare un identificatore di colonna, non un'espressione di testo contenente il nome della colonna.

È possibile usare un nome visualizzato o un nome logico valido per Column. Usare virgolette singole intorno a un nome visualizzato che contiene spazi, ad esempio 'Sensitive reference'. Le virgolette doppie creano un valore letterale di testo e non sono equivalenti. Power Apps risolve l'identificatore nel nome logico della colonna.

Requisiti relativi a record e colonne

È possibile usare un record della raccolta selezionato, un record restituito da LookUp o un record archiviato in una variabile o una raccolta se mantiene l'identità dataverse e l'associazione con esattamente un'origine Dataverse. La creazione di un record anonimo con gli stessi valori di campo non stabilisce tale identità.

Non assegnare record da tabelle di Dataverse diverse alla stessa variabile di record usata da Dataverse.Unmask. Tale variabile è associata a più origini e viene rifiutata, anche se le tabelle hanno colonne protette con nomi corrispondenti. Usare variabili o chiamate a origine singola separate.

La colonna di destinazione deve essere protetta e avere un tipo scalare supportato. Le colonne con valori di ricerca, record, tabella, file, immagine e non tipizzato non sono destinazioni supportate. La lettura di un record tramite una ricerca è diversa dalla maschera di una colonna con valori di ricerca. Per gli scenari di mascheramento supportati, vedere la documentazione relativa alle regole di maschera; L'accettazione del tipo di formula non stabilisce che una regola di maschera può essere configurata per una colonna.

Valore restituito ed errori

Il risultato ha lo stesso tipo di Power Fx della colonna di destinazione. Ad esempio, una colonna di testo restituisce testo, non un record contenente testo.

Usare IfError per gestire le letture non riuscite. Dataverse determina la risposta quando l'accesso è limitato; non presupporre che ogni rifiuto di autorizzazione produa un errore HTTP.

Situation Behavior
Il record non ha un'origine Dataverse associata o dispone di più origini Dataverse. Power Apps Studio rifiuta l'argomento del record.
La colonna è sconosciuta, non protetta o ha un tipo non supportato. Power Apps Studio rifiuta l'argomento colonna.
Un record non vuoto non ha un'identità valida in fase di esecuzione o non può essere risolta l'origine Dataverse. La funzione restituisce un errore di record non valido.
La richiesta Dataverse ha esito negativo. La funzione restituisce un errore di Power Fx che è possibile gestire con IfError.
Una richiesta con esito positivo non restituisce alcuna riga, omette la colonna richiesta o restituisce un valore Null. Il risultato è vuoto.

Un risultato vuoto da solo non identifica un problema di autorizzazione. Controllare il record selezionato, il relativo valore e l'accesso dell'utente prima di considerare un risultato vuoto come errore.

Examples

Questi esempi usano una tabella Dataverse illustrativa Customers con una colonna di testo protetta denominata 'Sensitive reference'. Aggiungere la tabella come origine dati, configurare una regola di mascheramento e usare record sintetici con un utente di test che dispone delle autorizzazioni appropriate. Sostituire i nomi di tabella e colonna con i propri.

Leggere un record selezionato

Impostare la proprietà Items di una raccolta su Customers. Con un record salvato selezionato, questa formula richiede il riferimento non mascherato:

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

Se il valore archiviato è "REF-12345" e l'utente ha l'autorizzazione per leggerlo senza maschera, il risultato previsto è il testo "REF-12345". La formula non modifica il valore mascherato letto tramite Gallery1.Selected.'Sensitive reference'.

Gestire un errore per un risultato di testo

Utilizzare la formula seguente nella proprietà Text di un'etichetta di testo in cui si intende visualizzare il valore non mascherato:

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

Il valore di sostituzione è testo perché 'Sensitive reference' è una colonna di testo. Per un tipo di colonna supportato diverso, usare un valore di sostituzione compatibile o convertire il risultato prima di restituire un messaggio di testo. SeError gestisce gli errori, i risultati vuoti non vengono completati correttamente.

Per un'interazione reveal-and-hide completa, vedere Reveal a masked Dataverse column value .For a complete reveal-and-hide interaction, see Reveal a masked Dataverse column value.

Trattamento dei dati

Le valutazioni ripetute possono riutilizzare i risultati memorizzati nella cache anziché effettuare nuove richieste di rete. Non fare affidamento su un'altra valutazione per controllare di nuovo le autorizzazioni modificate di recente. Nascondere un controllo non è un limite di autorizzazione e non cancella i valori memorizzati nella cache.

Non salvare in modo permanente i valori non mascherati con SaveData, scriverli nei log o copiarli in un'origine dati meno protetta. Evitare di esporre dati non mascherati in screenshot o allegati di diagnostica.