Eu não sei se esse caso tá enxuto demais para o que está sendo pedido, e talvez tenha algum erro nesse código, mas eu dei uma testada nisso e aparentemente tudo está nos conformes:
permissions = set(input("Permissões principais: ").lower().strip().split(", "))
attempted_permissions = set(input("Permissões solicitadas: ").lower().strip().split(", "))
if (attempted_permissions - permissions):
print("As permissões solicitadas não fazem parte das permissões principais.")
else:
print("As permissões solicitadas fazem parte das permissões principais. ")
Ideia aqui é simples, se (attemped_permissions - permissions) me retornar um valor, significa que tem algum membro solicitado que não está nas principais, logo, nem todas as permissões solicitadas fazem parte das principais.