in cfn_policy_validator/parsers/identity.py [0:0]
def get_orphaned_policies(cls):
"""
Orphaned policies are policies that are not attached to any principal
"""
role_policies = [policy for role in RoleParser.roles.values() for policy in role.Policies]
user_policies = [policy for user in UserParser.users.values() for policy in user.Policies]
group_policies = [policy for group in GroupParser.groups.values() for policy in group.Policies]
permission_set_policies = [policy for permission_set in PermissionSetParser.permission_sets.values()
for policy in permission_set.Policies]
all_attached_policies = list(set(role_policies) | set(user_policies) | set(group_policies) | set(permission_set_policies))
all_managed_policies = list(ManagedPolicyParser.managed_policies.values())
return [managed_policy for managed_policy in all_managed_policies if
managed_policy not in all_attached_policies]