An API that connects multiple Microsoft services, enabling data access and automation across platforms
Simply assigning the corresponding service principal as the Owner of the desired apps should be sufficient for that.
Alternatively, you can create a custom role, see the documentation here: https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/custom-available-permissions
Apart from restricting which specific actions are included in the role, you can modify its scope to only cover objects within specific Administrative unit, thus restricting the default tenant-wide scope. Do note however, that Microsoft has not yet stated, that this is a supported scenario (currently only users, groups and devices are officially supported as members of AUs).