Ключи API

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

Ключ API (в Apigee Edge он называется ключом потребителя) – это строка, которую клиентское приложение передает прокси API. Ключ позволяет однозначно идентифицировать клиентское приложение.

Проверка ключа API – это самый простой способ защиты на основе приложений, который можно настроить для API. Клиентское приложение просто передает ключ API вместе с запросом, а Apigee Edge проверяет, разрешено ли использовать этот ключ API для запрошенного ресурса. Внутренние прокси-серверы используют правила для проверки подлинности ключа API.

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

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

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

  • Добавьте в прокси (те, которые вы включили в продукт API) правила, чтобы проверять действительность входящего ключа API.

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

Как работают ключи API

В Apigee Edge ключ API называется идентификатором клиента. При регистрации приложений разработчика Apigee Edge создает идентификатор клиента и секрет. Apigee Edge сохраняет ключ потребителя для дальнейшей проверки. Каждый идентификатор клиента в организации уникален. Разработчик приложения встраивает идентификатор клиента в клиентское приложение. Клиентское приложение должно предоставлять идентификатор клиента для каждого запроса. Сервисы API проверяют идентификатор клиента, прежде чем разрешить запрос приложения.

Общая последовательность действий

Ниже описано, как ключи API используются в Apigee Edge. Эти шаги также могут включать проверку безопасности OAuth, поскольку она часто используется в сочетании с ключами API.

  1. Создайте продукт API, включающий прокси API, которые нужно защитить с помощью ключа API.
  2. Вы регистрируете приложение разработчика в организации. При этом Apigee Edge создает идентификатор клиента и секретный код клиента.
  3. Свяжите приложение разработчика хотя бы с одним продуктом API. Именно этот продукт связывает пути к ресурсам и прокси API с одобрением ключа.
  4. Во время выполнения, когда клиентское приложение отправляет запрос к вашему API, оно передает ключ потребителя. На практике ключ потребителя может быть передан явным образом или неявно указан с помощью токена OAuth:
    • Если API использует проверку ключа API, например реализуя правило VerifyAPIKey, клиентское приложение должно явно передавать идентификатор клиента.
    • Если API использует проверку токена OAuth, например реализуя правило OAuthV2, клиентское приложение должно передать токен, полученный из ключа потребителя.
  5. Прокси API проверяет учетные данные запроса с помощью правила VerifyAPIKey или правила OAuthV2 с операцией VerifyAccessToken. Если вы не добавите в прокси API правило принудительного использования учетных данных, любой вызывающий объект сможет успешно вызывать ваши API. Подробнее о правилах проверки ключа API…

Проверка учетных данных запроса

Ниже приведена общая информация. Подробнее о настройке проверки ключа API…

  1. Если вы используете проверку токена OAuth, то есть реализовали правила OAuth для проверки и клиентское приложение передало токен OAuth:
    • Apigee Edge проверяет, не истек ли срок действия токена, а затем ищет идентификатор клиента, который использовался для создания токена.
  2. Если вы используете ключ API, то реализовали правило VerifyAPIKey и клиентское приложение передало ключ потребителя:
    1. Apigee Edge проверяет список продуктов API, с которыми связан идентификатор клиента.
    2. Edge проверяет каждый продукт API, чтобы узнать, включен ли текущий прокси API в продукт API и включен ли текущий путь к ресурсу (путь URL) в продукте API.
    3. Edge также проверяет, не истек ли срок действия или не отозван ли идентификатор клиента, не отозвано ли приложение и не является ли разработчик неактивным.
    4. Если все эти условия соблюдены (токен не просрочен, идентификатор клиента действителен и одобрен, приложение одобрено, разработчик активен, прокси доступен в продукте и ресурс доступен в продукте), проверка учетных данных будет успешной.