首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用boto3列出附加到IAM角色的所有资源?

如何使用boto3列出附加到IAM角色的所有资源?
EN

Stack Overflow用户
提问于 2020-04-01 03:04:46
回答 2查看 479关注 0票数 0

我想列出所有附加到IAM角色的资源。我正在编写一个程序,它将清理与任何资源(如ec2资源、lambda、任务定义等)无关的IAM角色。

代码语言:javascript
复制
import boto3
client = boto3.client('iam')
iam = boto3.resource('iam')
roles = client.list_roles()
role_name = []
Role_list = roles['Roles']
for key in Role_list:
    role_name.append(key['RoleName'])
print(*role_name,sep='\n')

for name in role_name:
    role = iam.Role( name )
    print(name)   
    print(role.get_available_subresources())
EN

回答 2

Stack Overflow用户

发布于 2020-04-01 16:54:26

没有命令可以列出正在“使用”IAM角色的所有资源。

相反,您需要检索每种资源类型的列表,然后检查分配给每种资源的IAM角色。

此外,请注意,应用程序可以通过其代码中的API调用来承担IAM角色。因此,他们正在“使用”IAM角色,但没有为应用程序指定特定的角色。

票数 0
EN

Stack Overflow用户

发布于 2022-02-22 21:05:28

您可以使用get_role(RoleName="MyRoleName")获取附加的资源。

Boto3 Documentation

代码语言:javascript
复制
iam = boto3.client('iam')
role_policy = iam.get_role(RoleName="MyRoleName")
print (role_policy)

预期输出:

代码语言:javascript
复制
{
    'Role': {
        'Arn': 'arn:aws:iam::123456789012:role/Test-Role',
        'AssumeRolePolicyDocument': '<URL-encoded-JSON>',
        'CreateDate': datetime(2013, 4, 18, 5, 1, 58, 3, 108, 0),
        'Path': '/',
        'RoleId': 'AIDIODR4TAW7CSEXAMPLE',
        'RoleName': 'Test-Role',
    },
    'ResponseMetadata': {
        '...': '...',
    },
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60958042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档