AWS-IAMandcleaningroles
创始人
2024-11-18 18:00:07
0

AWS Identity and Access Management (IAM) 是 AWS 的一项服务,可帮助您安全地控制对 AWS 资源的访问。而清理不必要的 IAM 角色是 AWS 账户管理中的一个常见问题。

要删除不需要的 IAM 角色,可以使用以下 Python 代码示例:

import boto3
iam = boto3.client('iam')

# 列出正在使用指定 IAM 角色的实例
def get_role_instances(role_name):
    response = []
    for profile in boto3.session.Session().available_profiles:
        credentials = boto3.Session(profile_name=profile).get_credentials()
        ec2 = boto3.resource('ec2', region_name='us-west-2', 
                             aws_access_key_id=credentials.access_key, 
                             aws_secret_access_key=credentials.secret_key, 
                             aws_session_token=credentials.token)
        for i in ec2.instances.all():
            for tag in i.tags:
                if tag['Key'] == 'Role' and tag['Value'] == role_name:
                    response.append(i.id)
    return response

# 删除 IAM 角色
def delete_role(role_name):
    # 首先,查找 IAM 角色的路径,这在后面删除角色时会用到
    response = iam.get_role(RoleName=role_name)
    path = response['Role']['Path']
    
    # 接下来,查找 IAM 角色的策略以及附加的访问密钥和用户
    attached_entities = iam.list_attached_role_policies(RoleName=role_name)['AttachedPolicies']
    response = iam.list_role_policies(RoleName=role_name)['PolicyNames']
    inline_entities = []
    for policy_name in response:
        inline_entities.append(iam.get_role_policy(RoleName=role_name, PolicyName=policy_name)['PolicyDocument'])
    response = iam.list_role_inline_policies(RoleName=role_name)['PolicyNames']
    for policy_name in response:
        inline_entities.append(iam.get_role_inline_policy(RoleName=role_name, PolicyName=policy_name)['PolicyDocument'])
    response = iam.list_role_tags(RoleName=role_name)['Tags']
    
    # 然后删除 IAM 角色
    iam.delete_role(RoleName=role_name)
    print('Deleted IAM Role:', role_name)
    
    # 最后,删除角色之前策略、访问密钥和用户所依附的实体
    for entity in attached_entities:
        if entity['PolicyType'] == 'AWSManagedPolicy':
            iam.detach_role_policy(RoleName=role_name, PolicyArn=entity['PolicyArn

相关内容

热门资讯

透视揭露!wepoker辅助脚... 透视揭露!wepoker辅助脚本,wepoker私人局透视-确实是真的有辅助神器(哔哩哔哩)1、下载...
透视科普!wpk透视是真的假的... 透视科普!wpk透视是真的假的,wpk软件是正规的吗-真是存在有辅助软件(哔哩哔哩)1、金币登录送、...
透视解密!wepoker辅助真... 透视解密!wepoker辅助真的假的,We poker辅助器下载-真是真的有辅助神器(哔哩哔哩)亲,...
透视推荐!hhpoker辅助软... 透视推荐!hhpoker辅助软件,hhpoker德州有挂吗-果然是有辅助神器(哔哩哔哩)1、模拟器是...
透视科普!wpk透视是真的假的... 透视科普!wpk透视是真的假的,wpk辅助器是真的吗-真是是真的有辅助攻略(哔哩哔哩)1、有没有辅助...
透视曝光!wepoker可以透... 透视曝光!wepoker可以透视码,wejoker内置辅助-本来有辅助教程(哔哩哔哩)1、该软件可以...
透视揭露!wepoker破解工... 透视揭露!wepoker破解工具,wepoker怎么设置盖牌-本来一直总是有辅助方法(哔哩哔哩)1、...
透视有挂!有哪些免费的wpk作... 透视有挂!有哪些免费的wpk作弊码,wpk辅助器是真的吗-果然一直总是有辅助脚本(哔哩哔哩)1、公共...
透视关于!德扑圈透视挂,德普之... 透视关于!德扑圈透视挂,德普之星透视辅助-好像是真的有辅助软件(哔哩哔哩)脚本下载中分为三种模型:挂...
透视解密!德普辅助器怎么用,德... 透视解密!德普辅助器怎么用,德普之星透视-好像是有辅助app(哔哩哔哩)1、完成辅助器v3.3的残局...