For*_*sed 9 google-cloud-storage google-cloud-platform google-cloud-dataflow apache-beam
尝试使用CSEK加载GCS文件时,我收到数据流错误
[ERROR] The target object is encrypted by a customer-supplied encryption key
Run Code Online (Sandbox Code Playgroud)
我打算尝试在数据流方面进行AES解密,但我发现如果没有传递加密密钥,我甚至无法获取该文件.
是否有另一种方法可以从数据流中加载CSEK加密的Google云端存储文件?例如,使用谷歌云存储API,获取流句柄然后将其传递给数据流?
// Fails
p.apply("Read from source", TextIO.read().from("gs://my_bucket/myfile")).apply(..);
Run Code Online (Sandbox Code Playgroud)
根据文档, Cloud Dataflow目前不支持使用客户提供的加密密钥加密的对象.我打开了一个要实现的功能请求.
请注意,您无法在云存储中获取已使用客户提供的加密密钥(CSEK)上载的文件,而无需使用该加密密钥.
通过文件:
如果您使用客户提供的加密密钥或客户端加密,则必须安全地管理密钥并确保密钥不会丢失.如果您丢失了密钥,则无法再读取数据,并且在删除对象之前,您将继续收取对象的存储费用.
如果我们仍然拥有CSE密钥,则访问该文件的示例Java代码是:
byte[] content = storage.readAllBytes(
bucketName, blobName, BlobSourceOption.decryptionKey(decryptionKey));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
576 次 |
最近记录: |