Dataverse.Unmask Função

Aplica-se a: aplicativos Canvas

Solicita o valor desmascarado de uma coluna protegida para um único registro Microsoft Dataverse.

Description

A Dataverse.Unmask função lê uma coluna de forma assíncrona e retorna um único valor com o tipo Power Fx da coluna. Ele não retorna um registro ou tabela, atualiza o registro de origem, altera a regra de mascaramento ou substitui valores mascarados em outro lugar em seu aplicativo.

O Dataverse impõe as permissões do usuário. A função não concede acesso nem ignora a segurança em nível de coluna. Para ler um valor desmascarado, o usuário precisa de acesso à tabela e ao registro , à permissão de leitura da coluna e à permissão apropriada de leitura desmascarada em um perfil de segurança de coluna.

Adicione a tabela Dataverse como uma fonte de dados em seu aplicativo de tela e habilite a segurança em nível de coluna na coluna. Para configurar o mascaramento, aplique uma regra de mascaramento com suporte em um ambiente gerenciado. Uma coluna protegida não tem necessariamente uma regra de mascaramento. Consulte a segurança em nível de coluna e crie e gerencie regras de mascaramento para configuração, opções de permissão e tipos de regra de mascaramento com suporte.

Importante

Faça com que o administrador escolha a permissão de leitura desmascarada apropriada para o cenário. Não conceda todos os registros apenas para habilitar um exemplo de registro único. Teste as restrições de acesso com uma conta não administradora porque a segurança no nível da coluna não oculta os dados dos administradores do sistema.

Syntax

Dataverse.Unmask( Record, Column )
  • Registro – Obrigatório. Um registro que mantém sua identidade de registro do Dataverse e está associado a exatamente uma fonte de dados do Dataverse.
  • Coluna – Obrigatório. O identificador de uma coluna escalar protegida e com suporte nesse registro. Forneça um identificador de coluna, não uma expressão de texto que contenha o nome da coluna.

Você pode usar um nome de exibição válido ou um nome lógico para Coluna. Use aspas simples em torno de um nome de exibição que contenha espaços, como 'Sensitive reference'. Aspas duplas criam um literal de texto e não são equivalentes. Power Apps resolve o identificador para o nome lógico da coluna.

Requisitos de registro e coluna

Um registro de galeria selecionado, um registro retornado pela Pesquisa ou um registro armazenado em uma variável ou coleção podem ser usados se ele mantiver sua identidade e associação do Dataverse com exatamente uma fonte do Dataverse. Construir um registro anônimo com os mesmos valores de campo não estabelece essa identidade.

Não atribua registros de tabelas diferentes do Dataverse à mesma variável de registro usada por Dataverse.Unmask. Essa variável é associada a várias fontes e é rejeitada, mesmo que as tabelas tenham colunas protegidas com nomes correspondentes. Use variáveis ou chamadas de origem única separadas.

A coluna de destino deve ser protegida e ter um tipo escalar com suporte. Não há suporte para destinos com valor de pesquisa, registro, tabela, arquivo, imagem e colunas não tipadas. Ler um registro por meio de uma pesquisa é diferente de desmascarar uma coluna com valor de pesquisa. Consulte a documentação da regra de mascaramento para cenários de mascaramento com suporte; A aceitação do tipo de fórmula não estabelece que uma regra de mascaramento pode ser configurada para uma coluna.

Retornar valor e erros

O resultado tem o mesmo tipo do Power Fx que a coluna de destino. Por exemplo, uma coluna de texto retorna texto, não um registro que contém texto.

Use IfError para lidar com leituras com falha. O Dataverse determina a resposta quando o acesso é restrito; não suponha que cada negação de permissão produza um erro HTTP.

Situação Behavior
O registro não tem nenhuma fonte do Dataverse associada ou tem várias fontes do Dataverse. Power Apps Studio rejeita o argumento de registro.
A coluna é desconhecida, não tem segurança ou tem um tipo sem suporte. Power Apps Studio rejeita o argumento de coluna.
Um registro nãoblank não tem nenhuma identidade válida no runtime ou sua fonte do Dataverse não pode ser resolvida. A função retorna um erro de registro inválido.
A solicitação do Dataverse falha. A função retorna um erro do Power Fx que você pode lidar com IfError.
Uma solicitação bem-sucedida não retorna nenhuma linha, omite a coluna solicitada ou retorna um valor nulo. O resultado está em branco.

Um resultado em branco sozinho não identifica um problema de permissão. Verifique o registro selecionado, seu valor e o acesso do usuário antes de tratar um resultado em branco como uma falha.

Exemplos

Esses exemplos usam uma tabela ilustrativa Customers do Dataverse com uma coluna de texto protegida chamada 'Sensitive reference'. Adicione a tabela como uma fonte de dados, configure uma regra de mascaramento e use registros sintéticos com um usuário de teste que tenha as permissões apropriadas. Substitua os nomes de tabela e coluna pelos seus próprios.

Ler um registro selecionado

Defina a propriedade Items de uma galeria como Customers. Com um registro salvo selecionado, essa fórmula solicita sua referência desmascarada:

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

Se o valor armazenado for "REF-12345" e o usuário tiver permissão para lê-lo desmascarado, o resultado esperado será o texto "REF-12345". A fórmula não altera o valor mascarado lido.Gallery1.Selected.'Sensitive reference'

Manipular um erro para um resultado de texto

Use a seguinte fórmula na propriedade Text de um rótulo de texto em que você pretende exibir o valor desmascarado:

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

O valor de substituição é texto porque 'Sensitive reference' é uma coluna de texto. Para um tipo de coluna com suporte diferente, use um valor de substituição compatível ou converta o resultado antes de retornar uma mensagem de texto. IfError manipula erros, não resultados em branco bem-sucedidos.

Para obter uma interação completa de revelação e ocultação, consulte Revelar um valor de coluna do Dataverse mascarado.

Manipulação de dados

Avaliações repetidas podem reutilizar resultados armazenados em cache em vez de fazer novas solicitações de rede. Não confie em outra avaliação para verificar novamente as permissões alteradas recentemente. Ocultar um controle não é um limite de autorização e não limpa valores armazenados em cache.

Não persista valores desmascarados com SaveData, escreva-os em logs ou copie-os para uma fonte de dados menos protegida. Evite expor dados desmascarados em capturas de tela ou anexos de diagnóstico.