Kerberos delegation is needed to allow frontend services to pretend to be users to a backend service.

There are 3 types of delegation:

Unconstrained Delegation

Constrained Delegation

Resource-based Constrained Delegation (RBCD)