Дополнительные методы проверки подлинности в ресурсах Azure из приложений .NET

В этой статье перечислены дополнительные методы, которые могут использоваться для проверки подлинности в ресурсах Azure. Методы на этой странице реже используются; По возможности используйте один из методов, описанных в проверке подлинности приложений .NET в Azure с помощью обзора пакета SDK Azure.

интерактивная аутентификация через браузер;

Этот метод интерактивно проходит проверку подлинности приложения InteractiveBrowserCredential , собирая учетные данные пользователя в системе по умолчанию.

Интерактивная проверка подлинности в браузере позволяет приложению выполнять все операции, разрешенные интерактивными учетными данными для входа. В результате, если вы являетесь владельцем или администратором подписки, код имеет собственный доступ к большинству ресурсов в этой подписке, не назначая какие-либо определенные разрешения. По этой причине использование интерактивной проверки подлинности браузера не рекомендуется для всего, кроме экспериментирования.

Включение приложений для интерактивной проверки подлинности браузера

Выполните следующие действия, чтобы разрешить приложению проходить проверку подлинности через интерактивный поток браузера. Эти действия также работают для потока проверки подлинности кода устройства, описанного далее. Этот процесс необходим только при использовании InteractiveBrowserCredential в коде.

  1. В портал Azure перейдите к идентификатору Microsoft Entra и выберите Регистрация приложений в области навигации слева.

  2. Выберите регистрацию приложения, а затем выберите проверку подлинности.

  3. В разделе "Дополнительные параметры" выберите "Да", чтобы разрешить потоки общедоступных клиентов.

  4. Выберите Сохранить, чтобы применить изменения.

  5. Чтобы авторизовать приложение для определенных ресурсов, перейдите к ресурсу, найдите вопрос, выберите разрешения API и включите Microsoft Graph и другие ресурсы, к которым вы хотите получить доступ. Microsoft Graph обычно включен по умолчанию.

    Внимание

    Вы также должны быть администратором вашего клиента, чтобы предоставить согласие приложению при первом входе.

Пример использования InteractiveBrowserCredential

В следующем примере показано использование проверки подлинности с помощью InteractiveBrowserCredentialBlobServiceClient:

using Azure.Identity;
using Azure.Storage.Blobs;

namespace InteractiveBrokeredAuthSample
{
    public partial class InteractiveBrowserAuth : Form
    {
        public InteractiveBrowserAuth()
        {
            InitializeComponent();
        }

        private void testInteractiveBrowserAuth_Click(object sender, EventArgs e)
        {
            var client = new BlobServiceClient(
                new Uri("https://<storage-account-name>.blob.core.windows.net"),
                new InteractiveBrowserCredential());

            foreach (var blobItem in client.GetBlobContainers())
            {
                Console.WriteLine(blobItem.Name);
            }
        }
    }
}

Для более точного элемента управления, например задания URI перенаправления, можно указать конкретные аргументы InteractiveBrowserCredential , redirect_uriнапример.

аутентификация с помощью кода устройства;

Этот метод интерактивно выполняет проверку подлинности пользователя на устройствах с ограниченным пользовательским интерфейсом (обычно устройства без клавиатуры):

  1. Когда приложение пытается пройти проверку подлинности, учетные данные запрашивают у пользователя URL-адрес и код проверки подлинности.
  2. Пользователь посещает URL-адрес на отдельном устройстве с поддержкой браузера (компьютер, смартфон и т. д.) и вводит код.
  3. Пользователь следует обычному процессу проверки подлинности в браузере.
  4. После успешной проверки подлинности приложение проходит проверку подлинности на устройстве.

Дополнительные сведения см. в статье Платформа удостоверений Майкрософт и поток предоставления авторизации устройства OAuth 2.0.

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