我需要加密 Bq 表中的敏感字段,但我的加载是通过数据流完成的。我想到了 3 种不同的使用方式。
使用客户管理的密钥对整个表进行加密,并对不同的分类进行 3 次查看,并为用户提供服务帐户以访问该视图,并提供该服务帐户角色作为 KMS 中的解密器和数据流服务帐户作为加密器加载表。(问题我们没有视图级别访问权限,因此需要在不同数据集中维护视图,这使我们的工作更加困难)
在加载时使用 Dataflow 中的 API 调用加密字段,并使用服务帐户在运行时在 Bq 中创建一个 UDF 函数来解密该列数据。
使用 Dataflow 中的 API 调用对示例 ID 字段进行加密我们在 Bq 中定义了一个 UDF 函数来解密它,但只有那些可以在 KMS 中访问的数据才能解密,否则它将引发异常
通过这种方式,我们保持对所有用户开放的单个表,但只有 Authenticate Use 只能看到那个。
问题:(在运行时不断调用 API,这使得我们的配额用尽,成本是另一回事)
在不同的数据集中维护不同的表 带有敏感字段的加密表 b. 具有非敏感字段的非加密表。
问题:(在 Sink 中维护和制作数据并在 BQ 中运行时加入)
以上是我的方法和用例是否有人能够帮助我了解使用什么以及为什么它比其他人更好。