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

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

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

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

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

Типы политик

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

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

Управление дорожным движением

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

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

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

Медиация

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

Расширение

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

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

Внедрение изменений в политику

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

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

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

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

Если вы отправите более одного запроса в течение минуты, вы должны увидеть следующее сообщение об ошибке:

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

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

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

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

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

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

Для удовлетворения основных требований к управлению API-прокси обычно применяют следующие политики:

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

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

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

Схема обработки запросов:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Проверка ключа API
  4. Квота
  5. JSONToXML
Схема ответа:
  1. XMLToJSON
  2. ResponseCache