Considerações sobre o uso de criptografia determinística
Essas considerações aplicam-se a dados criptografados com o esquema de criptografia determinístico da Criptografia da plataforma Shield. Algumas considerações são diferentes, dependendo da criptografia dos dados, que pode usar o esquema de criptografia determinístico com diferenciação entre maiúsculas e minúsculas ou sem diferenciação.
Edições obrigatórias
| Disponível no Salesforce Classic (não disponível em todas as organizações) e no Lightning Experience. |
| Disponível em: Edições Enterprise, Performance e Unlimited com as licenças Salesforce Shield ou Shield Platform Encryption. |
| Disponível gratuitamente na Developer Edition. |
Opções de API para identificar campos filtráveis
Os campos criptografados usando o esquema de criptografia determinística são filtráveis. O método isFilterable() pode ser usado para determinar o esquema de criptografia de um determinado campo criptografado. Se o campo for filtrável, o método retornará true.
No entanto, não é possível detectar ou definir explicitamente o esquema de criptografia determinística por meio da API.
Campos disponíveis e outros dados
A criptografia determinística está disponível para tipos de campo personalizados de URL, email, telefone, texto e área de texto. Não está disponível para outros tipos de dados, incluindo:
- Tipos de campo personalizados de data, data/hora, área de texto longo, área de rich text ou descrição
- Chatter
- Arquivos e anexos
Diferenciação entre maiúsculas e minúsculas
Quando você usa a criptografia determinística com distinção entre maiúsculas e minúsculas, é importante levar em conta essa diferenciação. Em relatórios, modos de exibição de lista e consultas SOQL de campos criptografados, os resultados fazem diferenciação entre maiúsculas e minúsculas. Portanto, uma consulta SOQL no objeto Contato com LastName = 'Jones' retornará apenas Jones, não jones nem JONES. Da mesma forma, quando o esquema determinístico com diferenciação de maiúsculas e minúsculas testa a exclusividade, cada versão de "Jones" é exclusiva.
Chat
O campo Enunciado no objeto Sugestão de enunciado oferece suporte apenas à criptografia determinística sem distinção entre maiúsculas e minúsculas. Embora a IU mostre a criptografia determinística com diferenciação de maiúsculas e minúsculas e a criptografia probabilística com diferenciação de minúsculas, esses esquemas não são atualmente funcionais.
O campo Nome do ator no objeto Entrada da conversa oferece suporte à criptografia determinística com diferenciação entre maiúsculas e minúsculas, mas não à criptografia determinística sem diferenciação.
Campos compostos
Mesmo com criptografia determinística, alguns tipos de pesquisa não funcionam quando os dados estão criptografados com a criptografia determinística com diferenciação entre maiúsculas e minúsculas. Valores concatenados, como nomes compostos, não são iguais aos valores separados. Por exemplo, o texto criptografado do nome composto "William Jones" não é igual à concatenação dos textos criptografados "William" e "Jones".
Portanto, se os campos Primeiro nome e Sobrenome estiverem criptografados no objeto Contatos, essa consulta não funcionará.
Select Id from Contact Where Name = 'William Jones'Porém, essa consulta funciona.
Select Id from Contact Where FirstName = 'William’ And LastName ='Jones'
Os esquemas de criptografia determinística com e sem diferenciação de maiúsculas e minúsculas têm suporte apenas para campos compostos, mas apenas com consultas de coluna individuais.
Converter registros de conta e contato em contas pessoais
Ao converter registros de conta e contato em contas pessoais, sincronize seus dados. A sincronização redefine os índices que permitem a filtragem sem distinção entre maiúsculas e minúsculas.
Não é possível pesquisar usando a ferramenta de mesclagem de conta
Quando o campo Nome da conta ou Nome do contato é criptografado com criptografia probabilística ou determinística, pesquisar contas duplicadas ou contatos para mesclar não retorna nenhum resultado.
Alocações de campo personalizado
Para oferecer suporte a consultas que não diferenciam maiúsculas de minúsculas, o Salesforce armazena uma duplicata minúscula dos seus dados como um campo personalizado no banco de dados. Esses itens duplicados são necessários para consultas que não diferenciam maiúsculas de minúsculas, mas contam em relação à contagem total de campos personalizados. Por exemplo, se você tiver 200 campos personalizados em sua organização e escolher criptografar um com criptografia determinística sem distinção entre maiúsculas e minúsculas, seu total de campos personalizados será 201.
ID externo
A criptografia determinística sem distinção entre maiúsculas e minúsculas permite usar os campos de ID externo Texto e Email, mas não outros campos personalizados de ID externo. Ao criar ou editar esses campos, use uma destas combinações de configuração de campo.
| Tipo de campo de ID externo | Atributos exclusivos | Criptografado |
|---|---|---|
| Texto | Nenhum | Use criptografia determinística sem distinção entre maiúsculas e minúsculas. |
| Texto | Exclusivo e com distinção entre maiúsculas e minúsculas | Use criptografia determinística com diferenciação de maiúsculas e minúsculas. |
| Texto | Exclusivo e sem distinção entre maiúsculas e minúsculas | Use criptografia determinística sem distinção entre maiúsculas e minúsculas. |
| Nenhum | Use criptografia determinística sem distinção entre maiúsculas e minúsculas. | |
| Exclusivo | Use criptografia determinística com diferenciação de maiúsculas e minúsculas. |
Não é possível salvar alterações nas opções Exclusivo – diferencia maiúsculas de minúsculas e Criptografado ao mesmo tempo. Altere uma configuração, salve-a e altere a próxima.
Filtrar operadores
Em relatórios e modos de exibição de lista, os operadores "igual a" e "não igual a" têm suporte à criptografia determinística com distinção entre maiúsculas e minúsculas. Outros operadores, como "contém" ou "começa com", não retornam uma correspondência exata e não têm suporte. Também não é possível usar os recursos que dependem de operadores incompatíveis, como os filtros "refinar por".
A criptografia determinística com distinção entre maiúsculas e minúsculas é compatível com modos de exibição de lista e relatórios. No entanto, a interface do usuário exibe todos os operadores, incluindo os que não podem ser usados com dados criptografados. Para revisar a lista de operadores compatíveis disponíveis no Salesforce Classic, consulte Usar dados criptografados em fórmulas.
Filtrar registros por strings
Você pode pesquisar registros usando strings. No entanto, vírgulas em strings funcionam como instruções OR. Se sua string incluir uma vírgula, coloque a string entre aspas. Por exemplo, se você pesquisar "Universal Containers, Inc, Berlim", serão retornados registros que contêm a string completa, incluindo a vírgula. Pesquisa por Universal Containers, Inc, Berlin retorna registros que incluem “Universal Containers” ou “Inc” ou “Berlim”.
Fórmulas
Campos criptografados com o esquema de criptografia probabilística não podem ser referenciados em consultas SOQL WHERE. No entanto, você pode usar consultas SOQL WHERE com campos que não sejam de fórmula criptografados com o esquema de criptografia determinística. Nome é um exemplo de campo não de fórmula.
Índices
Quando seu esquema de criptografia inclui campos de criptografia usados em índices, use a criptografia determinística para esses campos.
Haverá ramificações significativas se você optar por criptografar campos que fazem parte de um índice ou que tenham requisitos de exclusividade. Leia esta seção com cuidado para entender os problemas.
Há suporte para criptografia determinística sem distinção entre maiúsculas e minúsculas.
- A criptografia determinística com diferenciação entre maiúsculas e minúsculas é compatível com índices de coluna única, índices exclusivos de coluna única com diferenciação de maiúsculas e minúsculas, índices de duas colunas e índices personalizados em campos padrão e personalizados.
- Com criptografia determinística sem distinção entre maiúsculas e minúsculas, é possível usar suporte limitado para índices padrão nos seguintes campos padrão.
- Contato – Email
- Mensagem de email – Relação
- Lead – Email
- Nome
Esteja ciente destas considerações de desempenho antes de planejar criptografar campos de índice.
- Ruim desempenho da consulta: Consultas em campos criptografados com criptografia determinística sem distinção entre maiúsculas e minúsculas podem apresentar um desempenho ruim com tabelas grandes. Para o desempenho ideal da consulta, use índices personalizados em vez de índices padrão. Para configurar índices personalizados, entre em contato com o Suporte ao cliente da Salesforce.
- Filtragem do campo de pesquisa: Campos de pesquisa que fazem referência ao campo Nome também dependem de índices. Para filtrar pelo campo Nome em modos de exibição de lista e relatórios, filtre em relação ao campo Nome padrão em vez de um campo de pesquisa.
- Processo de enablement longo: O processo de habilitação levará mais tempo quando você aplicar a criptografia determinística a um campo com um grande número de registros. O processo de enablement também recria índices de campo.
Use estas práticas recomendadas se optar por criptografar campos de índice.
- Garanta a consistência da criptografia: Ao usar criptografia determinística em campos indexados ou campos que tenham requisitos de exclusividade, garanta que todos os valores sejam criptografados com a mesma chave determinística. Isso garante a identificação confiável de duplicados entre registros.
- Realizar sincronização de criptografia: Recomendamos realizar uma sincronização de criptografia logo após fazer quaisquer alterações que possam afetar a exclusividade dos índices, como alterar o esquema de criptografia ou alternar o segredo do locatário de Criptografia determinística.
- Planejar o tempo de inatividade: Planeje essas alterações fora do horário de pico para minimizar interrupções. A Sincronização de criptografia é executada em lotes e pode levar diferentes períodos, dependendo da estrutura da entidade, do volume de registros e dos campos envolvidos. Trabalhe com nossa equipe de suporte para planejar o tempo de inatividade necessário.
Rotação de chave e disponibilidade de filtro
Adicionar, remover ou alterar um esquema de criptografia determinística recria seus índices. A atividade do usuário em campos criptografados causa dados duplicados em índices, o que pode interferir nas operações de sincronização. Depois de fazer a rotação do material de chave determinística ou alterar o esquema de criptografia de um campo para criptografia determinística com diferenciação de maiúsculas e minúsculas ou criptografia determinística sem diferenciação de minúsculas, sincronize seus dados com sua chave ativa assim que possível. A sincronização aplica o material de chave ativo a dados novos e existentes. Se você não sincronizar seus dados, as filtragens e consultas em campos com atributos exclusivos não retornarão resultados precisos.
Você mesmo pode sincronizar dados em campos padrão e personalizados na página Estatísticas de criptografia e sincronização de dados em Configuração. Para sincronizar todos os outros dados ou grandes volumes de dados, entre em contato com o Suporte ao cliente da Salesforce. Leia mais sobre a sincronização de dados em Sincronizar sua criptografia de dados com o Serviço de criptografia em segundo plano.
Recomendações do Next Best Action
Ao usar criptografia determinista, é possível usar campos criptografados nas condições de carregamento somente com o operador igual ou diferente.
Removendo criptografia determinística de campos
Se você remover a criptografia de um campo criptografado com criptografia determinística, o Shield Platform Encryption precisará de algum tempo para descriptografar esse campo em toda a sua organização. O tamanho da sua organização determina quanto tempo esse processo leva, portanto, o campo não terá as características de filtragem e classificação de um campo não criptografado até que a atualização seja concluída.
Instruções SOQL GROUP BY
Montar cláusulas onde de acordo com as regras na página de referência SOQL/SOSL.
A criptografia determinística não oferece suporte à cláusula GROUP BY. Se você especificar GROUP BY usando um campo determinístico, seus agrupamentos não serão precisos ou consistentes.
Instruções SOQL LIKE e STARTS WITH
A criptografia determinística somente tem suporte para correspondências exatas que diferenciam entre maiúsculas e minúsculas. Não há suporte para operadores de comparação que retornam correspondências parciais. Por exemplo, as instruções LIKE e STARTS WITH não têm suporte.
Instruções SOQL ORDER BY
Como a criptografia determinística não mantém a ordem de classificação dos dados criptografados no banco de dados, ORDER BY não é compatível.

