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

BigQuery 和“bq 加载”- 使用某些表的 GMEK 覆盖默认数据集 CSEK

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?