Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Проверка подлинности через брокер собирает учетные данные пользователя с помощью брокера проверки подлинности системы для проверки подлинности приложения. Системный брокер проверки подлинности — это приложение, работающее на компьютере пользователя и управляющее процессами аутентификации и токенами для всех подключенных учетных записей.
Проверка подлинности с помощью брокера обеспечивает следующие преимущества:
- Поддерживает единый вход (SSO): Позволяет приложениям упростить аутентификацию пользователей с помощью Microsoft Entra ID и защищает токены обновления Microsoft Entra ID от кражи и неправомерного использования.
- Улучшенная безопасность: Многие улучшения безопасности предоставляются брокером без необходимости обновлять логику приложения.
- Расширенная поддержка функций: С помощью брокера разработчики могут получить доступ к расширенным возможностям ОС и службы.
- Интеграция системы: Приложения, использующие подключаемый модуль брокера с встроенным средство выбора учетных записей, позволяют пользователю быстро выбрать существующую учетную запись вместо повторного ввода одинаковых учетных данных.
- Защита маркеров: Гарантирует, что маркеры обновления привязаны к устройству и позволяют приложениям получать маркеры доступа, привязанные к устройству. См. раздел "Защита маркеров".
В Windows имеется брокер аутентификации под названием Диспетчер веб-учетных записей (WAM). WAM позволяет поставщикам удостоверений, таким как идентификатор Microsoft Entra, в собственном коде подключаться к ОС и предоставлять безопасные службы входа в приложения. Проверка подлинности с помощью брокера позволяет приложению выполнять все операции, разрешенные интерактивными учетными данными для входа.
Поддерживаются личные учетные записи Майкрософт и рабочие или учебные учетные записи. В поддерживаемых версиях Windows пользовательский интерфейс на основе браузера по умолчанию заменяется более плавной проверкой подлинности, аналогично встроенным приложениям Windows.
Linux использует единый вход Microsoft для 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 задано значение false, InteractiveBrowserCredential переключается на интерактивную аутентификацию через брокер.
На следующем снимку экрана показан альтернативный интерактивный интерфейс проверки подлинности с брокером:
В следующем видео показано альтернативное интерактивное взаимодействие с проверкой подлинности с помощью брокера: