In microservice architecture, let's say I have 4 services that will need file upload/download feature, I have two options for this: I can create a new 5th service to expose a file upload/download API. But when it comes file download authorization, the download privilege actually depends on the other 4 services' data (if the user can access this customer, then he can download the customer's contract), this will introduce an high coupling with the other 4 services, and when the data types (cust...