可以创建跨账户访问 EC2 角色吗?
Posted
技术标签:
【中文标题】可以创建跨账户访问 EC2 角色吗?【英文标题】:Can Cross Account Access EC2 Role be Created? 【发布时间】:2017-10-06 16:16:19 【问题描述】:这可以分为三个部分:
Q1) 对于在 EC2 实例上运行的一段代码 Ec2 角色超级种子 AWS Config Credentials ,因为代码无法访问 s3 存储桶和 awsr rkognition 集合,但是当我在实例上使用 AWS Configure 并添加访问权限和密钥时,我可以通过 aws cli 访问资源。 但是当我通过我的代码运行它时,它给出了一个错误,在调试时显示 aws role arn 声明访问被拒绝。
Q2) 我使用 AWS Codestar 在帐户 1111111 上部署了一个应用程序 它需要以下资源: 1)AWS S3 2) AWS Rekognition
现在的场景是AWS Rekognition的bucket和Collection在不同的AWS Account上2222222。
AWS Code Star 自动为 EC2 实例分配一个角色,如果我删除它,codestar 会中断,因此必须保留具有该帐户代码部署的角色。
我知道S3 Bucket can be given cross account access 在这种情况下可以做什么,但是 Rekognition 呢
如果有人想要实现这一点,有人能准确告诉我哪些 IAM 设置需要应用于哪些帐户。
谢谢
【问题讨论】:
【参考方案1】:您需要在目标 AWS 账户 (222222?) 上添加一个角色,该角色允许通过使用源账户 (111111) 的 ARN 分配“受信任实体”来访问资源。特别是,这应该是连接服务的 ARN,在您的情况下是账户 (111111) 上的 EC2 实例的 ARN。如需更多信息,请参阅:
http://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html
【讨论】:
您的意思是看到我在账户 222 中使用账户 1 的 EC2 实例的受信任 ARN 创建了一个角色,我可以从链接到 S3 做到这一点,但是 AWS Recognition 呢?如果您查看问题,我提到它可以在 S3 上完成,我担心 AWS Recognition 哦,我将问题读作“可以创建跨账户访问 EC2 角色吗?”答案是肯定的。以上是关于可以创建跨账户访问 EC2 角色吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用默认 aws/S3 KMS 密钥对解密对象进行跨账户访问
AWS CodePipeline 错误:不允许跨账户传递角色