aws_s3.query_export_to_s3 上传数据到s3时,是否可以避免使用'aws/s3'进行加密

0

【以下的问题经过翻译处理】 'aws_s3.query_export_to_s3'的默认行为对于跨账户的s3对象共享是有问题的。 如果RDS在账户A中,'aws_s3.query_export_to_s3'将使用账户A的'aws/s3'密钥加密数据。来自其他AWS账户的用户无法访问账户A的'aws/s3'密钥,因此无法访问由rds导出的数据。

现在我想知道是否有一种方法使'aws_s3.query_export_to_s3'上传未加密的数据,并且s3可以使用自定义密钥进行sse。我们可以将自定义KMS密钥与来自其他账户的用户共享,以便他们可以正确读取s3数据。

1 Antwort
0

【以下的回答经过翻译处理】 你好,

我了解到您正在尝试使用aws_s3扩展将数据从RDS导出到S3,您已经注意到它始终使用默认的AWS托管KMS密钥来加密数据,即使S3存储桶设置了默认的KMS密钥进行加密。

根据官方文档,上传到Amazon S3默认使用服务器端加密。如果您使用了加密,Amazon S3存储桶必须使用AWS托管密钥进行加密。目前,您无法将数据导出到使用客户托管密钥加密的存储桶。

[+] 从RDS for PostgreSQL DB实例导出数据到Amazon S3:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/postgresql-s3-export.html#postgresql-s3-export-examples

首先,我想让您知道,当使用“aws_s3.query_export_to_s3”函数从RDS PostgreSQL实例导出表数据到S3存储桶时,对象(即包含表数据的文件)将使用默认的AWS托管密钥进行加密(SSE-KMS加密),即“aws/s3”,无论以下两点是否成立:

  1. RDS PostgreSQL实例是否加密。
  2. 目标S3存储桶是否已加密。 因此,目前不支持使用S3托管密钥或客户托管密钥进行加密的选项。话虽如此,我想告诉您,目前唯一的解决方法是再次使用所需的KMS密钥对文件进行加密。可以遵循以下博客来执行此解决方法:

[+] 使用AWS CLI加密现有的Amazon S3对象:https://aws.amazon.com/jp/blogs/storage/encrypting-existing-amazon-s3-objects-with-the-aws-cli/

我了解到,缺乏本地功能实现您的用例可能会给您带来不便。

祝您度过美好的一天!

profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen