BigQuery 和 'bq load' - 对于某些表,使用 GMEK 覆盖默认数据集 CSEK



我在Big Query中有一个指定了默认客户管理加密密钥(CMEK(的数据集。这是一项要求,并确保默认情况下,使用CMEK对新表进行加密(除非特别豁免(。

我有一些数据想吸收到数据集中,这些数据不需要CMEK,而是可以使用谷歌管理加密密钥(GMEK(。

主要原因是能够利用在使用CMEK时不可用的功能,例如能够在BigQuery中为SQL中的表使用通配符。

我的问题是:使用命令行中的bq load命令,当我将数据加载到Big Query时,如何用GMEK覆盖默认密钥?

例如,如果是相反的方式,我可以使用--destination_kms_key并指定我的CMEK,但我在文档中看不到允许我指定GMEK的选项。

这可能吗?

当数据集中有默认的KMS密钥时,您只能使用此密钥或指定另一个密钥。您不能用GMEK(实际上是用KMS密钥(创建表。

为此,您需要删除数据集上的默认KMS键,然后指定在创建表时何时使用KMS键。如果未指定任何内容,则使用GMEK。

注意:不要混合CMEK和CSEK。这是两种不同的东西不能混合(并且CSEK在BigQuery上不可用(


编辑1

它没有提到如何删除数据集上的默认KMS密钥。我在测试中做到了这一点,它起到了的作用

bq update --default_kms_key= --dataset <myDataset>

最新更新