[英]AWS Java SDK: AssumeRole from EC2 instance profile?
我有一个在EC2实例上运行的应用程序,该实例的IAM配置文件在其所驻留的帐户上具有EC2描述。 它还具有另一个帐户的AssumeRole(该角色也授予EC2描述)。 这是我在委托人帐户上的IAM角色的样子:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Sid": "{SID}",
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": [
"arn:aws:iam::{ACCT_NUM}:role/{ROLE_NAME}"
]
}
]
}
这是辅助帐户中的IAM角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
}
]
}
基本上,我需要从两个帐户中获取EC2实例。 当前的SDK有可能吗? 目前,我仅从主体帐户获取实例。
添加ec2:AssumeRole
不会自动在帐户之间传播命令。
您必须为要从中提取实例信息的每个AWS账户和区域调用一次ec2:DescribeInstances
。
您通过EC2的IAM角色可以访问主帐户。 仅使用这些凭据调用ec2:DescribeInstances
将仅为您提供该帐户的EC2实例信息。
接下来,您需要调用ec2:AssumeRole
来接收辅助帐户的新凭据。 拥有这些帐户后,就可以使用它们来调用辅助帐户的ec2:DescribeInstances
。
是的,您可以使用SDK。 在使用来自主(默认)帐户的凭据列出EC2实例之后,然后使用STS调用AssumeRole()以获取交叉帐户的凭据。 然后列出这些EC2实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.