如何使用boto3获取登录用户的IAM角色信息?

问题描述 投票:0回答:1

例如:当我登录到我的AWS账户时,联合登录显示为myrole/usr1。用户user1不是IAM用户。尝试通过client.get_caller_identity()模块使用sts获得身份。

当运行lambda时,它是赋予分配给lambda的角色,而不是正在寻找的实际角色。如何获取角色信息myrole

boto3 amazon-iam roles
1个回答
0
投票

通常是从代码中获取角色名称的方法:

import boto3
s = boto3.Session(profile_name="some_profile_name")
c = s.client("sts")
c.get_caller_identity()

您将得到{'UserId': '...', 'Account': '...', 'Arn': 'arn:aws:sts::...:assumed-role/.../federated_username_here', ...}的响应

但是这意味着您已经使用名称some_profile_name配置了AWS CLI配置文件,并且为此需要通过CLI设置联合访问或知道角色的名称,据我所知。鸡肉和鸡蛋问题。

同样尝试使用AWS代码环境来获取它,lambda将以相同的方式显示其角色ec2。

因此,从控制台可以看到它,您可以尝试转到页面https://console.aws.amazon.com/billing/home?#/account,并且您具有查看该页面的权限,您的假定角色将列为Account Name

© www.soinside.com 2019 - 2024. All rights reserved.