Что такое политика?

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Apigee Edge позволяет вам «программировать» поведение API без написания кода, используя «политики». Политика подобна модулю, реализующему конкретную ограниченную функцию управления. Политики предназначены для того, чтобы вы могли легко и надежно добавлять в API общие типы возможностей управления. Политики предоставляют такие функции, как безопасность, ограничение скорости, преобразование и посредничество, что избавляет вас от необходимости писать код и поддерживать эту функциональность самостоятельно.

Вы не ограничены набором типов политик, предоставляемых Apigee Edge. Вы также можете писать собственные сценарии и код (например, приложения JavaScript и Node.js), которые расширяют функциональность прокси-сервера API и позволяют внедрять инновации помимо базовых возможностей управления, поддерживаемых политиками Apigee.

Посмотрите это видео, чтобы получить представление о прикреплении и применении политик.

Типы политик

Технически политика представляет собой файл конфигурации в формате XML. Структура каждого типа политики (например, обязательные и дополнительные элементы конфигурации) определяется схемой XML . Если вы хорошо владеете инструментами XML, стоит ознакомиться со схемами политик в примерах платформы API на Github.

Типы Edge Policy сгруппированы в следующие функциональные категории:

Управление трафиком

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

Безопасность

Политики в категории безопасности поддерживают аутентификацию, авторизацию, а также безопасность на основе контента.

Посредничество

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

Расширение

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

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

Развертывание изменений политики

Чтобы изменения политики вступили в силу, необходимо развернуть версию прокси-сервера API в среде. После того как вы прикрепите политику или внесете изменения в существующую политику, используйте пользовательский интерфейс управления или API управления для развертывания изменений.

Проверка соблюдения политики

Чтобы убедиться, что политика применяется должным образом, API должен быть вызван HTTP-клиентом. Чтобы проверить эту конфигурацию квоты, отправьте несколько запросов к API, превысив предел квоты, установленный в политике квот. (Путь URI, настроенный как базовый путь в ProxyEndpoint, в запросе ниже — /weather ).

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

После отправки более 1 запроса в течение минуты вы увидите следующее сообщение об ошибке:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Это означает, что политика квот применяется службами API.

Обработка ошибок на основе политик

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

Дополнительную информацию об обработке ошибок см. в разделе Обработка ошибок .

Передовой опыт: общие наборы политик

Чтобы удовлетворить базовые требования к управлению, прокси-серверы API обычно применяют следующие политики:

Базовая проверка ключа API

Поток запроса ProxyEndpoint:
  1. СпайкАрест
  2. XMLThreatProtection или JSONThreatProtection
  3. Проверка ключа API
  4. Квота
  5. ResponseCache
Поток ответа ProxyEndpoint:
  1. ResponseCache

Базовое преобразование: JSON в XML

Поток запроса:
  1. СпайкАрест
  2. JSONЗащита от угроз
  3. Проверка ключа API
  4. Квота
  5. JSONToXML
Поток ответа:
  1. XMLToJSON
  2. ResponseCache