微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BigQuery AEAD功能的键集管理的最佳做法

如何解决BigQuery AEAD功能的键集管理的最佳做法

我的目标是建立一个基于BigQuery的安全解决方案。 我使用受cmeK保护的BigQuery表。 另外,我有一个数据流作业,将数据写入表中。 它使用AEAD函数加密某些值。 https://cloud.google.com/bigquery/docs/reference/standard-sql/aead_encryption_functions 我使用Tableau从BigQuery读取数据。并使用AEAD函数解密一些值。

我需要一种与AEAD一起使用的安全可靠的密钥集管理方法。 加密期间,密钥集应可用于数据流。 另外,密钥集应该在Tableau中可用以进行解密。

解决方法

作为我的简要说明,您的用例包括使用CMEK和AEAD对数据进行静态加密,以使Cloud Dataflow和Tableau等外部工具可以访问数据。

我认为市长的问题是,AEAD无法解决Standard documentation中所述的密钥管理问题:

“虽然AEAD算法非常有用,但它们无济于事 密钥生成和密钥管理问题”。

不过,我可以想到以下方法:

  1. 要管理CMEK,可能要使用Cloud KMS

Cloud Dataflow可以通过代码Java或Python访问CMEK。但是,您将需要查看Tableau文档以了解如何在KMS中配置/连接到CMEK。

  1. 从您共享的链接中,我可以读取以字节表示形式或纯文本格式的json文件形式的AEAD密钥集;因此,我可以可视化管理密钥集的两条路径:

    • 如果要将它们带到BigQuery(jsons)之外,则可以将它们作为秘密进行管理,并使用Secret Manager之类的工具来允许您使用Java或Python来管理秘密,您可以使用这些工具与Cloud Dataflow集成的语言。我不清楚Tableau如何使用这种方法。

    • 您可以将BigQuery中的键集保持在其数据附近,并执行配置,使您的应用仅访问其有权查看的数据。在这种情况下,BiQuery中的Authorized Views将为您提供帮助。您将需要在BA中执行其他配置并构建sql查询以创建视图。然后,Dataflow和Tableau可以透明地连接并从授权视图读取。

作为第二点的示例,您可以使用此访问键集的查询来创建授权视图customers_pii

  SELECT
  ecd.customer_id as customer_id,AEAD.DECRYPT_BYTES(
    (SELECT ck.keyset
     FROM aead.CustomerKeysets AS ck
     WHERE ecd.customer_id = ck.customer_id),ecd.encrypted_animal,CAST(ecd.customer_id AS STRING)
  ) AS favorite_animal
FROM aead.EncryptedCustomerData AS ecd;

然后,用户/应用程序无法访问键集,他们应该以这种方式查询以在视图中检索数据:

SELECT customer_id from customers_pii;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。