Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Edge Microgateway версии 3.1.x
Обзор
После выполнения инструкций из этого руководства по настройке у вас будет полностью настроенная и работающая установка Edge Microgateway, способная обрабатывать запросы API. Вы проверите настройки, выполнив защищенные вызовы API через Edge Microgateway к целевому серверу. Вы также узнаете, как добавить в Microgateway плагин для защиты от пиковых нагрузок.
Руководство состоит из следующих частей:
- Требования: Установка микрошлюза Edge
- Часть 1. Настройте Edge Microgateway
- Часть 2. Создание объектов в Apigee Edge
- Часть 3. Работа с микрошлюзом Edge
- Часть 4. Защищенный микрошлюз Edge
- Часть 5. Добавьте плагин Spike Arrest
- Часть 6. Как посмотреть данные Аналитики в Apigee Edge
Требования: установите Edge Microgateway
Следуйте инструкциям в разделе Установка Edge Microgateway. После установки вы сможете выполнить инструкции из этого руководства.
Часть 1. Настройте микрошлюз Edge
В этой части вы настроите Edge Microgateway на взаимодействие с Apigee Edge с помощью команды интерфейса командной строки (CLI).
- Если вы используете Apigee Edge Cloud, следуйте инструкциям по настройке Apigee Edge Cloud.
- Если вы используете Apigee Private Cloud, следуйте инструкциям для Apigee Edge Private Cloud.
Как настроить облако Apigee Edge
Чтобы использовать Edge Microgateway с Apigee Edge Cloud, выполните следующие действия:
- Инициализируйте Edge Microgateway (это нужно сделать только один раз):
edgemicro init
- Файл конфигурации
default.yamlбыл помещен в ваш домашний каталог в подкаталог.edgemicro. Проверьте, существует ли этот файл:ls ~/.edgemicro default.yaml
Примечание. В документации по Edge Microgateway домашний каталог обозначается тильдой (
~), которая является сокращением в UNIX. Если вы используете Windows и оболочку, которая не поддерживает тильду, вам нужно будет заменить тильду в командах, ссылающихся на домашний каталог, на подходящую переменную среды. Пример:%USERPROFILE%/.edgemicro. - У всех команд CLI есть функция справки. Распечатайте справку по команде edgemicro
configure:
edgemicro configure -h
- Выполните следующую команду, чтобы настроить Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
Где:
org:Название организации Edge (требуются права администратора организации).env:Среда в вашей организации (например, тестовая или производственная).username:Адрес электронной почты, связанный с вашим аккаунтом Apigee.
Примечание. Команда configure поддерживает дополнительные параметры. Полный список приведен в статье Настройка Edge Microgateway для Apigee Edge Cloud.
Пример
edgemicro configure -o docs -e test -u jdoe@example.com
Выходные данные
./edgemicro configure -o docs -e test -u jdoe@apigee.com password: current nodejs version is v12.5.0 current edgemicro version is 3.1.0 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM error checking for cert. Installing new cert. creating KVM adding private_key adding public_key configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1 saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih 3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ +1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q PTmvExZLkLQ= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
Этапы настройки частного облака Apigee
Чтобы использовать Edge Microgateway с Apigee Private Cloud, выполните следующие действия:
- Инициализируйте Edge Microgateway (это нужно сделать только один раз):
edgemicro init
- Вывести справочную информацию о команде edgemicro private configure. Вы можете получить справку по любой команде или параметру CLI Edge Microgateway.
edgemicro private configure -h
- Выполните следующую команду: Для этого потребуется стандартная информация об аккаунте Apigee Edge Private Cloud: название организации, название среды, имя пользователя (адрес электронной почты), пароль, IP-адрес сервера управления и IP-адрес маршрутизатора. Чтобы использовать эту команду, вы должны быть администратором организации Edge:
edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).runtime_url– это URL среды выполнения для экземпляра частного облака.mgmt_url– URL сервера управления для вашего экземпляра частного облака.username– адрес электронной почты, связанный с вашим аккаунтом Apigee.-
virtual_host– это список названий виртуальных хостов, разделенных запятыми. Значения по умолчанию:default,secure
Пример
edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default
или, если у вас есть псевдоним виртуального хоста myorg-test.mycompany.com, вы можете использовать команду следующего вида:
edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default
Выходные данные
delete cache config checking for previously deployed proxies configuring edgemicro internal proxy deploying edgemicro internal proxy deploying edgemicro-auth app copy auth app into tmp dir copy config into tmp deer Give me a minute or two... this can take a while... App edgemicro-auth added to your org. Now adding resources. checking org for existing KVM error checking for cert. Installing new cert. creating KVM adding private_key adding public_key configuring host http://192.168.52.106:9001 for region dc-1 saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz pFkIxepyr/0= -----END CERTIFICATE----- The following credentials are required to start edge micro key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3 secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263 edgemicro configuration complete!
Как проверить установку
Чтобы проверить установку, выполните следующую команду: Если ошибок нет, все настроено правильно и вы сможете успешно запустить Edge Microgateway.
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
О конфигурации
Все выполненные до сих пор настройки позволяют Edge Microgateway подключиться к Apigee Edge. После успешной инициализации Edge Microgateway получает полезную нагрузку с дополнительной информацией о конфигурации из Apigee Edge.
Для чего используется эта информация о конфигурации? Как мы узнаем из следующей части этого руководства, при запуске Edge Microgateway должен получить от Apigee Edge список специальных прокси API, совместимых с Edge Microgateway. В следующей части этого руководства вы создадите прокси, совместимый с Microgateway. Edge Microgateway ограничивает клиентов, разрешая им вызывать только API, которые представлены API-прокси, поддерживающими Microgateway. По умолчанию клиенты должны предоставлять действительный токен безопасности для каждого вызова. Подробнее об этих прокси-серверах можно узнать в разделе Что нужно знать о прокси-серверах, поддерживающих Edge Microgateway в обзоре Edge Microgateway.
Администраторам организации Edge будет полезно узнать, что прокси-серверы, поддерживающие Edge Microgateway, можно добавлять в продукты Edge так же, как и любые другие прокси-серверы. С помощью продуктов и приложений для разработчиков можно создавать клиентские токены безопасности, чтобы контролировать доступ к API, вызываемым через Edge Microgateway. При этом используются те же шаблоны, что и при работе с любыми прокси API, продуктами и приложениями для разработчиков в Apigee Edge. Если вы хотите узнать больше о продуктах, начните с раздела Что такое продукт API? в документации по Edge.
Затем мы расскажем, как создать прокси-серверы, совместимые с Edge Microgateway, а после этого запустим Edge Microgateway и проверим настройки.
Часть 2. Создайте объекты в Apigee Edge
В этой части вы создадите следующие объекты в Edge:
-
Прокси, поддерживающий микрошлюз – специальный прокси, который Edge Microgateway может обнаружить при запуске. Прокси-серверы, поддерживающие микрошлюзы, должны иметь названия, начинающиеся с символа
edgemicro_. Примеры:edgemicro_helloилиedgemicro_userinfo. При запуске Edge Microgateway получает от Edge список прокси, поддерживающих микрошлюз, из той же организации и среды Edge, которые вы указали при запуске Edge Microgateway.
Для каждого прокси-сервера, поддерживающего микрошлюз, Edge Microgateway извлекает целевой URL прокси-сервера и его базовый путь. Прокси, поддерживающие микрошлюз, также позволяют удобно связывать данные аналитики, сгенерированные Edge Microgateway, с прокси на платформе Edge. Поскольку Microgateway обрабатывает вызовы API, он асинхронно отправляет данные аналитики в Edge. Данные Аналитики будут отображаться в интерфейсе Edge Analytics под названием прокси, поддерживающего микрошлюз, как и для любого другого прокси.
- Продукт, разработчик и приложение разработчика. Edge Microgateway использует продукты, разработчиков и приложения разработчиков, чтобы обеспечить безопасность токенов доступа OAuth2 или ключей API. При запуске Edge Microgateway скачивает все конфигурации продуктов из вашей организации Apigee Edge. Эта информация используется для проверки вызовов API, выполненных через Edge Microgateway с помощью ключей API или токенов доступа OAuth2.
1. Создание прокси-сервера API, совместимого с Edge Microgateway, в Edge
- Войдите в организацию в Apigee Edge.
- В меню навигации слева выберите Develop (Разработка) > API Proxies (Прокси API).
- Нажмите + Прокси. Откроется мастер создания прокси-сервера.
- На первой странице мастера выберите Reverse proxy (Обратный прокси-сервер).
- Нажмите Далее.
- На странице "Сведения" мастера настройте следующие параметры: Заполните мастер в точности так, как показано ниже.
- Название прокси-сервера: edgemicro_hello
- Базовый путь прокси: /hello
- Существующий API: http://mocktarget.apigee.net/
- Нажмите Далее.
- На странице "Безопасность" мастера выберите Пропустить (нет).
- Нажмите Далее.
- На странице "Виртуальные хосты" мастера оставьте значения по умолчанию.
- Нажмите Далее.
- На странице Build (Создание) мастера проверьте настройки прокси-сервера. Убедитесь, что выбрана среда test.
- Нажмите Создать и развернуть.
2. Создание продукта
- В меню навигации слева выберите Publish > API Products (Публикация > Продукты API).
- Нажмите + Продукт API. Откроется страница "Сведения о товаре".
- Заполните страницу "Сведения о товаре" следующим образом:
- Название: EdgeMicroTestProduct
- Отображаемое название: EdgeMicroTestProduct
- Среда: тестовая и рабочая
- Доступ: открытый.
- Тип одобрения ключа: автоматическое.
- В разделе Resources (Ресурсы) нажмите +API Proxy (+Прокси API).
- Выберите edgemicro-auth.
- Ещё раз нажмите +API Proxy (Прокси API).
- Выберите edgemicro_hello.
- Выберите + Специальный ресурс.
- Введите /**.
- Ещё раз нажмите + Специальный ресурс.
- Введите /.
- Нажмите Сохранить.
3. Как создать тестового разработчика (необязательно)
Для целей этого руководства вы можете использовать любого существующего разработчика на следующем шаге, создавая приложение разработчика. Но если вы хотите, создайте тестового разработчика сейчас:
- В меню навигации слева выберите Публикация > Разработчики.
- Нажмите + Разработчик.
- Заполните диалоговое окно, чтобы создать тестировщика.
4. Как создать приложение для разработчиков
Вы будете использовать учетные данные клиента из этого приложения для безопасных вызовов API через Edge Microgateway:
- В меню навигации слева выберите Публикация > Приложения.
- Нажмите + Приложение. Откроется страница приложения разработчика.
- Заполните страницу приложения разработчика следующим образом:
- Название: EdgeMicroTestApp
- Отображаемое название: EdgeMicroTestApp
- Разработчик. Если вы создали тестового разработчика, выберите его. Или вы можете использовать любого существующего разработчика.
-
Учетные данные:
- Выберите "Срок действия: Никогда".
- Нажмите + Товар и выберите EdgeMicroTestProduct (созданный вами товар).
- Нажмите Сохранить.
- Вы вернетесь на страницу со списком приложений.
- Выберите созданное приложение EdgeMicroTestApp.
- Нажмите Показать рядом с Ключом потребителя и Секретным кодом потребителя.

Часть 3. Работа с Edge Microgateway
Теперь, когда вы настроили Edge Microgateway и хотя бы один прокси-сервер, поддерживающий Edge Microgateway, в Edge, можно запустить Edge Microgateway. HTTP-сервер Edge Microgateway будет запущен на вашем локальном компьютере, и вы будете отправлять вызовы API непосредственно на этот сервер.
1. Как запустить Edge Microgateway
Чтобы запустить Edge Microgateway, используйте команду edgemicro start.
- Убедитесь, что у вас есть ключи, которые были возвращены ранее при выполнении команды edgemicro configure. Выходные данные выглядели примерно так:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
- (Необязательно) Распечатайте справочную информацию о команде
edgemicro start.
edgemicro start -h
- Чтобы запустить Edge Microgateway, выполните следующую команду:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
Выходные данные
Команда запуска извлекает из Apigee Edge много информации о конфигурации (которая прокручивается в окне терминала). В выходных данных вы увидите список прокси-серверов и продуктов, поддерживающих микрошлюз. В конце вывода вы увидите что-то вроде следующего:
... current nodejs version is v12.5.0 current edgemicro version is 3.1.0 info: jwk_public_keys download from null returned 200 undefined info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK PROCESS PID : 17991
- Проверьте статус микрошлюза. В другом окне терминала перейдите в тот же каталог, в котором вы запустили Edge Micro, и введите следующую команду:
edgemicro status current nodejs version is v12.5.0 current edgemicro version is 3.1.0 edgemicro is running with 8 workers
В чем причина?
Полезная нагрузка с информацией о конфигурации микрошлюза Edge скачивается из Apigee Edge и сохраняется в локальном кеше. Ниже перечислены некоторые типы такой информации.
- Открытый ключ, созданный и сохраненный ранее в зашифрованной карте "ключ-значение".
- Представление всех прокси-серверов, поддерживающих Edge Microgateway, которые существуют в организации или среде. Это все прокси-серверы, названия которых начинаются с префикса edgemicro_.
- Представление всех продуктов API, существующих в организации или среде.
На основе этой информации Edge Microgateway определяет, какие прокси и пути прокси ему разрешено обрабатывать. Информация о товаре используется для обеспечения безопасности (точно так же, как любой прокси-сервер API в Apigee Edge, где ключи приложений разработчика связаны с продуктами). Ниже мы расскажем, как защитить Edge Microgateway.
2. Как протестировать Edge Microgateway
После запуска Edge Microgateway можно вызывать прокси. Конфигурация прокси-сервера edgemicro_hello была скачана из Edge при запуске Edge Microgateway. Напоминаем, что базовый путь прокси-сервера – /hello.
Чтобы протестировать Edge Microgateway, мы начнем с базового пути и добавим путь к ресурсу /echo. Обратите внимание, что все, что идет после базового пути (включая параметры запроса), просто передается целевому серверу:
curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}Эта ошибка возникает, если вы не отправили с запросом действительный ключ API или токен доступа. По умолчанию Edge Microgateway требует, чтобы каждый вызов API содержал ключ API или токен доступа. На следующем этапе руководства мы расскажем, как защитить этот API, получить действительный токен доступа и включить его в запрос.
4. Как остановить Edge Microgateway
- В отдельном окне терминала перейдите в
cdтот же каталог, в котором вы запустили Edge Microgateway. - Введите команду stop:
edgemicro stop
Часть 4. Защищенный микрошлюз Edge
Вы можете защитить вызовы API, выполняемые через Edge Microgateway, с помощью ключа API или токена доступа.
Как защитить вызовы API с помощью токена доступа OAuth2
Чтобы аутентифицировать вызовы API с помощью токена доступа OAuth2, выполните следующие действия:
1. Получите необходимые ключи
- В интерфейсе Edge перейдите к созданному ранее приложению разработчика. Название приложения – EdgeMicroTestApp.
- На странице приложения для разработчиков найдите ключ потребителя и секретный код потребителя и скопируйте их. Эти значения понадобятся вам на следующем шаге, чтобы получить токен доступа.
2. Как получить токен доступа
Получить токен доступа можно двумя способами. Мы расскажем о каждом из них.
Как получить токен доступа с помощью интерфейса командной строки
Первый способ удобен и соответствует шаблону, который мы использовали в этом руководстве. Второй способ обычно более удобен для разработчиков клиентских приложений, которым нужно запрашивать токены. Фактическая конечная точка токена реализована в прокси-сервере edgemicro-auth, который был развернут при настройке Edge Microgateway.
- Чтобы посмотреть справку по команде token get, выполните следующие действия:
edgemicro token get -h
- Сгенерируйте токен, подставив значения Consumer Key и Consumer Secret из созданного вами в Apigee Edge приложения для разработчиков в параметры -i и -s:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).consumer_id– это идентификатор потребителя в приложении разработчика, которое вы создали ранее.consumer_secret– это секретный код потребителя в приложении для разработчиков, которое вы создали ранее.
Пример
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Пример выходных данных
current nodejs version is v12.5.0 { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc 3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ. v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4 QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
(Необязательно) Как получить токен с помощью API
Если вы привыкли вызывать прокси-серверы Edge с помощью curl или другого HTTP-клиента, вам будет интересно узнать, что вы можете вызывать конечную точку токена напрямую, а не с помощью команды edgemicro token. Вот пример запроса curl. Просто подставьте в URL названия организации и среды и передайте значения Consumer Key:Consumer Secret, разделенные двоеточием, в заголовке Basic Authentication:
curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).client_id– это идентификатор потребителя в созданном вами ранее приложении разработчика.client_secret– это секретный код потребителя в приложении для разработчиков, которое вы создали ранее.
Выходные данные (пример)
Команда, независимо от того, использовали ли вы команду CLI edgemicro token или вызывали конечную точку с помощью curl, возвращает подписанный токен доступа, который можно использовать для выполнения клиентских вызовов. Пример:
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz
pFkIxepyr/0=
3. Проверьте конфигурацию в Edge Microgateway
- Откройте файл
$HOME/.edgemicro/org-env-config.yaml. Если вы не можете найти этот файл, ознакомьтесь с разделом Где устанавливается Edge Microgateway. - Убедитесь, что для этих свойств плагина OAuth задано значение false. По умолчанию они отключены, но лучше перепроверить:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Также в файле
org-env-config.yamlубедитесь, что плагин oauth добавлен в элементplugins:sequence, как показано ниже:plugins: dir: ../plugins sequence: - oauth
- Если вы измените файл, перезагрузите изменения в работающий экземпляр Edge Microgateway. Эта команда перенастраивает Edge Microgateway без простоя:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
4. Как безопасно вызывать API
Теперь, когда у вас есть токен доступа, вы можете безопасно вызывать API. Пример:
curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl 9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_BT31c6 IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx 4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0 64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo
API возвращает заголовки и другую информацию с имитирующего сервера.
Как защитить API с помощью ключа API
Если вы хотите использовать для авторизации ключ API, выполните следующие действия:
1. Как получить ключ API
- В интерфейсе Edge перейдите к созданному ранее приложению разработчика. Название приложения – EdgeMicroTestApp.
- На странице приложения для разработчиков найдите ключ потребителя и скопируйте его. Это значение – ключ API. Этот ключ будет использоваться для аутентификации вызовов API.
2. Проверьте конфигурацию в Edge Microgateway
- Откройте файл
$HOME/.edgemicro/org-env-config.yaml.. Если вы не можете найти этот файл, ознакомьтесь с разделом Где установлен Edge Microgateway. - Убедитесь, что для этих свойств плагина OAuth задано значение false. По умолчанию они имеют значение false, но вы можете проверить это:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Также в файле
org-env-config.yamlубедитесь, что плагин oauth добавлен в элементplugins:sequence, как показано ниже:plugins: dir: ../plugins sequence: - oauth - Если вы измените файл, перезагрузите изменения в работающий экземпляр Edge Microgateway. Эта команда перенастраивает Edge Microgateway без простоя:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
3. Как безопасно вызывать API с помощью ключа API
Вызовите API с заголовком x-api-key, как показано ниже. Ключ API – это значение Consumer Key, скопированное из приложения для разработчиков. По умолчанию Edge Microgateway ожидает, что вы передадите ключ в заголовке x-api-key, как показано ниже.
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Где:
apikey– это значение ключа потребителя, взятое из EdgeMicroTestApp.
Пример:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'
Теперь у вас есть полностью функциональный и безопасный Edge Microgateway. В следующей части руководства мы рассмотрим плагины, которые добавляют функции в Edge Microgateway.
Часть 5. Добавьте плагин Spike Arrest
В этой части мы добавим в экземпляр Edge Microgateway функцию ограничения частоты запросов, которая называется "подавление пиков".
Что такое плагины
Плагин – это модуль Node.js, который добавляет функции в Edge Microgateway. Модули плагинов следуют единому шаблону и хранятся в известном Edge Microgateway месте, что позволяет микрошлюзу автоматически обнаруживать и загружать их. Подробнее о плагинах можно узнать в статье Как использовать плагины.
Как добавить плагин для подавления пиков
Плагин для защиты от скачков трафика. Ограничивает количество запросов, обрабатываемых экземпляром Edge Microgateway.
В Edge Microgateway защита от скачков реализована в виде модуля плагина. Чтобы включить его, нужно добавить его в файл конфигурации Edge Microgateway.
- Если вы не можете найти этот файл, откройте файл
$HOME/.edgemicro/org-env-config.yaml.Where is Edge Microgateway installed (Где установлен Edge Microgateway). - Добавьте следующий элемент: Его можно добавить в любое место файла.
spikearrest: timeUnit: minute allow: 10 buffersize: 0 - Добавьте
spikearrestв элементedgemicro:sequence, как показано ниже. Свойство конфигурации последовательности указывает Edge Microgateway порядок выполнения модулей плагина.edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest
- Сохраните файл конфигурации.
- Перезагрузите Edge Microgateway с помощью команды reload. Эту команду необходимо запустить из каталога, в котором вы запустили Edge Microgateway.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- Попробуйте несколько раз подряд вызвать API. После второго вызова микрошлюз Edge возвращает следующую ошибку:
{"message":"SpikeArrest engaged","status":503}
Это связано с тем, что функция защиты от пиковых нагрузок сглаживает количество вызовов, которые можно совершить за указанную единицу времени. В этом случае вы можете совершать 10 звонков в минуту, то есть один звонок каждые 6 секунд.
Дополнительное задание: добавление плагина квот
По аналогии с тем, как настраивается защита от скачков трафика, можно добавить другие плагины, например плагин квот. Как и в случае с защитой от скачков трафика, плагин квоты входит в каждую установку Edge Microgateway. Квота определяет количество запросов, которые приложение может отправлять в API за определенный период времени (в минутах или часах).
Часть 6. Просмотр аналитики в Apigee Edge
Теперь у нас есть полностью работающий экземпляр Edge Microgateway. Давайте посмотрим, что он делает. По умолчанию модуль плагина аналитики добавляется в Edge Micro. Этот модуль незаметно передает данные аналитики из Edge Micro в Apigee Edge, где они используются системой Edge Analytics. Вот что нужно сделать:
- Войдите в организацию в Apigee Edge.
- Выберите Аналитика > Эффективность прокси-сервера.
- На панели управления эффективностью прокси-сервера выберите edgemicro_hello proxy.
- На графике представлена информация о трафике прокси-сервера, например общий трафик, среднее время ответа, среднее целевое время ответа и т. д.
Подробнее о панелях Edge Analytics можно узнать на главной странице панелей Аналитики в документации по Edge. Подробнее о плагинах можно узнать в статье Как использовать плагины.