Рекомендации по обеспечению безопасности свойств приложения в идентификаторе Microsoft Entra

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

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

В этой статье описаны лучшие методики обеспечения безопасности для следующих свойств приложений:

  • URI-адрес перенаправления
  • Токены доступа (используются для неявных потоков)
  • Сертификаты и секреты
  • URI-адрес идентификатора приложения
  • Владение приложением

URI-адрес перенаправления

Важно поддерживать коды URI перенаправления для приложения в актуальном состоянии. В разделе Проверка подлинности для приложения на портале Azure необходимо выбрать платформу для приложения. Затем можно определить свойство URI перенаправления.

Screenshot that shows where the redirect U R I property is located.

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

  • Поддерживайте права владения всеми URI. Провал владения одним из URI перенаправления может привести к компрометации приложений.
  • Убедитесь, что все записи DNS обновляются и отслеживаются периодически для изменений.
  • Не используйте подстановочные знаки в URL-адресах ответов и небезопасных схем URI, например HTTP или URN.
  • Поддерживайте небольшой размер списка. Обрезайте ненужные URI. При возможности переводите URL-адреса со схемы HTTP на HTTPS.

Токены доступа (используются для неявных потоков)

В сценариях, требовавших использовать неявный поток, теперь можно применять поток кода авторизации, чтобы снизить риск компрометации, вызванной неправильным использованием неявных потоков. В разделе Проверка подлинности для приложения на портале Azure необходимо выбрать платформу для приложения. Затем можно определить свойство Маркеры доступа (используемые для неявных потоков).

Screenshot that shows where the implicit flow property is located.

Обратите внимание на следующие рекомендации, связанные с неявным потоком:

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

Сертификаты и секреты

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

Screenshot that shows where the certificates and secrets are located.

Обратите внимание на следующие рекомендации, связанные с сертификатами и секретами:

  • Обязательно используйте учетные данные на основе сертификата, если это возможно, и не используйте учетные данные на основе пароля, также называемые секретами. Хотя в качестве учетных данных удобно использовать секреты паролей, при возможности используйте исключительно сертификаты x509 при получении маркеров для приложения.
    • Настройте политики методов проверки подлинности приложений для управления использованием секретов, ограничив их время существования или блокируя их использование полностью.
  • Используйте Key Vault с управляемыми удостоверениями для управления учетными данными для приложения.
  • Если приложение используется только как общедоступное клиентское приложение (позволяет пользователям выполнять вход с помощью общедоступной конечной точки), убедитесь, что в объекте приложения не указаны учетные данные.
  • Проверяйте актуальность и срок действия учетных данных, используемых в приложении. Неиспользуемые учетные данные в приложении могут привести к нарушению безопасности. Часто выполняйте смену учетных данных и не используйте одни и те же учетные данные в разных приложениях. Не используйте много учетных данных для одного приложения.
  • Наблюдайте за рабочими конвейерами, чтобы предотвратить фиксацию любых учетных данных в репозиториях кода.
  • Сканер учетных данных — это средство статического анализа, с помощью которого можно обнаруживать учетные данные (и другое конфиденциальное содержимое) в исходном коде и выходных данных сборки.

URI-адрес идентификатора приложения

Свойство URI идентификатора приложения определяет глобальный уникальный URI, используемый для идентификации веб-API. Это префикс для областей и маркеров доступа, а также значение утверждения аудитории. Оно должно использовать проверенный домен, принадлежащий клиенту. Для мультитенантных приложений значение должно быть также глобально уникальным. Он также называется URI идентификатора. В разделе Предоставление API для приложения на портале Azure можно определить свойство URI идентификатора приложения.

Screenshot that shows where the Application I D U R I is located.

Обратите внимание на следующие рекомендации, связанные с определением URI идентификатора приложения:

  • Рекомендуется использовать схемы API или HTTPS-схемы URI. Задавайте свойство в поддерживаемых форматах, чтобы избежать конфликтов URI в организации. Не используйте подстановочные знаки.
  • Используйте проверенный домен в бизнес-приложениях.
  • Храните данные инвентаризации URI в своей организации, чтобы повысить уровень безопасности.
  • Используйте URI идентификатора приложения для предоставления webApi в организации. Не используйте URI идентификатора приложения для идентификации приложения и вместо этого используйте свойство идентификатора приложения (клиента).

Поддерживаются следующие форматы URI идентификатора приложения на основе схемы HTTP и API. Замените значения заполнителей, как описано в списке, что находится под таблицей.

Поддерживаемый идентификатор приложения
Форматы URI
Пример: URI идентификатора приложения
api://<appId> api://fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
api://<tenantId>/<appId> api://a8573488-ff46-450a-b09a-6eca0c6a02dc/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
api://<tenantId>/<string> api://a8573488-ff46-450a-b09a-6eca0c6a02dc/api
api://<строка>/<appId> api://productapi/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
https://<tenantInitialDomain>.onmicrosoft.com/<string> https://contoso.onmicrosoft.com/productsapi
https://<verifiedCustomDomain>/<string> https://contoso.com/productsapi
https://<string>.<verifiedCustomDomain> https://product.contoso.com
https://<string>.<verifiedCustomDomain>/<string> https://product.contoso.com/productsapi
  • <appId> — свойство идентификатора приложения (appId) объекта приложения.
  • <string> — строковое значение для узла или сегмента пути к API.
  • <tenantId> — идентификатор GUID, созданный Azure для представления клиента в Azure.
  • <tenantInitialDomain> - <tenantInitialDomain>.onmicrosoft.com, где <tenantInitialDomain> — это исходное доменное имя, которое создатель клиента задает при создании клиента.
  • <verifiedCustomDomain> — проверенный личный домен , настроенный для клиента Microsoft Entra.

Примечание.

Если вы используете схему api://, строковое значение нужно добавить непосредственно после "api://". Пример: api://<строка>. Это строковое значение может быть идентификатором GUID или произвольной строкой. Если добавить значение идентификатора GUID, оно должно совпадать с идентификатором приложения или идентификатором арендатора. Значение URI идентификатора приложения должно быть уникальным для вашего арендатора. Если вы добавите api://<tenantId> в качестве URI идентификатора приложения, никто другой не сможет использовать этот URI в другом приложении. Мы рекомендуем вместо этого использовать api://<appId> или схему HTTP.

Внимание

Значение URI идентификатора приложения не должно заканчиваться символом косой черты "/".

Настройка владения приложениями

Владельцы могут управлять всеми аспектами зарегистрированного приложения. Важно регулярно проверять права владения всеми приложениями в организации. Дополнительные сведения см. в обзоре доступа Microsoft Entra. В разделе Владельцы для приложения на портале Azure можно управлять владельцами приложения.

Screenshot that shows where owners of the application are managed.

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

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

Помощник по интеграции

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

Screenshot that shows where to find the integration assistant.

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