Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Edge Microgateway v. 3.1.x
Обзор
После выполнения действий, описанных в этом руководстве по установке, у вас будет полностью настроенная работающая установка Edge Microgateway, способная обрабатывать запросы API. Вы протестируете настройку, выполнив безопасные вызовы API через Edge Microgateway к серверной цели. Вы также узнаете, как добавить плагин блокировки всплесков в Microgateway.
Это руководство разделено на следующие части:
- Предварительное условие: установка Edge Microgateway.
- Часть 1. Настройка Edge Microgateway
- Часть 2. Создание объектов в Apigee Edge
- Часть 3. Эксплуатация Edge Microgateway
- Часть 4. Микрошлюз Secure Edge
- Часть 5. Добавьте плагин Spike Arrest.
- Часть 6. Просмотр данных Analytics в Apigee Edge
Предварительное условие: установить Edge Microgateway.
Следуйте инструкциям в разделе «Установка Edge Microgateway» . После завершения установки вы будете готовы выполнить действия, описанные в этом руководстве.
Часть 1. Настройка Edge Microgateway
В этой части вы будете использовать команду интерфейса командной строки (CLI) для настройки Edge Microgateway для связи с Apigee Edge .
- Если вы используете Apigee Edge Cloud, следуйте инструкциям по настройке Apigee Edge Cloud .
- Если вы используете частное облако Apigee, следуйте инструкциям в частном облаке Apigee Edge .
Шаги настройки Apigee Edge Cloud
Выполните следующие действия, чтобы использовать 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:
- Инициализируйте Edge Microgateway (этот шаг нужно выполнить только один раз):
edgemicro init
- Распечатайте справочную информацию для команды Edgemicro Private configure . Таким образом можно распечатать справку для любой команды или параметра команды Edge Microgateway CLI.
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
— это среда в вашей организации (например, test или prod). -
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
— это среда в вашей организации (например, test или prod). -
key
— это ключ, возвращенный ранее командой configure. -
secret
— это ключ, возвращенный ранее командой configure.
Пример
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
О конфигурации
Вся выполненная на данный момент настройка позволяет Edge Microgateway загрузиться с Apigee Edge. После успешного завершения начальной загрузки Edge Microgateway получает дополнительную информацию о конфигурации от Apigee Edge.
Для чего используется эта информация о конфигурации? Как мы узнаем в следующей части этого руководства, при запуске Edge Microgateway ему необходимо получить список специальных прокси-серверов API, поддерживающих Edge Microgateway, от Apigee Edge. В следующей части этого руководства вы создадите прокси-сервер с поддержкой 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 может обнаружить при запуске. Прокси-серверы с поддержкой Microgateway имеют соглашение об именах, которому вы должны следовать: имя должно быть с помощью
edgemicro_
. Например,edgemicro_hello
илиedgemicro_userinfo
. При запуске Edge Microgateway он получает от Edge список прокси-серверов с поддержкой микрошлюза из той же организации и среды Edge, которые вы указали при запуске Edge Microgateway.
Для каждого прокси-сервера с поддержкой микрошлюза Edge Microgateway получает целевой URL-адрес прокси-сервера и его базовый путь. Прокси-серверы с поддержкой Microgateway также предоставляют удобный способ связать аналитические данные, созданные 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.
- В боковом меню навигации выберите «Разработка» > «Прокси API» .
- Нажмите + Прокси . Запускается мастер создания прокси.
- На первой странице мастера выберите Обратный прокси (наиболее распространенный) .
- Нажмите Далее .
- На странице мастера «Сведения» выполните настройку следующим образом. Обязательно заполните мастер именно так, как показано:
- Имя прокси: Edgemicro_hello
- Базовый путь прокси: /hello
- Существующий API: http://mocktarget.apigee.net/
- Нажмите Далее .
- На странице «Безопасность» мастера выберите «Пропустить (нет)» .
- Нажмите Далее .
- На странице мастера «Виртуальные хосты» примите значения по умолчанию.
- Нажмите Далее .
- На странице «Сборка» мастера проверьте настройки прокси-сервера. Убедитесь, что выбрана тестовая среда.
- Нажмите «Создать и развернуть» .
2. Создайте продукт
- Выберите «Опубликовать» > «Продукты API» в боковом меню навигации.
- Нажмите + Продукт API . Появится страница сведений о продукте.
- Заполните страницу сведений о продукте следующим образом:
- Имя: EdgeMicroTestProduct
- Отображаемое имя: EdgeMicroTestProduct
- Среда: тестирование и разработка
- Доступ: Публичный
- Ключевой тип утверждения: Автоматический
- В разделе «Ресурсы» нажмите +API-прокси.
- Выберите EdgeMicro-Auth
- Нажмите +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.
Используйте команду запуска Edgemicro , чтобы запустить Edge Microgateway.
- Убедитесь, что у вас есть ключи, которые были возвращены ранее при выполнении команды настройки Edgemicro . Этот вывод выглядел примерно так:
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
— это среда в вашей организации (например, test или prod). -
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 Microgateway загружается из Apigee Edge и кэшируется локально. Эта информация включает в себя:
- Открытый ключ, который мы создали и сохранили ранее в зашифрованной карте значений ключей (KVM).
- Представление всех прокси-серверов с поддержкой Edge Microgateway, существующих в организации/среде. Это все прокси, имена которых имеют префикс Edgemicro_ .
- Представление всех продуктов API, существующих в организации/среде.
Благодаря этой информации Edge Microgateway знает, какие прокси-серверы и пути к прокси-серверам ему разрешено обрабатывать. Он использует информацию о продукте для обеспечения безопасности (точно так же, как любой прокси-сервер API в Apigee Edge, где ключи приложений разработчика связаны с продуктами). Вскоре мы рассмотрим шаги по обеспечению безопасности Edge Microgateway.
2. Тестирование периферийного микрошлюза
Когда 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. Остановить пограничный микрошлюз
- В отдельном окне терминала
cd
в тот же каталог , в котором вы запустили Edge Microgateway. - Введите команду остановки:
edgemicro stop
Часть 4. Микрошлюз Secure Edge
Вы можете защитить вызовы API, сделанные через Edge Microgateway, с помощью ключа API или токена доступа.
Безопасные вызовы API с помощью токена доступа OAuth2.
Выполните следующие действия, если вы хотите аутентифицировать вызовы API с помощью токена доступа OAuth2:
1. Получите необходимые ключи
- В пользовательском интерфейсе Edge перейдите к созданному ранее приложению разработчика. Название приложения было EdgeMicroTestApp.
- На странице приложения разработчика покажите Consumer Key и Consumer Secret и скопируйте их. Эти значения необходимы для получения токена доступа на следующем этапе.
2. Получите токен доступа
Есть два способа получить токен доступа. Мы покажем вам оба метода.
Использование CLI для получения токена доступа
Первый метод удобен и соответствует шаблону, который мы использовали на протяжении всего урока. Второй метод обычно более полезен для разработчиков клиентских приложений, которым необходимо запрашивать токены. Фактическая конечная точка токена реализована в прокси-сервере EdgeMicro-Auth , который был развернут при настройке Edge Microgateway.
- (Необязательно) Просмотрите справку по команде получения токена :
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
— это среда в вашей организации (например, test или prod). -
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 . Вот пример скручивания. Просто подставьте имена своей организации и среды в URL-адрес и передайте значения Consumer Key:Consumer Secret, разделенные двоеточиями, в заголовке базовой аутентификации:
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
— это среда в вашей организации (например, test или prod). -
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
— это среда в вашей организации (например, test или prod). -
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.
- На странице приложения разработчика покажите Consumer Key и скопируйте его. Это значение является ключом API. Вы будете использовать этот ключ для выполнения аутентифицированных вызовов API.
2. Проверьте конфигурацию в 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
— это среда в вашей организации (например, test или prod). -
key
— это ключ, возвращенный ранее командой configure. -
secret
— это ключ, возвращенный ранее командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
-
3. Безопасный вызов API с помощью ключа API.
Вызовите API с заголовком x-api-key следующим образом. Значение Consumer Key, которое вы скопировали из приложения разработчика, является ключом API. По умолчанию Edge Microgateway ожидает, что вы передадите ключ в заголовке с именем x-api-key , например:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Где:
-
apikey
— это значение Consumer Key, взятое из 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.
Где установлен 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 с помощью команды перезагрузки . Эту команду необходимо запустить из каталога, в котором вы запустили Edge Microgateway.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
-
org
— это название вашей организации Edge (вы должны быть администратором организации). -
env
— это среда в вашей организации (например, test или prod). -
key
— это ключ, возвращенный ранее командой configure. -
secret
— это ключ, возвращенный ранее командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
-
- Попробуйте вызвать API несколько раз подряд. После второго вызова Edge Microgateway возвращает следующую ошибку:
{"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 .
- На графике показана информация о шаблонах трафика прокси-сервера, например общий трафик, среднее время ответа, среднее целевое время ответа и т. д.
Дополнительную информацию о панелях мониторинга Edge Analytics можно прочитать на домашней странице панелей мониторинга Analytics в документации Edge. Чтобы узнать больше о плагинах, см. Использование плагинов.