Вы просматриваете документацию по 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.
- Создайте продукт API, включающий прокси API, которые нужно защитить с помощью ключа API.
- Вы регистрируете приложение разработчика в организации. При этом Apigee Edge создает идентификатор клиента и секретный код клиента.
- Свяжите приложение разработчика хотя бы с одним продуктом API. Именно этот продукт связывает пути к ресурсам и прокси API с одобрением ключа.
- Во время выполнения, когда клиентское приложение отправляет запрос к вашему API, оно передает ключ потребителя. На практике ключ потребителя может быть передан явным образом или неявно указан с помощью токена OAuth:
- Если API использует проверку ключа API, например реализуя правило VerifyAPIKey, клиентское приложение должно явно передавать идентификатор клиента.
- Если API использует проверку токена OAuth, например реализуя правило OAuthV2, клиентское приложение должно передать токен, полученный из ключа потребителя.
- Прокси API проверяет учетные данные запроса с помощью правила VerifyAPIKey или правила OAuthV2 с операцией VerifyAccessToken. Если вы не добавите в прокси API правило принудительного использования учетных данных, любой вызывающий объект сможет успешно вызывать ваши API. Подробнее о правилах проверки ключа API…
Проверка учетных данных запроса
Ниже приведена общая информация. Подробнее о настройке проверки ключа API…
- Если вы используете проверку токена OAuth, то есть реализовали правила OAuth для проверки и клиентское приложение передало токен OAuth:
- Apigee Edge проверяет, не истек ли срок действия токена, а затем ищет идентификатор клиента, который использовался для создания токена.
- Если вы используете ключ API, то реализовали правило VerifyAPIKey и клиентское приложение передало ключ потребителя:
- Apigee Edge проверяет список продуктов API, с которыми связан идентификатор клиента.
- Edge проверяет каждый продукт API, чтобы узнать, включен ли текущий прокси API в продукт API и включен ли текущий путь к ресурсу (путь URL) в продукте API.
- Edge также проверяет, не истек ли срок действия или не отозван ли идентификатор клиента, не отозвано ли приложение и не является ли разработчик неактивным.
- Если все эти условия соблюдены (токен не просрочен, идентификатор клиента действителен и одобрен, приложение одобрено, разработчик активен, прокси доступен в продукте и ресурс доступен в продукте), проверка учетных данных будет успешной.