Настройка Службы приложений или приложения "Функции Azure" для использования имени для входа в Azure AD

в этой статье показано, как настроить проверку подлинности для службы приложений azure или функций azure, чтобы приложение подписывает пользователей с помощью платформа удостоверений Майкрософт (Azure AD) в качестве поставщика проверки подлинности.

функция проверки подлинности службы приложений может автоматически создать регистрацию приложения с платформа удостоверений Майкрософт. Кроме того, вы можете использовать регистрацию, которую вы или администратор каталога создали отдельно.

Примечание

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

Вариант 1. Автоматическое создание регистрации приложения

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

  1. Войдите на портал Azure и перейдите к своему приложению.

  2. В меню слева выберите пункт Проверка подлинности. Щелкните Добавить поставщика удостоверений.

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

    Секрет клиента будет создан и сохранен как параметр приложения , прикрепленный к гнезду с именем . Впоследствии этот параметр можно обновить, чтобы использовать ссылки Key Vault, если вы хотите управлять секретом в Azure Key Vault.

  4. Если это первый поставщик удостоверений, настроенный для приложения, вам будет также предложено заполнить раздел Параметры проверки подлинности Службы приложений. Без этого вы не сможете перейти к следующему шагу.

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

  5. (Необязательно) Нажмите кнопку Далее: разрешения и добавьте все области, необходимые для приложения. Они будут добавлены в регистрацию приложения, но впоследствии их можно будет изменить.

  6. Нажмите кнопку Добавить.

теперь вы можете использовать платформа удостоверений Майкрософт для проверки подлинности в приложении. Поставщик будет указан на экране Проверка подлинности. После этого вы сможете изменить или удалить эту конфигурацию поставщика.

Пример настройки имени входа в Azure AD для веб-приложения, которое обращается к Службе хранилища Azure и Microsoft Graph, см. в этом руководстве.

Вариант 2. использование существующей регистрации, созданной отдельно

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

Создание регистрации приложения в Azure AD для приложения Службы приложений

Сначала вы создадите регистрацию приложения. При этом вы соберете следующие сведения, которые потребуются позже при настройке проверки подлинности в приложении Службы приложений:

  • Идентификатор клиента
  • Tenant ID
  • секрет клиента (необязательно);
  • универсальный код ресурса (URI) идентификатора приложения.

Чтобы зарегистрировать приложение, выполните следующие действия:

  1. Войдите на портал Azure найдите и выберите Службы приложений, а затем выберите приложение. Запишите URL-адрес приложения. Он будет использоваться для настройки регистрации приложения Azure Active Directory.

  2. В меню портала выберите Azure Active Directory, откройте вкладку Регистрация приложений и выберите Создать регистрацию.

  3. На странице Регистрация приложения введите Имя для регистрации приложения.

  4. В окне URI перенаправлениявыберите веб и введите . Например, https://contoso.azurewebsites.net/.auth/login/aad/callback.

  5. Выберите Зарегистрировать.

  6. После создания регистрации приложения скопируйте идентификатор приложения (клиент) и идентификатор каталога (клиент) для дальнейшего использования.

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

  8. (Необязательно.) Выберите Фирменная символика. В поле URL-адрес домашней страницы введите URL-адрес приложения Службы приложений и выберите Сохранить.

  9. Выберите предоставить APIи нажмите кнопку Задать рядом с параметром URI идентификатора приложения. Это значение однозначно определяет приложение, когда оно используется в качестве ресурса, позволяя маркерам запрашивать доступ. Он используется в качестве префикса для создаваемых областей.

    Для приложения с одним клиентом можно использовать значение по умолчанию, которое имеет форму api://<application-client-id> . Можно также указать более удобочитаемый URI, например, на https://contoso.com/api основе одного из проверенных доменов для вашего клиента. Для приложения с несколькими клиентами необходимо указать пользовательский URI. Дополнительные сведения о допустимых форматах URI ИДЕНТИФИКАТОРов приложений см. в статье Справочник по регистрации приложений: рекомендации.

    Значение сохраняется автоматически.

  10. Нажмите Добавить группу.

    1. В поле Добавление областиURI идентификатора приложения — это значение, заданное на предыдущем шаге. Выберите Сохранить и продолжить.
    2. В разделе Имя области введите user_impersonation.
    3. В текстовых полях введите имя и описание области согласия, которые пользователи должны видеть на странице согласия. Например, введите Access имя > приложения.
    4. Выберите Добавить область.
  11. Используемых Чтобы создать секрет клиента, выберите Сертификаты секреты>>>>клиента. Введите описание и срок действия, а затем нажмите кнопку Добавить. Скопируйте значение секрета клиента, показанное на странице. Он больше не будет отображаться.

  12. (Необязательно) Чтобы добавить несколько URL-адресов ответа, выберите Проверка подлинности.

Включение Azure Active Directory в приложение Службы приложений

  1. Войдите на портал Azure и перейдите к своему приложению.

  2. В меню слева выберите пункт Проверка подлинности. Щелкните Добавить поставщика удостоверений.

  3. В раскрывающемся списке поставщиков удостоверений выберите пункт Майкрософт.

  4. В поле Тип регистрации приложения можно выбрать параметр Выбрать существующую регистрацию приложения в этом каталоге, который будет автоматически собирать необходимые сведения о приложении. Если регистрация выполняется из другого клиента или у вас нет разрешения на просмотр объекта регистрации, выберите параметр Указать сведения о существующей регистрации приложения. В этом случае вам нужно будет ввести следующие сведения о конфигурации.

    Поле Описание
    Идентификатор приложения (клиента) Используйте идентификатор приложения (клиент) регистрации приложения.
    Секрет клиента Используйте секрет клиента, созданный при регистрации приложения. В этом случае используется гибридный поток, а Служба приложений возвращает маркеры доступа и обновления. Если секрет клиента не задан, используется неявный поток и возвращается только маркер идентификатора. Эти маркеры отправляются поставщиком и хранятся в хранилище маркеров EasyAuth.
    Url-адрес издателя Используйте <authentication-endpoint>/<tenant-id>/v2.0 и замените <authentication-endpoint>/<tenant-id>/v2.0< (например, " https://login.microsoftonline.com" ; для глобального Azure) также можно заменить >https://login.microsoftonline.com" , в котором была создана регистрация приложения. Это значение используется для перенаправления пользователей в правильный клиент Azure AD, а также для скачивания соответствующих метаданных, чтобы определить, например, соответствующие ключи подписей маркера и значение утверждения поставщика маркеров. Для приложений, использующих Azure AD версии 1, не указывайте /v2.0 в URL-адресе.
    Разрешенные аудитории маркеров Если это облачное или серверное приложение и вы хотите разрешить использовать маркеры проверки подлинности из веб-приложения, введите в этом поле URI идентификатора приложения веб-приложения. Настроенный идентификатор клиентавсегда косвенно считается разрешенной аудиторией.

    Секрет клиента будет храниться как прикрепленный параметр приложения с именем . Впоследствии этот параметр можно обновить, чтобы использовать ссылки Key Vault, если вы хотите управлять секретом в Azure Key Vault.

  5. Если это первый поставщик удостоверений, настроенный для приложения, вам будет также предложено заполнить раздел Параметры проверки подлинности Службы приложений. Без этого вы не сможете перейти к следующему шагу.

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

  6. Нажмите кнопку Добавить.

теперь вы можете использовать платформа удостоверений Майкрософт для проверки подлинности в приложении. Поставщик будет указан на экране Проверка подлинности. После этого вы сможете изменить или удалить эту конфигурацию поставщика.

Настройка клиентских приложений для получения доступа к Службе приложений

В предыдущем разделе вы зарегистрировали Службу приложений или службу "Функции Azure" для проверки подлинности пользователей. В этом разделе объясняется, как регистрировать собственные клиентские или управляющие приложения, чтобы они могли запрашивать доступ к API, предоставляемым Службой приложений от имени пользователей или от собственного имени. Выполнение действий, описанных в этом разделе, не требуется, если вам нужна только проверка подлинности пользователей.

Собственное клиентское приложение

Вы можете регистрировать собственные клиенты для запроса доступа к API приложений Службы приложений от имени пользователя, выполнившего вход.

  1. В портал Azureвыберите Active DirectoryРегистрация приложенийНовая регистрация.

  2. На странице Регистрация приложения введите Имя для регистрации приложения.

  3. В поле URI перенаправлениявыберите общедоступный клиент (мобильный Рабочий стол) и введите URL-адрес . Например, https://contoso.azurewebsites.net/.auth/login/aad/callback.

    Примечание

    Для приложения Microsoft Store вместо этого используйте идентификатор безопасности пакета в качестве универсального код ресурса (URI).

  4. Нажмите кнопку создания.

  5. После создания регистрации приложения скопируйте значение идентификатора приложения (клиент) .

  6. Выберите Разрешения APIДобавить разрешениеМои API.

  7. Выберите регистрацию приложения, созданную ранее для приложения Службы приложений. Если регистрация приложения не отображается, убедитесь, что вы добавили область user_impersonation в разделе Создание регистрации приложения в Azure AD для приложения Службы приложений.

  8. В разделе Делегированные разрешения выберите user_impersonation и Добавить разрешения.

Теперь вы настроили собственное клиентское приложение, способное запрашивать доступ к вашему приложению Службы приложений от имени пользователя.

Управляющее клиентское приложение (вызовы между службами)

Приложение может получить маркер для вызова веб-интерфейса API, размещенного в Службе приложений или приложении-функции, от собственного имени (а не от имени пользователя). Такой сценарий подходит для неинтерактивных управляющих приложений, которые выполняют свои задачи без входа пользователя в систему. В нем используется стандартное предоставление учетных данных клиента OAuth 2.0.

  1. В портал Azureвыберите Active DirectoryРегистрация приложенийНовая регистрация.
  2. На странице Регистрация приложения введите значение в поле Имя для регистрации управляющего приложения.
  3. Для управляющего приложения не требуется URI перенаправления, поэтому это поле можно оставить пустым.
  4. Нажмите кнопку создания.
  5. После создания регистрации приложения скопируйте значение идентификатора приложения (клиент) .
  6. Выберите Сертификаты секреты>>>>. Скопируйте значение секрета клиента, показанное на странице. Он больше не будет отображаться.

Теперь можно запросить маркер доступа с помощью идентификатора клиента и секрета клиента , задав параметру URI идентификатора приложения целевого приложения. Полученный маркер доступа можно представить целевому приложению через стандартный заголовок авторизации OAuth 2.0, а система проверки подлинности и авторизации в Службе приложений проверит и применит маркер обычным образом, чтобы подтвердить подлинность вызывающего объекта (которым в этом сценарии является приложение, а не пользователь).

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

  1. Определите роль приложения в манифесте регистрации, который определяет защищаемую Службу приложений или приложение-функцию.
  2. На странице Регистрация приложения, представляющая клиента, которому необходимо авторизовать, выберите разрешения APIДобавить разрешенияMy API.
  3. Выберите созданную ранее регистрацию приложения. Если регистрация приложения здесь не отображается, убедитесь, что вы добавили роль приложения.
  4. В разделе Разрешения приложения выберите созданную ранее роль приложения, а затем выберите Добавить разрешения.
  5. Обязательно щелкните элемент Предоставить согласие администратора, чтобы разрешить клиентскому приложению запрашивать разрешение.
  6. Как и в предыдущем сценарии (до добавления ролей), теперь можно запросить маркер доступа для того же целевого объекта , и маркер доступа будет включать roles утверждение, содержащее роли приложения, которые были разрешены для клиентского приложения.
  7. В коде целевой Службы приложений или приложения-функции теперь можно проверить наличие ожидаемых ролей в маркере (эта операция не выполняется системой проверки подлинности и авторизации в Службе приложений). Дополнительные сведения см. в разделе Access user claims (Доступ к утверждениям пользователя).

Итак, вы настроили для клиентского приложения управляющей программы возможность доступа к приложению Службы приложений с собственным идентификатором.

Рекомендации

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

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

Следующие шаги