Il requisito
Capisco che tu voglia consentire agli utenti di accedere / aggiornare i propri documenti, cioè i documenti relativi alle attività che possiedono:
+----------+ +----------+ +----------+
| | n| | n| |
| User |---------| Task |---------| Document |
| |1 | |1 | |
+----------+ +----------+ +----------+
Quindi per controllare l'accesso alle richieste, è necessario in qualche modo avere informazioni sulla proprietà dell'utente. E lo stesso per documenti con compiti.
Si noti che qui c'è una piccola ambiguità: l'attività è di proprietà di un singolo utente (sì: il proprietario può essere salvato con l'attività, no: la proprietà deve essere archiviata in una tabella separata)? E i documenti sono legati ad un singolo compito? Ma questo non cambia fondamentalmente il problema del controllo degli accessi.
Opzione 1: l'endpoint del documento viene gestito sullo stesso server dell'endpoint dell'attività
Implementare il servizio per accedere al database comune che unisce le tabelle pertinenti. Il tuo RDBMS e il suo ottimizzatore gestiranno questo senza dolore.
Opzione 2: hai microservizi indipendenti
Implementare alcune repliche, in modo che ogni volta che viene modificata la proprietà di un'attività, le informazioni sulla proprietà vengano propagate al servizio documenti. È possibile elaborare l'aggiornamento tramite aggiornamento o offrire un'API per l'aggiornamento periodico di massa.