amazon-web-services - 如何将存储桶所有者完全控制权授予从一个帐户中的 redshift 卸载到另一个帐户中的 s3 存储桶的文件?

标签 amazon-web-services amazon-s3 amazon-redshift amazon-iam

我在 AWS 账户“A”中有一个 redshift 集群,在账户“B”中有一个 S3 存储桶。我需要将数据从 A 中的 redshift 帐户卸载到 B 中的 S3 存储桶。

我已经提供了必要的存储桶策略和角色策略来卸载数据。数据也正在成功卸载。现在的问题是这个卸载创建的文件的所有者是帐户
A 和该文件需要由用户 B 使用。在尝试访问该对象时,我的访问被拒绝。我该如何解决这个问题?

PS:ListBucket 和 GetObject 权限已由 redshift IAM 策略授予。

最佳答案

这对我有用 - 链接 IAM 角色。

例如,假设公司 A 想要访问属于公司 B 的 Amazon S3 存储桶中的数据。公司 A 为 Amazon Redshift 创建一个名为 RoleA 的 AWS 服务角色并将其附加到他们的集群。 B 公司创建了一个名为 RoleB 的角色,该角色有权访问 B 公司存储桶中的数据。为了访问公司 B 存储桶中的数据,公司 A 使用链接 RoleA 和 RoleB 的 iam_role 参数运行 COPY 命令。在 UNLOAD 操作期间,RoleA 临时代入 RoleB 以访问 Amazon S3 存储桶。

更多详情:https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html#authorizing-redshift-service-chaining-roles

关于amazon-web-services - 如何将存储桶所有者完全控制权授予从一个帐户中的 redshift 卸载到另一个帐户中的 s3 存储桶的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51196287/

相关文章:

java - 覆盖 S3 中的文件时保留元数据

amazon-web-services - AWS Fargate 连接到不同 VPC 中的 RDS

amazon-s3 - 如何处理 Snowflake 中 S3 文件路径中的空格

amazon-web-services - AWS - Cloudformation RDS 资源创建错误 - 数据库实例不稳定

javascript - S3 listObjects递归 Node

mysql - 如何将 RedShift 上的表格卸载到单个 CSV 文件?

odbc - 为什么使用 ODBC 连接到 redshift 时列的重命名不起作用?

amazon-web-services - 如何在 Redshift 中实现 Oracle 触发器类型的功能?

amazon-web-services - 使用 lambda 函数删除关联的 cloudformation 堆栈时,EMR 集群不会终止

amazon-web-services - 为什么 X-Forwarded-Proto 在 Elastic Beanstalk 上总是设置为 HTTP?