如何获取成员帐户上的 ec2 实例列表

How to get list of the ec2 instance on the member account

我已经通过 aws cli 通过 AWS Organization 创建了一个 aws 帐户。 如何获取创建的成员 aws 帐户上的 ec2 实例列表? 如何在不恢复 root 密码的情况下访问它?

由于最近创建了成员 AWS 帐户,因此不会在其中创建任何 EC2 实例(或任何其他资源)。

为了在不找回密码的情况下访问帐户,您可以使用此处所述的“切换角色”功能 - https://aws.amazon.com/premiumsupport/knowledge-center/organizations-member-account-access/

能够登录后,您可以创建访问密钥和 运行 CLI 命令。

我终于能够自动获取 ec2 实例列表,无需任何手动操作。 创建会员帐户后,AWS 会自动创建 OrganizationAccountAccessRole 角色。切换到该角色可以获得成员帐户的管理员访问权限。 这是切换到该角色的代码

sts_client = self.aws_service.create_aws_sts()

assumed_role_object = sts_client.assume_role(
        RoleArn="arn:aws:iam::{account_id}:role/OrganizationAccountAccessRole",
        RoleSessionName="AssumeRoleSession1"
    )
credentials = assumed_role_object['Credentials']

s3_resource=boto3.resource(
'ec2',
aws_access_key_id=credentials['AccessKeyId'],
aws_secret_access_key=credentials['SecretAccessKey'],
aws_session_token=credentials['SessionToken'])

for instance in s3_resource.instances.all():
    print(instance.Id)

希望对有类似问题的朋友有所帮助,