Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Проверка подлинности через брокер собирает учетные данные пользователя с помощью брокера проверки подлинности системы для проверки подлинности приложения. Брокер проверки подлинности системы — это приложение, работающее на компьютере пользователя, которое управляет подтверждением проверки подлинности и обслуживанием маркеров для всех подключенных учетных записей.
Проверка подлинности с помощью брокера обеспечивает следующие преимущества:
- Включает один Sign-On (единый вход): Позволяет приложениям упростить проверку подлинности пользователей с помощью идентификатора Microsoft Entra и защитить маркеры обновления идентификатора Microsoft Entra от кражи и неправильного использования.
- Улучшенная безопасность: Многие улучшения безопасности предоставляются брокером без необходимости обновлять логику приложения.
- Расширенная поддержка функций: С помощью брокера разработчики могут получить доступ к расширенным возможностям ОС и службы.
- Интеграция системы: Приложения, использующие подключаемый модуль брокера с встроенным средство выбора учетных записей, позволяют пользователю быстро выбрать существующую учетную запись вместо повторного ввода одинаковых учетных данных.
- Защита маркеров: Гарантирует, что маркеры обновления привязаны к устройству и позволяют приложениям получать маркеры доступа, привязанные к устройству. См. раздел "Защита маркеров".
Windows предоставляет брокер проверки подлинности с именем диспетчера веб-учетных записей (WAM). WAM позволяет поставщикам удостоверений, таким как идентификатор Microsoft Entra, в собственном коде подключаться к ОС и предоставлять безопасные службы входа в приложения. Проверка подлинности с помощью брокера позволяет приложению выполнять все операции, разрешенные интерактивными учетными данными для входа.
Поддерживаются личные учетные записи Майкрософт и рабочие или учебные учетные записи. В поддерживаемых версиях Windows пользовательский интерфейс на основе браузера по умолчанию заменяется более плавной проверкой подлинности, аналогично встроенным приложениям Windows.
Linux использует единый вход Майкрософт для Linux в качестве брокера проверки подлинности.
Настройка приложения для проверки подлинности с помощью брокера
Чтобы включить проверку подлинности через брокер в приложении, выполните следующие действия.
На портале Azure перейдите к идентификатору Microsoft Entra и выберите регистрации приложений в меню слева.
Выберите регистрацию приложения, а затем выберите проверку подлинности.
Добавьте соответствующий URI перенаправления в регистрацию приложения с помощью конфигурации платформы:
В разделе "Конфигурации платформы" выберите +Добавить платформу.
В разделе "Настройка платформ" выберите плитку для типа приложения (платформы), чтобы настроить его параметры, такие как мобильные и классические приложения.
В пользовательских URI перенаправления введите следующий URI перенаправления для своей платформы:
Platform Перенаправляющий URI Windows 10+ или WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}macOS msauth.com.msauth.unsignedapp://authдля неподписанных приложений
msauth.{bundle_id}://authдля подписанных приложенийЛинукс https://login.microsoftonline.com/common/oauth2/nativeclientЗамените
{your_client_id}или{bundle_id}на идентификатор приложения (клиента) на панели обзора регистрации приложения.Выберите и настройте.
Дополнительные сведения см. в разделе "Добавление URI перенаправления в регистрации приложения".
Вернитесь на панель проверки подлинности в разделе "Дополнительные параметры" выберите "Да ", чтобы разрешить потоки общедоступного клиента.
Выберите Сохранить, чтобы применить изменения.
Чтобы авторизовать приложение для определенных ресурсов, перейдите к нужному ресурсу, выберите Разрешения API и включите Microsoft Graph и другие ресурсы, к которым вы хотите получить доступ.
Это важно
Вы также должны быть администратором вашего арендатора, чтобы предоставить согласие приложению, когда вы впервые входите в систему.
Назначьте роли
Чтобы успешно запустить код приложения с проверкой подлинности через брокер, предоставьте учетные записи пользователя разрешения с помощью управления доступом на основе ролей Azure (RBAC). Назначьте соответствующую роль учетной записи пользователя для соответствующей службы Azure. Рассмотрим пример.
- Хранилище BLOB-объектов Azure: назначение роли участника данных учетной записи хранения .
- Azure Key Vault: назначьте роль офицера секретов Key Vault .
Если указано приложение, оно должно иметь разрешения API для user_impersonation Доступ к хранилищу Azure (шаг 6 в предыдущем разделе). Это разрешение API позволяет приложению получить доступ к хранилищу Azure от имени пользователя, выполнившего вход после предоставления согласия во время входа.
Реализация кода
Библиотека удостоверений Azure поддерживает проверку подлинности через брокер с помощью InteractiveBrowserCredential. Например, чтобы использовать InteractiveBrowserCredential в консольном приложении Node.js для аутентификации в Azure Key Vault с помощью SecretClient, выполните следующие действия.
Установите пакеты @azure/identity и @azure/identity-broker :
npm install @azure/identity @azure/identity-brokerСоздайте экземпляр InteractiveBrowserCredential с использованием параметров брокера и зарегистрируйте нативный плагин брокера:
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity"; import { nativeBrokerPlugin } from "@azure/identity-broker"; // Register the native broker plugin for brokered authentication useIdentityPlugin(nativeBrokerPlugin); // Use InteractiveBrowserCredential with broker for interactive or silent authentication // On Windows: Uses Windows Authentication Manager (WAM) - you'll be prompted to sign in // On macOS: Opens a browser window for authentication, since the broker flow isn't currently supported. // On Linux: Uses Microsoft Single Sign-on (SSO) for Linux. const credential = new InteractiveBrowserCredential({ brokerOptions: { enabled: true, useDefaultBrokerAccount: true, // For Node.js console apps, we need to provide an empty buffer for parentWindowHandle parentWindowHandle: new Uint8Array(0), }, });
Подсказка
Просмотрите полный пример кода приложения в репозитории Azure SDK для JavaScript GitHub.
В предыдущем примере свойство useDefaultBrokerAccount имеет значение true, которое выбирает автоматический поток проверки подлинности брокера с помощью системной учетной записи по умолчанию. Таким образом, пользователю не нужно многократно выбирать одну и ту же учетную запись. Если автоматическая проверка подлинности с помощью брокера завершается ошибкой или useDefaultBrokerAccount задана, falseInteractiveBrowserCredential возвращается к интерактивной, брокерской проверке подлинности.
На следующем снимку экрана показан альтернативный интерактивный интерфейс проверки подлинности с брокером:
В следующем видео показано альтернативное интерактивное взаимодействие с проверкой подлинности с помощью брокера: