Amazon web services AWS角色切换(EMR、EC2、ECS)

Amazon web services AWS角色切换(EMR、EC2、ECS),amazon-web-services,amazon-ec2,amazon-emr,amazon-ecs,Amazon Web Services,Amazon Ec2,Amazon Emr,Amazon Ecs,我正在EC2实例上运行Python应用程序,但由于我所使用的角色,我无法访问特定bucket中的数据(更改bucket策略不是一个选项) 我被建议从EC2切换到EMR,因为EMR使用EMRFS,这将支持角色的无缝切换。考虑到我没有使用Hadoop框架,我想知道从EC2切换到EMR有多难 ECS是否也是无缝切换角色的替代方案 为什么不为EC2实例创建一个角色,该角色附带一个允许访问S3 bucket的策略?在这种情况下,您不必修改bucket策略,只需修改实例策略即可。看见您知道您也可以无缝地更改

我正在EC2实例上运行Python应用程序,但由于我所使用的角色,我无法访问特定bucket中的数据(更改bucket策略不是一个选项)

我被建议从EC2切换到EMR,因为EMR使用EMRFS,这将支持角色的无缝切换。考虑到我没有使用Hadoop框架,我想知道从EC2切换到EMR有多难


ECS是否也是无缝切换角色的替代方案

为什么不为EC2实例创建一个角色,该角色附带一个允许访问S3 bucket的策略?在这种情况下,您不必修改bucket策略,只需修改实例策略即可。看见您知道您也可以无缝地更改EC2实例角色:

因为要访问其他s3存储桶,我需要使用另一个角色(角色及其访问权限由公司创建和定义,因此不能更改)。一个角色可以有多个策略,因此您可以在一个角色下拥有该EC2实例所需的所有策略。如果您无法修改角色和策略,那么恐怕无法绕过IAM来访问您不应该访问的内容。也许你应该和公司讨论一下?另外,仅供参考,EMR并不能神奇地解决这个问题。EMR只需为您启动一组EC2实例并对其进行管理。您仍然需要为实例定义角色和策略。当然,创建不同的角色是为了访问不同的bucket。访问此数据并在帐户之间切换通过UI或aws cli这不是问题,但当作业必须在EC2实例上运行时会成为问题。嗯,我明白了。也许您可以使用允许sts:AssumeRole的策略为EC2实例创建一个角色,然后为S3访问创建两个不同的角色,每个角色都允许访问不同的bucket。您的EC2实例可以对需要获取临时凭据的角色调用AssumeRole,以允许您在该S3存储桶上执行任何操作。但老实说,我认为您应该使用两个策略来更新EC2角色,这两个策略允许EC2实例访问这些存储桶……对于ECS,您需要在docker容器中运行python代码,并且可以为不同的ECS服务容器提供不同的IAM角色。