我浏览了这个Google Cloud文档,其中提到:-
只要不创建新对象,数据流就可以访问受云KMS密钥保护的源和接收器,而无需指定这些源和接收器的云KMS密钥。
对此我有几个问题:
Q.1。这是否意味着我们不需要在Beam代码中解密加密的源文件?Dataflow是否内置了此功能?
Q.2。如果源文件被加密,Dataflow的输出文件会默认使用相同的密钥(假设我们有一个对称密钥)进行加密吗?
问题3.这里提到的对象是什么?
PS:我想从放置在GCS存储桶中的加密AVRO文件中读取,从我的代码中应用我的Apache光束转换,并将加密文件写回存储桶。
Cloud Dataflow是一项完全托管的服务,如果未指定加密,它会自动应用CloudKMS加密。CloudKMS是云托管的密钥管理服务,可以管理对称和非对称加密密钥。
>
当云KMS与云数据流一起使用时,它允许您加密要在数据流管道中处理的数据。使用云KMS,可以对临时存储在持久磁盘等临时存储中的数据进行加密,以获得端到端的数据保护。您无需在光束代码中解密源文件,因为来自源的数据是加密的,解密将由数据流自动完成。
如果您使用的是对称密钥,则单个密钥可用于加密和解密由云KMS以密文形式存储的数据。如果您使用的是非对称密钥,则将使用公钥加密数据,并使用私钥解密数据。在执行加密和解密之前,您需要向Dataflow服务号提供云KMSCryptoKey加密/解密角色。云KMS根据提供的密文自动确定解密密钥,因此无需额外注意解密。
您提到的由云KMS加密的对象可以是BigQuery中的表、Cloud Storage中的文件以及源和接收器中的不同数据。
有关更多信息,您可以查看此博客。