使用数据同步将文件传输到S3并进行验证时出错,验证S3 Put Object失败。

0

【以下的问题经过翻译处理】 我发现执行失败,并出现了"完整的错误日志,包含验证错误,传输和验证完成。验证发现不匹配。不匹配的文件列在cloudwatch日志中。"通过进一步检查cloudwatch日志,我们可以看到以下错误:

"[ERROR] Deferred error: s0:c58 close (""s3://test//yesh/test.txt""): 40978 (s3 Put Object Failed)"

关于这个错误,您有什么想法吗?

profile picture
专家
已提问 3 个月前11 查看次数
1 回答
0

【以下的回答经过翻译处理】 出现此错误是因为目标S3存储桶使用了客户管理的KMS密钥进行加密,但IAM角色和KMS策略没有足够的权限执行Put对象操作。尽管一些客户添加了受限的KMS密钥,但由于IAM角色策略和KMS策略上均不存在“kms:GenerateDataKey”,因此仍然失败。

解决方案

请检查以下内容:

  • 检查S3存储桶是否启用了加密以及KMS的类型。
  • 确保IAM角色策略和该角色使用的KMS密钥策略具有以下最低权限: "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt \ *", "kms:DescribeKey", "kms:GetPublicKey", "kms:ReEncrypt \ *", "kms:GenerateDataKey",
  • 确保IAM角色Trust策略遵循本文档中的示例1: https://docs.aws.amazon.com/datasync/latest/userguide/using-identity-based-policies.html
profile picture
专家
已回答 3 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则