如何解决BigQuery 和“bq 加载”- 使用某些表的 GMEK 覆盖默认数据集 CSEK
我在 Big Query 中有一个数据集,其中指定了默认的客户管理的加密密钥 (cmeK)。这是一项要求,可确保默认情况下使用 cmeK 对新表进行加密(除非特别豁免)。
我想将一些数据提取到不需要 cmeK 而可以使用 Google 管理的加密密钥 (GMEK) 的数据集中。
主要原因是能够利用使用 cmeK 时不可用的功能,例如能够在 Big Query 中对 sql 中的表使用通配符。
我的问题是:
使用命令行中的 bq load
命令,如何在将数据加载到 Big Query 时使用 GMEK 覆盖默认密钥?
例如,如果反过来,我可以使用 --destination_kms_key
并指定我的 cmeK,但我在 documentation 中看不到任何选项可以让我指定 GMEK。
这可能吗?
解决方法
当您的数据集有默认 KMS 密钥时,您只能使用此密钥或指定另一个密钥。您无法使用 GMEK(实际上使用 KMS 密钥)创建表。
为此,您需要删除数据集上的默认 KMS 密钥,然后指定何时要在创建表时使用 KMS 密钥。如果不指定任何内容,则使用 GMEK。
注意:不要混合使用 CMEK 和 CSEK。两种不同的东西不能混用(并且 CSEK 在 BigQuery 上不可用)
编辑 1
没有提到如何删除数据集上的默认 KMS 密钥。我在我的测试中做到了这一点,它奏效了
bq update --default_kms_key= --dataset <myDataset>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。