尝试使用CSEK加载GCS文件时,我收到数据流错误
[ERROR] The target object is encrypted by a customer-supplied encryption key
我打算尝试在数据流方面进行AES解密,但我发现如果没有传递加密密钥,我甚至无法获取该文件 .
是否有另一种方法可以从数据流中加载CSEK加密的Google Cloud 端存储文件?例如,使用谷歌 Cloud 存储API,获取流句柄然后将其传递给数据流?
// Fails
p.apply("Read from source", TextIO.read().from("gs://my_bucket/myfile")).apply(..);
1 回答
通过documentation Cloud Dataflow目前不支持使用客户提供的加密密钥加密的对象 . 我为此开了一个feature request .
请注意,您无法在 Cloud 存储中获取已使用客户提供的加密密钥(CSEK)上载的文件,而无需使用该加密密钥 .
到documentation:
如果我们仍然拥有CSE密钥,则访问该文件的示例Java代码是:
使用CSEK获取文件的所有其他可能方法都描述为here .