繁体   English   中英

AWS Java SDK:来自EC2实例配置文件的AssumeRole?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM