Вопрос или проблема
Я являюсь членом ассоциации, использующей Microsoft Office 365. Я не администратор.
Сейчас я создаю небольшое веб-приложение, которое будет размещено полностью независимо от нашей ассоциации (другой хостинг, другое доменное имя).
Намерение состоит в том, чтобы пользователи нашей организации Office 365 могли входить в это веб-приложение с помощью своей учетной записи Office. Поэтому я хочу интегрировать Microsoft login в веб-приложение, но только пользователи нашей организации Office должны иметь возможность входить.
Я пришел к Microsoft Entra (ребрендинг Active Directory), создал бесплатную учетную запись Azure и зарегистрировал приложение.
Я не очень знаком с экосистемой Microsoft, но думаю, что делаю что-то простое.
Некоторые документы неясны или не описывают точно то, что я хочу.
- Является ли Entra (часть Azure) правильным путем, или существует другой более простой вид сервиса Microsoft?
- Возможно ли вообще достичь желаемого, если я не управляю Office 365 нашей ассоциации?
- Существует ли пошаговое руководство или ответ, который поможет мне этого достичь?
Программирование не является проблемой, это в основном понимание Entra и всей аутентификационной системы Microsoft.
Ответ или решение
Для интеграции с системой Office 365 и ограничения доступа только для пользователей из одной организации, вам потребуется реализовать авторизацию через Microsoft Entra ID (ранее известный как Azure Active Directory). Ваша задача — настроить так называемую "одиночную авторизацию", которая позволит пользователям вашей организации входить в приложение под учетной записью Office 365.
Шаги для реализации:
-
Регистрация приложения в Azure Active Directory:
- Войдите в портал Azure (portal.azure.com).
- Найдите службу Microsoft Entra ID.
- Перейдите в раздел "Регистрация приложений" и выберите "Новое регистрационное приложение".
- Укажите имя вашего приложения, выберите "Учетные записи только в этом организационном каталоге (единственная организация)" в качестве типа учетной записи, чтобы обеспечить вход только пользователей вашей организации.
-
Получение необходимых учетных данных:
- После регистрации приложения запишите его Идентификатор клиентского приложения (Client ID).
- Сгенерируйте секрет клиента (Client Secret) и сохраните его в безопасном месте, так как он будет нужен для аутентификации приложения.
-
Настройка платформы:
- В разделе "Платформы" добавьте нужную платформу (например, веб-платформу).
- Укажите URL перенаправления (Redirect URI) — это должен быть URL, куда должен перенаправляться пользователь после успешного входа. Обычно это URL вашей веб-приложения с дополнительным путем, например,
https://yourapp.com/auth/callback
.
-
Настройка разрешений API:
- Добавьте необходимые API-разрешения для доступа к данным профиля пользователя. Как правило, достаточно права на чтение профиля (
User.Read
).
- Добавьте необходимые API-разрешения для доступа к данным профиля пользователя. Как правило, достаточно права на чтение профиля (
-
Имплементация аутентификации в приложении:
- Используйте библиотеку для работы с OAuth 2.0, например MSAL.js (для JavaScript) или MSAL.NET (для .NET).
- Настройте запросы аутентификации с использованием Идентификатора клиента и секрета.
-
Проверка домена пользователя:
- После успешной аутентификации получите данные пользователя и проверьте домен его электронной почты. Это гарантирует, что только пользователи вашей организации могут получить доступ к приложению.
Ответы на дополнительные вопросы:
-
Подходит ли Entra для этой задачи?
Да, Microsoft Entra ID является наиболее подходящим вариантом для вашей задачи. Он предоставляет необходимые инструменты для интеграции и управления доступом пользователей из вашей организации. -
Возможно ли это без администраторского доступа?
Хотя у вас нет полного администрирования в Office 365, вы можете зарегистрировать свое приложение и управлять доступом, используя Entra, при этом соблюдая настройки политики безопасности и согласие от вашей организации при необходимости. -
Существуют ли пошаговые руководства?
Microsoft предоставляет детальные руководства и документацию на портале Docs. Рекомендуется начать с документации по регистрации приложений и интеграции OAuth 2.0 через Microsoft Graph API.
Интеграция с Microsoft Entra ID предоставляет мощные возможности по защите, обеспечивая безопасный доступ к веб-приложению пользователям вашей организации.