Интегрируйте вход в Office365, но позвольте доступ только пользователям из одной конкретной организации.

Вопрос или проблема

Я являюсь членом ассоциации, использующей 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.

Шаги для реализации:

  1. Регистрация приложения в Azure Active Directory:

    • Войдите в портал Azure (portal.azure.com).
    • Найдите службу Microsoft Entra ID.
    • Перейдите в раздел "Регистрация приложений" и выберите "Новое регистрационное приложение".
    • Укажите имя вашего приложения, выберите "Учетные записи только в этом организационном каталоге (единственная организация)" в качестве типа учетной записи, чтобы обеспечить вход только пользователей вашей организации.
  2. Получение необходимых учетных данных:

    • После регистрации приложения запишите его Идентификатор клиентского приложения (Client ID).
    • Сгенерируйте секрет клиента (Client Secret) и сохраните его в безопасном месте, так как он будет нужен для аутентификации приложения.
  3. Настройка платформы:

    • В разделе "Платформы" добавьте нужную платформу (например, веб-платформу).
    • Укажите URL перенаправления (Redirect URI) — это должен быть URL, куда должен перенаправляться пользователь после успешного входа. Обычно это URL вашей веб-приложения с дополнительным путем, например, https://yourapp.com/auth/callback.
  4. Настройка разрешений API:

    • Добавьте необходимые API-разрешения для доступа к данным профиля пользователя. Как правило, достаточно права на чтение профиля (User.Read).
  5. Имплементация аутентификации в приложении:

    • Используйте библиотеку для работы с OAuth 2.0, например MSAL.js (для JavaScript) или MSAL.NET (для .NET).
    • Настройте запросы аутентификации с использованием Идентификатора клиента и секрета.
  6. Проверка домена пользователя:

    • После успешной аутентификации получите данные пользователя и проверьте домен его электронной почты. Это гарантирует, что только пользователи вашей организации могут получить доступ к приложению.

Ответы на дополнительные вопросы:

  • Подходит ли Entra для этой задачи?
    Да, Microsoft Entra ID является наиболее подходящим вариантом для вашей задачи. Он предоставляет необходимые инструменты для интеграции и управления доступом пользователей из вашей организации.

  • Возможно ли это без администраторского доступа?
    Хотя у вас нет полного администрирования в Office 365, вы можете зарегистрировать свое приложение и управлять доступом, используя Entra, при этом соблюдая настройки политики безопасности и согласие от вашей организации при необходимости.

  • Существуют ли пошаговые руководства?
    Microsoft предоставляет детальные руководства и документацию на портале Docs. Рекомендуется начать с документации по регистрации приложений и интеграции OAuth 2.0 через Microsoft Graph API.

Интеграция с Microsoft Entra ID предоставляет мощные возможности по защите, обеспечивая безопасный доступ к веб-приложению пользователям вашей организации.

Оцените материал
Добавить комментарий

Капча загружается...