Какой контейнер Azure должен наилучшим образом соответствовать настраиваемой бизнес-логике сверх требований?
Это довольно широкий вопрос, на который я не могу ответить однозначно.
Но веб-задания или долговременные функции могут работать.
Какая аутентификация требуется для подключения и запроса стороннего арендатора?
Если это похоже на любого арендатора, который начинает использовать ваше приложение, вы должны зарегистрировать мультитенантное приложение в своей AAD и требовать разрешения приложения для чтения основной / полной информации всех пользователей из Microsoft Graph API.
Затем вам необходимо предоставить функциональность стороннему администратору клиента, чтобы согласиться с этими разрешениями.
Это означает, что вам нужно будет перенаправить их для входа в ваше приложение, после чего у них спросят разрешения.
Одна только тема согласия немного сложна, документация здесь: https://docs.microsoft.com/en-us/azure/active-directory/develop/consent-framework.
Ваше приложение может затем использовать аутентификацию Client Credential в фоновом режиме, чтобы получить токен доступа для MS Graph API и выполнить синхронизацию / регистрацию для уведомлений об изменениях.
Azure AD Graph API или LDAP-запрос, который эффективен / лучше всего подходит?
Не используйте Microsoft Graph API.
Каким образом любые пользовательские или групповые изменения данных в стороннем активном каталоге арендатора будут уведомлены моим пользовательским приложением для синхронизации хранилища данных нашего приложения?
Вы можете получать уведомления об изменениях: https://docs.microsoft.com/en-us/graph/api/resources/webhooks?view=graph-rest-1.0.
Но вам, вероятно, потребуется также выполнить полную синхронизацию, чтобы все работало на случай, если вы пропустите какие-либо обновления.
Самое простое решение - это полная синхронизация по расписанию.
Это не быстро и не эффективно, но вполне надежно.