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


Настройка или изменение политик службы управления API Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни управления API

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

Редактор политик на портале предоставляет интерактивные формы для издателей API, с помощью которых можно добавлять и изменять политики в определениях политик. Вы также можете изменить XML непосредственно в редакторе кода политики.

Дополнительные сведения о политиках:

Предварительные условия

Если у вас еще нет экземпляра управления API и API бэкенда, обратитесь к:

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

  1. На портале Azure найдите и выберите службы управления API:

    снимок экрана, на котором показаны службы управления API в результатах поиска.

  2. На странице управления API выберите ваш экземпляр службы управления API:

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

Настройка политики на портале

В следующем примере показано, как настроить политику с помощью двух вариантов в редакторе политик на портале:

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

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

Примечание.

Политики можно настроить на других уровнях, например, для всех API, продукта или одной операции API. Другие примеры см. далее в этой статье в разделе Настройка области.

Чтобы настроить политику, сделайте следующее:

  1. В левой части навигационного меню вашего экземпляра управления API выберите API.

  2. Выберите ранее импортированный API.

  3. Выберите вкладку Конструктор.

  4. Чтобы применить политику ко всем операциям, выберите Все операции.

  5. В разделе Обработка входящих данных выберите + Добавить политику.

    Добавление политики в Управление API

  6. В разделе Добавление политики входящих запросов выберите нужную политику, Например, выберите Фильтр IP-адресов.

    Фильтрация политики IP-адресов

    Подсказка

    • Отображаемые политики относятся к разделу политики, который вы настраиваете - в данном случае для обработки входящих запросов.
    • Если вы не видите нужную политику, выберите плитку Другие политики. Откроется редактор кода XML и отобразится полный список политик для этого раздела и области.
  7. Выберите Разрешенные IP-адреса>+ Добавить фильтр IP-адресов и добавьте первый и последний IP-адреса диапазона входящих адресов, которым разрешено выполнять запросы API. При необходимости добавьте другие диапазоны IP-адресов.

    Настройка разрешенных IP-адресов

  8. Выберите Сохранить, чтобы немедленно применить изменения к шлюзу Управления API.

    Политика ip-filter отобразится в разделе Обработка входящих запросов.

Настройка политик в различных областях

Управление API позволяет гибко настраивать определения политик в нескольких областях в каждом из разделов политик.

Внимание

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

Примечание.

Раздел политики Серверная часть может содержать только один элемент политики. По умолчанию Управление API настраивает политику forward-request в разделе Серверная часть в глобальной области и элемент base в других областях.

Глобальная область

Глобальная область настраивается для всех API вашего экземпляра API Management.

  1. В панели навигации слева в вашем экземпляре API Management выберите API>Все API.

  2. Выберите вкладку Конструктор.

    Настройка политики в области продукта

  3. В разделе политики выберите + Добавить политику, чтобы воспользоваться редактором политик на основе форм, или выберите значок </> (редактор кода), чтобы напрямую добавить и изменить код XML.

  4. Выберите Сохранить, чтобы немедленно применить изменения к шлюзу Управления API.

Область продукта

Область продукта настраивается для выбранного продукта.

  1. В меню слева выберите Продукты, а затем выберите продукт, к которому требуется применить политики.

  2. В окне продукта выберите Политики.

    Настройка политики в глобальной области

  3. В разделе политики выберите + Добавить политику, чтобы воспользоваться редактором политик на основе форм, или выберите значок </> (редактор кода), чтобы напрямую добавить и изменить код XML.

  4. Выберите Сохранить, чтобы немедленно применить изменения к шлюзу Управления API.

Область API

Область API настраивается для всех операций выбранного API.

  1. В левой области навигации экземпляра Управления API выберите API и выберите API, к которому вы хотите применить политики.

  2. Выберите вкладку Конструктор.

  3. Выберите Все операции.

    Настройка политики в области API

  4. В разделе политики выберите + Добавить политику, чтобы воспользоваться редактором политик на основе форм, или выберите значок </> (редактор кода), чтобы напрямую добавить и изменить код XML.

  5. Выберите Сохранить, чтобы немедленно применить изменения к шлюзу Управления API.

Область операций

Область операций настраивается для выбранной операции API.

  1. В левой части навигационного меню вашего экземпляра управления API выберите API.

  2. Выберите вкладку Конструктор.

  3. Выберите операцию, к которой нужно применить политики.

    Настройка политики на уровне операций

  4. В разделе политики выберите + Добавить политику, чтобы воспользоваться редактором политик на основе форм, или выберите значок </> (редактор кода), чтобы напрямую добавить и изменить код XML.

  5. Выберите Сохранить, чтобы немедленно применить изменения к шлюзу Управления API.

Повторное использование конфигураций политик

Вы можете создавать многократно используемые фрагменты политики в экземпляре API Management. Фрагменты политики имеют формат XML и содержат конфигурации для одной или нескольких политик. Фрагменты политик помогают согласованно настраивать политики и обслуживать определения политик без необходимости повторного использования или ввода XML-кода.

Используйте политику include-fragment для вставки фрагмента политики в определение политики.

Использование элемента base для настройки порядка оценки политик

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

В Управлении API определите порядок оценки политик, поместив элемент base в каждом разделе определения политики в каждой области. Элемент base наследует политики, настроенные в этом разделе, на следующем более широком (родительском) уровне. Элемент base включается по умолчанию в каждый раздел политики.

Примечание.

Чтобы просмотреть действующие политики в текущей области, выберите Вычислить действующую политику в редакторе политик.

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

  1. Начните с определения самого узкого охвата, который вы настроили, который API Management применит первым.

    Например, при использовании определений политик, настроенных в глобальной области и области API, начните с настройки в области API.

  2. Поместите элемент base в раздел, чтобы определить, как наследовать все политики из соответствующего раздела родительского уровня.

    Например, в разделе inbound, конфигурируемом в области API, поместите элемент base, чтобы управлять тем, где наследуются политики, настроенные в разделе inbound в глобальной области. В следующем примере политики, унаследованные из глобальной области, применяются перед политикой ip-filter.

    <policies>
      <inbound>
          <base />
            <ip-filter action="allow">
                <address>10.100.7.1</address>
            </ip-filter>
      </inbound>
      [...]
    </policies>
    

    Примечание.

    • Элемент base можно разместить до или после любого элемента политики в разделе.
    • Если вы хотите предотвратить наследование политик из родительской области, удалите элемент base. Но в большинстве случаев это не рекомендуется. Однако это может быть полезно в определенных ситуациях, например, если вы хотите применить различные политики к конкретной операции, отличные от тех, что настроены для области охвата API (все операции).
  3. Продолжите настройку элемента base в определениях политик в более широких областях.

    Для политики с глобальной областью не существует родительской области, поэтому использовать в ней элемент base бесполезно.

Воспользуйтесь помощью Copilot

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

  • Microsoft Copilot в Azure предоставляет помощь по разработке политик с запросами на естественном языке на портале Azure. Вы можете создать политики в редакторе политик управления API и попросить Copilot объяснить разделы политики.
  • GitHub Copilot для Azure в Visual Studio Code предоставляет помощь по разработке политик в Visual Studio Code, и вы можете использовать расширение управления API Azure для Visual Studio Code для ускорения настройки политики. Вы можете использовать естественный язык, чтобы запросить у Copilot Chat или Copilot Edits создание и уточнение определений политики на месте.

Пример запроса:

Generate a policy that adds an Authorization header to the request with a Bearer token.

Copilot работает на основе искусственного интеллекта, поэтому возможны сюрпризы и ошибки. Подробности см. в Общие вопросы об использовании Copilot.

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