传递式使用IAM角色

问题描述:

我对EC2和EMR使用IAM角色有疑问。这是我目前的设置:传递式使用IAM角色

我有一个EC2机器启动具有特定的IAM角色(让我们称这个角色'管理')。我的工作流程是将文件从本机上传到S3,然后创建具有特定IAM角色('runner'角色)的EMR群集。 EMR群集在从管理员机器上传到S3的文件上工作。 管理员对所有AWS服务中的所有API都具有特权。 Runner可以访问EMR,EC2和S3中的所有API。

出于某种原因,该EMR簇是无法访问在S3中加载的输入文件。它始终得到s3的“拒绝访问”例外。

我猜从一个IAM角色写入到S3,并从不同的IAM角色读它是什么原因造成的问题。

上正在发生的事情错在这里,还是这甚至支持使用情况表示赞赏任何想法。

谢谢!

http://blogs.aws.amazon.com/security/post/TxPOJBY6FE360K/IAM-policies-and-Bucket-Policies-and-ACLs-Oh-My-Controlling-Access-to-S3-Resourc

S3对象有三种方式保护,在我链接到后看到。

  1. 您的IAM角色需要阅读S3对象的权限。
  2. 的S3存储策略必须允许对象的IAM角色的访问。
  3. 的S3 ACL的特定对象还必须允许对象的IAM角色的访问。