Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Что вы узнаете
В этом уроке вы научитесь:
- Создайте API-прокси, для работы которого требуется API-ключ.
- Добавить продукт API.
- Добавьте разработчика и зарегистрируйте приложение.
- Вызывайте свой API, используя ключ API.
Важно защитить свой API от несанкционированного доступа. Один из способов сделать это — использовать ключи API (также называемые открытыми ключами , ключами потребителей или ключами приложений ).
Когда приложение отправляет запрос к вашему API, оно должно предоставить действительный ключ. Во время выполнения политика проверки ключа API проверяет, соответствует ли предоставленный ключ API следующим требованиям:
- Действителен
- Не отозвано
- Соответствует ключу API для продукта API, который предоставляет запрошенные ресурсы.
Если ключ действителен, запрос разрешен. Если ключ недействителен, запрос завершится ошибкой авторизации.
В этом руководстве вы создадите API-прокси, для доступа к которому требуется действительный API-ключ.
Что вам понадобится
- Учетная запись Apigee Edge. Если у вас ее еще нет, вы можете зарегистрироваться, следуя инструкциям в разделе «Создание учетной записи Apigee Edge» .
- Веб-браузер для выполнения вызова API.
- (Для дополнительного задания не требуется) На вашем компьютере должен быть установлен cURL для выполнения вызовов API из командной строки.
Создайте API-прокси.
- Перейдите по ссылке https://apigee.com/edge и войдите в систему.
Чтобы переключиться на нужную организацию, щелкните по своему имени пользователя в верхней части боковой панели навигации, чтобы отобразить меню профиля пользователя, а затем выберите организацию из списка.

Чтобы отобразить список API-прокси, нажмите на кнопку «API-прокси» на главной странице.

- Click + Proxy .

- На странице «Создать прокси» выберите «Обратный прокси» (наиболее распространенный вариант) .
- На странице «Подробности о прокси-сервере» настройте прокси-сервер следующим образом:
В этой области сделайте это Имя прокси Введите: helloworld_apikeyБазовый путь проекта Изменить на:
/helloapikeyБазовый путь проекта является частью URL-адреса, используемого для отправки запросов к API-прокси.
Примечание : Рекомендации Apigee по версионированию API см. в электронной книге « Версионирование в проектировании веб-API: недостающее звено» .
Существующий API Введите:
http://mocktarget.apigee.netЭто определяет целевой URL-адрес, который Apigee Edge вызывает при запросе к API-прокси.
Описание Введите: hello world protected by API key - Нажмите «Далее» .
- На странице «Общие политики» в разделе «Безопасность: Авторизация» выберите «Ключ API» и нажмите «Далее» . Это добавит две политики к вашему API-прокси.
- На странице «Виртуальные хосты» выберите «по умолчанию» и «безопасный» , а затем нажмите «Далее» . Выбор «по умолчанию» позволит вам вызывать API по адресу
http://. Выбор «безопасный» позволит вам вызывать API по адресуhttps://. - На странице «Сводка» убедитесь, что выбрана тестовая среда развертывания, а затем нажмите «Создать и развернуть» .
- Вы увидите подтверждение того, что ваш новый API-прокси и API-продукт были успешно созданы, а также что API-прокси был развернут в вашей тестовой среде.
- Нажмите «Редактировать прокси» , чтобы отобразить страницу обзора API-прокси.
Ознакомьтесь с правилами
- В редакторе API-прокси перейдите на вкладку «Разработка» . Вы увидите, что в поток запросов API-прокси добавлены две политики:
- Проверка ключа API: проверяет вызов API, чтобы убедиться в наличии действительного ключа API (передаваемого в качестве параметра запроса).
- Удалить параметр запроса apikey: политика AssignMessage, которая удаляет ключ API после его проверки, чтобы он не передавался и не был ненужным образом раскрыт.
Щелкните значок политики «Проверка ключа API» в представлении потока и просмотрите XML-конфигурацию политики в нижнем окне кода. Элемент
<APIKey>указывает политике, где она должна искать ключ API при выполнении вызова. По умолчанию она ищет ключ в качестве параметра запроса с именемapikeyв HTTP-запросе:<APIKey ref="request.queryparam.apikey" />
Имя
apikeyпроизвольное и может представлять собой любое свойство, содержащее ключ API.
Попробуйте вызвать API.
На этом этапе вы успешно выполните вызов API непосредственно к целевому сервису, а затем выполните неудачный вызов к прокси-серверу API, чтобы проверить, насколько он защищен политиками безопасности.
Успех
В веб-браузере перейдите по следующему адресу. Это целевой сервис, на который настроен API-прокси для переадресации запроса, но пока вы будете обращаться к нему напрямую:
http://mocktarget.apigee.net
В ответ вы должны получить следующее сообщение об успешном завершении:
Hello, Guest!Отказ
Теперь попробуйте обратиться к своему API-прокси:
http://ORG_NAME-test.apigee.net/helloapikey
замените
ORG_NAMEна название вашей организации Edge.Без политики проверки ключа API этот вызов даст тот же ответ, что и предыдущий. Но в этом случае вы должны получить следующий ответ об ошибке:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
Это, совершенно верно, означает, что вы не передали действительный ключ API (в качестве параметра запроса).
На следующих этапах вы добавите продукт API.
Добавить продукт API
Чтобы добавить продукт API с помощью пользовательского интерфейса Apigee:
- Выберите «Опубликовать» > «Продукты API» .
- Нажмите +API Продукт .
Введите подробные сведения о вашем API-продукте.
Поле Описание Имя Внутреннее имя API-продукта. Не указывайте специальные символы в имени.
Примечание: После создания API-продукта изменить его название невозможно. Например,helloworld_apikey-Product.Отображаемое имя Отображаемое имя для продукта API. Отображаемое имя используется в пользовательском интерфейсе, и вы можете изменить его в любое время. Если не указано, будет использоваться значение Name. Это поле автоматически заполняется значением Name; вы можете редактировать или удалять его содержимое. Отображаемое имя может содержать специальные символы. Например, helloworld_apikey-Product.Описание Описание API-продукта. Например, Test product for tutorial.Среда Среды, к которым API-продукт предоставит доступ. Например, testилиprod.Доступ Выберите «Общедоступный» . Автоматическое одобрение запросов на доступ Включите автоматическое подтверждение запросов на ввод ключей для этого API-продукта из любого приложения. Квота В этом уроке это можно проигнорировать. Разрешенные области действия OAuth В этом уроке это можно проигнорировать. - В разделе ресурсов API выберите только что созданный вами API-прокси. Например,
helloworld_apikey. - Нажмите «Добавить» .
- В разделе «Пути» добавьте путь «/».
- Нажмите «Добавить» .
- Нажмите « Сохранить ».
На следующих этапах вы получите необходимый API-ключ.
Добавьте разработчика и приложение в свою организацию.
Далее мы смоделируем рабочий процесс регистрации разработчика для использования ваших API. У разработчика будет одно или несколько приложений, которые вызывают ваши API, и каждое приложение получает уникальный ключ API. Это дает вам, поставщику API, более детальный контроль над доступом к вашим API и более детальную отчетность по трафику API по приложениям.
Создать разработчика
Чтобы создать разработчика:
- В меню выберите «Опубликовать» > «Разработчики» .
- Click + Developer .
В окне «Новый разработчик» введите следующее:
В этой области входить Имя KeyserФамилия SozeИмя пользователя keyserЭлектронная почта keyser@example.com- Нажмите «Создать» .
Зарегистрируйте приложение
Для регистрации приложения разработчика:
- Выберите «Опубликовать» > «Приложения» .
- Click + App .
В окне создания нового приложения введите следующее:
В этой области сделайте это пИмя и отображаемое имя Введите: keyser_appКомпания / Разработчик Выберите: DeveloperРазработчик Выберите: Keyser Soze (keyser@example.com)URL-адрес обратного вызова и примечания Оставьте пустым - В разделе «Учетные данные» выберите «Никогда» в меню «Срок действия» . Срок действия учетных данных для этого приложения никогда не истечет.
- В разделе «Товары» нажмите «Добавить товар» .
- Выберите helloworld_apikey-Product .
- Нажмите «Добавить» .
- Чтобы сохранить изменения, нажмите кнопку «Создать» выше и справа от раздела «Подробности приложения» .
Получите ключ API
Чтобы получить ключ API:
- На странице «Приложения» ( Опубликовать > Приложения ) нажмите keyser_app .
На странице keyser_app в разделе « Учетные данные» нажмите «Показать» рядом с пунктом «Ключ» . В разделе «Продукт» обратите внимание, что ключ связан с helloworld_apikey.
.

- Выделите и скопируйте ключ . Он понадобится вам на следующем шаге.
Вызовите API, используя ключ.
Теперь, когда у вас есть ключ API, вы можете использовать его для вызова прокси-сервера API. Введите следующее в веб-браузере. Замените ORG_NAME на название вашей организации Edge, а API_KEY — на ключ API. Убедитесь, что в параметре запроса нет лишних пробелов.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
Теперь при обращении к API-прокси вы должны получить следующий ответ: Hello, Guest!
Поздравляем! Вы создали API-прокси и защитили его, потребовав включения действительного API-ключа в вызов.
Обратите внимание, что в целом передавать ключ API в качестве параметра запроса не рекомендуется. Лучше передавать его в заголовке HTTP-запроса .
Рекомендация: передавать ключ в заголовке HTTP.
На этом шаге вам нужно будет изменить прокси-сервер, чтобы он искал ключ API в заголовке с именем x-apikey .
- Отредактируйте API-прокси. Выберите «Разработка» > «API-прокси» > «helloworld_apikey» и перейдите в режим разработки .
Выберите политику «Проверка ключа API» и измените XML-файл политики, указав ей искать ключ в
headerа не вqueryparam:<APIKey ref="request.header.x-apikey"/>
- Сохраните API-прокси, чтобы применить изменения.
Выполните следующий вызов API с помощью cURL, передав ключ API в заголовке с именем
x-apikey. Не забудьте заменить название вашей организации.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
Обратите внимание, что для полного завершения изменений вам также потребуется настроить политику AssignMessage таким образом, чтобы вместо параметра запроса удалялся заголовок. Например:
<Remove>
<Headers>
<Header name="x-apikey"/>
</Headers>
</Remove>
Связанные темы
Вот несколько тем, непосредственно связанных с этим уроком:
- Управление продуктами API
- API-ключи
- Зарегистрируйте разработчиков приложений
- Регистрируйте приложения и управляйте ключами API.
- Политика проверки APIKey
- Политика AssignMessage
Если копнуть глубже, защита API с помощью ключей API — это лишь часть проблемы. Зачастую защита API включает в себя дополнительные меры безопасности, такие как OAuth.
OAuth — это открытый протокол, который, если говорить кратко, обменивает учетные данные (например, имя пользователя и пароль) на токены доступа. Токены доступа представляют собой длинные случайные строки, которые можно передавать по конвейеру обмена сообщениями, даже от приложения к приложению, без ущерба для исходных учетных данных. Срок действия токенов доступа часто короткий, поэтому постоянно генерируются новые.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-08-27 UTC.