Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Applications canevas
Demande la valeur non masquée d’une colonne sécurisée pour un enregistrement Microsoft Dataverse unique.
Description
La Dataverse.Unmask fonction lit une colonne de façon asynchrone et retourne une valeur unique avec le type Power Fx de la colonne. Il ne retourne pas d’enregistrement ou de table, met à jour l’enregistrement source, modifie la règle de masquage ou remplace les valeurs masquées ailleurs dans votre application.
Dataverse applique les autorisations de l’utilisateur. La fonction n’accorde pas l’accès ni ignore la sécurité au niveau des colonnes. Pour lire une valeur non masquée, l’utilisateur a besoin d’accéder à la table et à l’enregistrement, à l’autorisation lecture de colonne et à l’autorisation de lecture non masquée appropriée dans un profil de sécurité de colonne.
Ajoutez la table Dataverse en tant que source de données dans votre application canevas et activez la sécurité au niveau des colonnes sur la colonne. Pour configurer le masquage, appliquez une règle de masquage prise en charge dans un environnement managé. Une colonne sécurisée n’a pas nécessairement de règle de masquage. Consultez la sécurité au niveau des colonneset créer et gérer des règles de masquage pour la configuration, les options d’autorisation et les types de règles de masquage pris en charge.
Important
Votre administrateur choisit l’autorisation de lecture non masquée appropriée pour le scénario. N’accordez pas tous les enregistrements uniquement pour activer un exemple d’enregistrement unique. Testez les restrictions d’accès avec un compte non administrateur, car la sécurité au niveau des colonnes ne masque pas les données des administrateurs système.
Syntax
Dataverse.Unmask( Record, Column )
- Enregistrement - Obligatoire. Enregistrement qui conserve son identité d’enregistrement Dataverse et est associé exactement à une source de données Dataverse.
- Colonne - Obligatoire. Identificateur d’une colonne scalaire sécurisée prise en charge sur cet enregistrement. Fournissez un identificateur de colonne, et non une expression de texte contenant le nom de la colonne.
Vous pouvez utiliser un nom d’affichage ou un nom logique valide pour colonne. Utilisez des guillemets simples autour d’un nom d’affichage qui contient des espaces, tels que 'Sensitive reference'. Les guillemets doubles créent un littéral de texte et ne sont pas équivalents. Power Apps résout l'identificateur au nom logique de la colonne.
Exigences relatives aux enregistrements et aux colonnes
Un enregistrement de galerie sélectionné, un enregistrement retourné par LookUp ou un enregistrement stocké dans une variable ou une collection peut être utilisé s’il conserve son identité Dataverse et son association avec exactement une source Dataverse. La construction d’un enregistrement anonyme avec les mêmes valeurs de champ n’établit pas cette identité.
N’affectez pas d’enregistrements de différentes tables Dataverse à la même variable d’enregistrement utilisée par Dataverse.Unmask. Une telle variable est associée à plusieurs sources et est rejetée, même si les tables ont des colonnes sécurisées avec des noms correspondants. Utilisez des variables ou des appels distincts à source unique.
La colonne cible doit être sécurisée et avoir un type scalaire pris en charge. Les colonnes de recherche, d’enregistrement, de table, de fichier, d’image et non typées ne sont pas des cibles prises en charge. La lecture d’un enregistrement par le biais d’une recherche est différente de la décodage d’une colonne de recherche. Reportez-vous à la documentation de la règle de masquage pour les scénarios de masquage pris en charge ; l’acceptation du type de formule n’établit pas qu’une règle de masquage peut être configurée pour une colonne.
Valeur de retour et erreurs
Le résultat a le même type Power Fx que la colonne cible. Par exemple, une colonne de texte retourne du texte, et non un enregistrement contenant du texte.
Utilisez IfError pour gérer les lectures ayant échoué. Dataverse détermine la réponse lorsque l’accès est restreint ; ne supposez pas que chaque refus d’autorisation génère une erreur HTTP.
| Situation | Behavior |
|---|---|
| L’enregistrement n’a aucune source Dataverse associée ni plusieurs sources Dataverse. | Power Apps Studio rejette l’argument d’enregistrement. |
| La colonne est inconnue, non sécurisée ou a un type non pris en charge. | Power Apps Studio rejette l’argument de colonne. |
| Un enregistrement non vide n’a aucune identité valide lors de l’exécution, ou sa source Dataverse ne peut pas être résolue. | La fonction retourne une erreur d’enregistrement non valide. |
| La requête Dataverse échoue. | La fonction retourne une erreur Power Fx que vous pouvez gérer avec IfError. |
| Une requête réussie ne retourne aucune ligne, omet la colonne demandée ou retourne une valeur Null. | Le résultat est vide. |
Un résultat vide seul n’identifie pas un problème d’autorisation. Vérifiez l’enregistrement sélectionné, sa valeur et l’accès de l’utilisateur avant de traiter un résultat vide comme un échec.
Examples
Ces exemples utilisent une table Dataverse illustrante Customers avec une colonne de texte sécurisée nommée 'Sensitive reference'. Ajoutez la table en tant que source de données, configurez une règle de masquage et utilisez des enregistrements synthétiques avec un utilisateur de test disposant des autorisations appropriées. Remplacez les noms de table et de colonne par vos propres noms.
Lire un enregistrement sélectionné
Définissez la propriété Items d’une galerie sur Customers. Avec un enregistrement enregistré sélectionné, cette formule demande sa référence non masquée :
Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' )
Si la valeur stockée est "REF-12345" et que l’utilisateur est autorisé à le lire non masqué, le résultat attendu est le texte "REF-12345". La formule ne modifie pas la valeur masquée lue Gallery1.Selected.'Sensitive reference'.
Gérer une erreur pour un résultat de texte
Utilisez la formule suivante dans la propriété Text d’une étiquette de texte dans laquelle vous envisagez d’afficher la valeur non masquée :
IfError(
Dataverse.Unmask( Gallery1.Selected, 'Sensitive reference' ),
"Unable to show this value."
)
La valeur de remplacement est du texte, car 'Sensitive reference' il s’agit d’une colonne de texte. Pour un autre type de colonne pris en charge, utilisez une valeur de remplacement compatible ou convertissez le résultat avant de renvoyer un sms.
IfError gère les erreurs, pas les résultats vides réussis.
Pour obtenir une interaction révéler-et-masquer complète, consultez Révéler une valeur de colonne Dataverse masquée.
Gestion des données
Les évaluations répétées peuvent réutiliser les résultats mis en cache plutôt que d’effectuer de nouvelles requêtes réseau. Ne vous fiez pas à une autre évaluation pour revérifier les autorisations récemment modifiées. Masquer un contrôle n’est pas une limite d’autorisation et n’efface pas les valeurs mises en cache.
Ne conservez pas les valeurs non masquées avec SaveData, écrivez-les dans les journaux ou copiez-les dans une source de données moins protégée. Évitez d’exposer des données non masquées dans des captures d’écran ou des pièces jointes de diagnostic.