BigQuery提供了加密的功能,可以使用Google管理的加密密钥(GMEK)来保护数据,同时还可以使用用户管理的加密密钥(CSEK)。默认情况下,BigQuery使用的是CSEK。但是,有时候我们需要为某些表使用GMEK,并覆盖默认的数据集。
在使用bq load命令导入数据时,我们可以使用--destination_table_options参数来指定表的选项。下面的代码示例演示了如何使用GMEK来保护表,并将其放入名为mydataset的数据集中。
bq load \
--destination_table=mydataset.mytable \
--destination_table_options='{"encryptionConfiguration":{"kmsKeyName":"projects/{PROJECT_ID}/locations/{LOCATION}/keyRings/{KEYRING_NAME}/cryptoKeys/{KEY_NAME}","useLegacySql":false}}' \
/path/to/source/file.csv
其中,{PROJECT_ID}、{LOCATION}、{KEYRING_NAME}和{KEY_NAME}需要替换为实际的项目ID、密钥所在的位置、密钥环的名称以及密钥的名称。
这样,我们就可以使用GMEK来保护我们的数据。