我是bigquery的新手,我的任务是只加密bigquery中的电子邮件列。我不能使用udf那么查询本身我需要实现它,但我没有获得任何buildin函数来做同样的事情。
答案 0 :(得分:0)
您可以先将客户端上的电子邮件列加密,然后再将其存储在BigQuery中。然后,您可以将密钥安全地存储在其他位置,并且绝不会在数据库中公开纯文本电子邮件。这仍然允许您查找具有特定电子邮件地址的行,您只需将加密的blob作为要运行的任何查询的一部分发送。
请注意,这仍然允许有权访问您数据库的人知道哪些行具有相同电子邮件地址。这可能是也可能不是您的问题(因为我不知道您需要加密地址的原因)。
如果您不需要能够反转存储的电子邮件地址,但只是希望能够比较它们,请考虑存储哈希值 - 您可以使用SHA256()函数执行此操作。如果您希望使用预先计算的查找表更难以反转,您也可以考虑使用哈希值。
请参阅: https://en.wikipedia.org/wiki/Salt_(cryptography)
目前无法使用用户指定的密钥加密您的数据库(或单个列),但您可以在BigQuery公共问题跟踪器上打开此类功能请求。