Поделиться через


Устойчивые интерфейсы с внешними процессами

В этой статье содержатся рекомендации о том, как планировать и внедрять RESTful API в путь взаимодействия пользователя и сделать приложение более устойчивым к сбоям API.

Image shows interfaces with external process components

Обеспечение правильного размещения API-интерфейсов

Политики IEF позволяют вызывать внешнюю систему с помощью технического профиля API RESTful. Внешние системы не контролируются средой выполнения IEF и являются потенциальной точкой сбоя.

Управление внешними системами с помощью API

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

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

  • По возможности удаляйте вызовы API из пути с предварительной проверкой подлинности. Если это сделать невозможно, вы должны установить строгую защиту от атак DoS и DDoS перед API. Злоумышленники могут загрузить страницу входа и попытаться потопить API атаками DoS и отключить приложение. Уберечься от этого вам может помочь, например, использование при входе и регистрации средства CAPTCHA.

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

  • Технические профили API RESTful в Azure AD B2C не предоставляют никакого поведения кэширования. Вместо этого профиль RESTful API реализует логику повтора и время ожидания, встроенное в политику.

  • Для API-интерфейсов, которым нужен доступ на запись данных, задачу нужно поставить в очередь. Это позволит обеспечить выполнение таких задач в фоновой рабочей роли. Можно использовать такие службы, как Очереди Azure. Эта практика позволяет эффективно возвращать API и повысить производительность выполнения политики.

Обработка ошибок API

Поскольку интерфейсы API находятся за пределами системы Azure AD B2C, в техническом профиле требуется правильная обработка ошибок. Убедитесь, что пользователь проинформирован об этом должным образом, и что приложение сможет корректно справляться с ошибками.

Как правильно обрабатывать ошибки API

Рекомендации по управлению API

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

Управление интерфейсами API

  • Управление API (APIM) позволяет публиковать, управлять и анализировать интерфейсы API. APIM также обрабатывает проверку подлинности для обеспечения безопасного доступа к серверным службам и микрослужбам. Используйте шлюз API для горизонтального увеличения масштаба развертываний API, кэширования и балансировки нагрузки.

  • Мы рекомендуем получить правильный маркер в начале пути взаимодействия пользователя, а не многократно вызывать для каждого API, а также защитить APIM API Azure.

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