IAM角色访问另一个AWS账户的服务

时间:2018-03-12 04:14:07

标签: amazon-web-services amazon-s3 amazon-ec2 amazon-iam amazon-sns

出于安全原因,我们有一个dev,QA和prod AWS账户。我们正在为实例使用IAM角色。这在每个帐户的基础上正常工作。

现在招募的是我们想要从Dev aws帐户的一个QA帐户的EC2实例上访问多个aws服务(例如S3,SQS,SNS,EC2等)。

我们已创建STS政策和角色,允许可信实体作为另一个AWS账户,但不知何故无法将此角色附加到EC2实例。

示例STS政策:

{
"Version": "2012-10-17",
"Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::546161XXXXXX:role/AdminAccessToAnotherAccount"
   }
}

AdminAccessToAnotherAccount:此帐户具有管理员访问权限的另一个帐户的政策。

附加到ec2实例时未列出此角色。

1 个答案:

答案 0 :(得分:1)

您的情况似乎是:

  • 您在Account-1
  • 中有一个EC2实例
  • IAM角色("角色-1")已分配给EC2实例
  • 您想要从EC2实例
  • 访问Account-2中的资源

以下步骤可以启用此功能:

  • 使用您希望实例接收的权限在Account-2(" Role-2")中创建IAM角色
  • 向Role-2添加Trust策略,信任Role-1
  • 确认Role-1有权在Role-2上调用AssumeRole
  • 使用Role-1从EC2实例,在Role-2上调用AssumeRole
  • 它将返回一组凭据(访问密钥,密钥,令牌)
  • 使用这些凭据访问帐户2中的服务(通过aws configure --profile foo或API调用)

示例: