Ajuste de controles de privacidade

Este tópico descreve técnicas que o proprietário dos dados pode usar para ajustar os controles de privacidade que o Snowflake usa para introduzir ruído nos resultados. A Snowflake recomenda tentar essas opções na ordem em que são apresentadas neste tópico.

A Snowflake fornece parâmetros para ajustar o limite do orçamento de privacidade sobre a perda de privacidade e o valor máximo do orçamento de privacidade usado por agregado (coletivamente conhecido como epsilon na literatura sobre privacidade diferencial).

Etapa 1: ajuste os domínios de privacidade

Antes de ajustar o orçamento de privacidade, você deve considerar ajustar o domínio de privacidade definido nas colunas da tabela de privacidade protegida. O Snowflake introduz ruído suficiente para obscurecer todos os valores em uma coluna, portanto, quanto maior o intervalo de valores, mais ruído deve ser introduzido. Siga estas diretrizes:

  • Se você quiser aumentar o ruído, amplie o intervalo para incluir valores maiores ou menores que os valores reais. Lembre-se, o domínio de privacidade define todos os valores possíveis, não os valores reais.

  • Se você quiser diminuir o ruído, restrinja o domínio de privacidade para excluir ou limitar valores fora de uma faixa útil. Para obter informações sobre como os valores fora do domínio de privacidade são tratados, consulte Valores fora de um domínio de privacidade.

Nota

O analista também pode restringir um domínio de privacidade para diminuir o ruído. Para obter mais informações, consulte Como restringir um domínio de privacidade para melhorar os resultados

Etapa 2: ajuste o parâmetro MAX_BUDGET_PER_AGGREGATE

Se você ajustou o domínio de privacidade, mas ainda precisa ajustar seus controles de privacidade, pode começar a modificar as configurações que afetam o orçamento de privacidade. Ajustar o parâmetro MAX_BUDGET_PER_AGGREGATE no corpo de uma política de privacidade controla quanto do orçamento de privacidade pode ser gasto em cada agregado em uma consulta (ou seja, quanta perda de privacidade um agregado pode incorrer). Ajustar esse parâmetro altera a quantidade de ruído adicionada a cada consulta agregada, bem como o número de agregados que podem ser executados antes que o limite do orçamento de privacidade seja atingido.

O parâmetro define o nível para cada agregado, não para cada consulta. Por exemplo, a consulta SELECT COUNT(*), AVG(a) ... tem dois agregados: COUNT(*) e AVG(a).

Para ajustar a perda máxima de privacidade incorrida por cada agregado em uma consulta, use o comando ALTER PRIVACY POLICY para definir um novo valor para o parâmetro MAX_BUDGET_PER_AGGREGATE. Por exemplo:

ALTER PRIVACY POLICY users_policy SET BODY ->
  PRIVACY_BUDGET(BUDGET_NAME=>'analysts', MAX_BUDGET_PER_AGGREGATE=>0.1);
Copy

Etapa 3: ajuste o limite do orçamento de privacidade

Se o ajuste de outros controles de privacidade não fornecer os resultados desejados, você poderá ajustar o limite de perda de privacidade do orçamento de privacidade. Enquanto os outros controles de privacidade afetam a quantidade de ruído nos resultados de consulta, o ajuste do limite de orçamento afeta a quantidade de consultas que um analista pode executar.

Cada vez que um analista executa uma consulta com funções agregadas em uma tabela protegida por privacidade, a perda cumulativa de privacidade do analista é incrementada e o número estimado de agregados restantes é diminuído. Quando a perda cumulativa de privacidade atinge o limite do orçamento de privacidade, os analistas não podem executar outra consulta. Se você quiser maximizar a utilidade dos seus dados para o analista, você pode basear seu limite de orçamento em quantas consultas você acha que os analistas executarão durante cada janela de orçamento.

Nota

Lembre-se de que a perda cumulativa de privacidade é redefinida para 0 em um cronograma fixo, conforme definido pela janela de orçamento. Quando o orçamento de privacidade é redefinido, o analista pode executar um novo conjunto de consultas, mesmo que tenha atingido o limite do orçamento durante a janela de orçamento anterior.

A função ESTIMATE_REMAINING_DP_AGGREGATES ajuda a estimar o número de consultas restantes para um orçamento de privacidade. Em geral, esse número é baseado no número de agregados em cada consulta e no valor do parâmetro MAX_BUDGET_PER_AGGREGATE que você especificou no corpo da política de privacidade. Para um exemplo mais detalhado do uso da função ESTIMATE_REMAINING_DP_AGGREGATES para ver os efeitos das consultas no orçamento de privacidade, consulte Acompanhamento dos gastos do orçamento de privacidade.

Depois de usar a função ESTIMATE_REMAINING_DP_AGGREGATES para ter uma ideia de quanto orçamento de privacidade é gasto em uma série de consultas, você pode ajustar o parâmetro BUDGET_LIMIT no corpo da política de privacidade para definir um novo limite de orçamento de privacidade. Por exemplo:

ALTER PRIVACY POLICY users_policy SET BODY ->
  PRIVACY_BUDGET(BUDGET_NAME=>'analysts',
  BUDGET_LIMIT=>300,
  MAX_BUDGET_PER_AGGREGATE=>0.1);
Copy

Importante

Observe que este comando inclui o parâmetro MAX_BUDGET_PER_AGGREGATE que foi definido anteriormente. Se você não incluir um parâmetro na instrução ALTER PRIVACY POLICY, ele será redefinido para seu valor padrão.