Typically speaking it would be done in the microservices. The gateway has the details of the principal (user) but it likely doesn't have the full details of the resources they are trying to access, and you need both to form the call to Cerbos.
In some cases it might be possible to do at least some high-level authorization at the gateway level, and then more fine-grained checks from the microservices, but it's probably simpler to start out with just doing authentication in the gateway and leaving authorization to the microservices.