我正在尝试使用iam_role将数据从Redshift卸载到S3。只要我将数据卸载到与Redshift集群相同的帐户所拥有的S3存储桶,unload命令就可以正常工作。
但是,如果我尝试将数据卸载到另一个帐户所拥有的S3存储桶中,则它无效。我尝试过这些教程中提到的方法:
但是,我总是得到S3ServiceException:Access Denied,Status 403,Error AccessDenied,Rid
以前有人这样做过吗?
答案 0 :(得分:3)
我让它发挥作用。这就是我所做的:
AmazonS3FullAccess
政策(用于测试)的 IAM角色 这是我使用的存储分区策略:
{
"Id": "Policy11",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PermitRoleAccess",
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
],
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:role/Redshift-loader"
]
}
}
]
}
Redshift-loader
角色已与我的Redshift群集相关联。此策略授予角色(位于不同AWS账户中)对此S3存储桶的访问权限。