Одна мысль, которая пришла мне в голову, заключается в том, что вам требуется разрешение user_impersonation для Azure API управления службами. После входа в систему вы можете перечислить доступные подписки, позволяя пользователю выбрать одну. Затем перечислите группы ресурсов, если это необходимо.
Как только пользователь подтвердит выбор, ваше приложение может добавить себя в качестве участника в целевой ресурс через API управления от имени вошедшего в систему пользователя.
Для этого вам потребуется идентификатор объекта субъекта службы для вашего приложения, созданного в целевом клиенте. Вы можете получить его, приобретя токен только для приложения, например, для Azure Management API из конечной точки токена этого клиента после того, как пользователь вошел в систему. Токен будет содержать утверждение oid, которое является идентификатором объекта для участника службы.
Конечно, пользователь, который входит в систему, должен иметь возможность изменять доступ к целевому ресурсу.
Я бы сказал, что недостатком этого подхода является то, что организация должна доверять вашему приложению только делать то, что, как он утверждает, делать. Подход, при котором они предоставляют доступ вручную, позволяет им полностью контролировать ситуацию.