如何授予 DDB 导出服务对不同 AWS 账户中存储桶的访问权限?
How do I give the DDB export service access to a bucket in a different AWS account?
我想将 DDB table 从一个账户直接导出到另一个账户的 s3 存储桶。
开始导出时,我选择“A different AWS account”并指定其存储桶。
失败并出现此错误:Status Code: 403; Error Code: AccessDenied
显然我需要授予它权限,但我找不到任何相关文档。 What/who 需要授予存储桶权限?明明是支持的功能,但是我找不到任何关于权限配置的解释。
此 link 应涵盖目标中您的 IAM 策略和 S3 存储桶策略所需的特定策略:
如果您在目标 S3 存储桶上使用 KMS 密钥,请特别注意它们,您还需要为请求主体授予对这些密钥的权限。这是一个常见问题!
在您要导出的存储桶所在的目标账户中,您必须为该存储桶分配一个存储桶策略。转到存储桶 Permissions
选项卡并附加以下策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExampleStatement",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789000:user/my-user"
},
"Action": [
"s3:AbortMultipartUpload",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
委托人可以是在源帐户中启动导出的用户或角色。显然,委托人需要有必要的权限才能在源存储桶中进行导出。
我想将 DDB table 从一个账户直接导出到另一个账户的 s3 存储桶。
开始导出时,我选择“A different AWS account”并指定其存储桶。
失败并出现此错误:Status Code: 403; Error Code: AccessDenied
显然我需要授予它权限,但我找不到任何相关文档。 What/who 需要授予存储桶权限?明明是支持的功能,但是我找不到任何关于权限配置的解释。
此 link 应涵盖目标中您的 IAM 策略和 S3 存储桶策略所需的特定策略:
如果您在目标 S3 存储桶上使用 KMS 密钥,请特别注意它们,您还需要为请求主体授予对这些密钥的权限。这是一个常见问题!
在您要导出的存储桶所在的目标账户中,您必须为该存储桶分配一个存储桶策略。转到存储桶 Permissions
选项卡并附加以下策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExampleStatement",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789000:user/my-user"
},
"Action": [
"s3:AbortMultipartUpload",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
委托人可以是在源帐户中启动导出的用户或角色。显然,委托人需要有必要的权限才能在源存储桶中进行导出。