Справочные материалы

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

Интерфейс командной строки (CLI) apigee-remote-service-cli помогает вам развертывать и управлять адаптером Apigee для Envoy.

Привязка команд

Функция привязки связывает сервис, развернутый в сети Istio, с продуктом API Apigee. Интерфейс командной строки позволяет создавать, удалять и отображать список привязок.

Примечание: В пользовательском интерфейсе создания продукта вы можете указать одну или несколько услуг, связанных с продуктом. Это эквивалентно созданию привязки с помощью CLI.

Добавить привязку

Добавляет привязку к удаленному целевому объекту для продукта API.

Использование

Для публичного облака Edge:

apigee-remote-service-cli bindings add [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -c [config]

Для частного облака на границе сети:

apigee-remote-service-cli bindings add [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -r [runtime] -c [config]

Для гибрида Apigee:

apigee-remote-service-cli bindings add [service_name] [product_name]  -o [organization] -e [environment] -t [token]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации удаленной службы Apigee. Совет : При указании этого параметра большинство других параметров команды можно опустить. См. раздел «Использование параметра --config .
-e, --env Нить (Обязательно) Обстановка в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешите небезопасные подключения к серверу при использовании SSL.
--legacy Установите этот флаг, если вы используете Apigee Edge Cloud. Он задает URL-адреса управления и среды выполнения для Edge Cloud.
--opdk Установите этот флаг, если вы используете Apigee Edge для частного облака.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-p, --password Нить (Требуется только для базовой аутентификации) Ваш пароль Apigee. При желании вы можете указать пароль в файле .netrc . В этом случае вам не потребуется указывать пароль в командной строке. См. также Использование файла .netrc для учетных данных .
-r, --runtime Нить Базовый URL среды выполнения Apigee (необходим для гибридных версий или opdk).
-t, --token Нить (Требуется только для аутентификации с помощью токена OAuth) Токен OAuth или SAML, который вы генерируете на основе информации о вашей учетной записи Apigee. Информацию о генерации токенов см. в разделах «Использование get_token» и «Доступ к API управления с помощью SAML» .
-u, --username Нить (Требуется только для базовой аутентификации) Ваше имя пользователя Apigee (обычно это адрес электронной почты). При желании вы можете указать имя пользователя в файле .netrc . В этом случае вам не нужно указывать имя пользователя в командной строке. См. также Использование файла .netrc для учетных данных .
-v, --verbose (Необязательно) Выводит подробный вывод.

Пример

./apigee-remote-service-cli bindings add httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx
product envoy-test is now bound to: httpbin.org

Привязки списков

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

Использование

Для публичного облака Edge:

apigee-remote-service-cli bindings list -o [organization] -e [environment] -u [username] -p [password]

Для частного облака на границе сети:

apigee-remote-service-cli bindings list -o [organization] -e [environment] -u [username] -p [password] -r [runtime] 

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации удаленной службы Apigee. Совет : При указании этого параметра большинство других параметров команды можно опустить. См. раздел «Использование параметра --config .
-e, --env Нить (Обязательно) Обстановка в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешите небезопасные подключения к серверу при использовании SSL.
--legacy Установите этот флаг, если вы используете Apigee Edge Cloud. Он задает URL-адреса управления и среды выполнения для Edge Cloud.
--opdk Установите этот флаг, если вы используете Apigee Edge для частного облака.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-p, --password Нить (Требуется только для базовой аутентификации) Ваш пароль Apigee. При желании вы можете указать пароль в файле .netrc . В этом случае вам не потребуется указывать пароль в командной строке. См. также Использование файла .netrc для учетных данных .
-r, --runtime Нить Базовый URL среды выполнения Apigee (необходим для гибридных версий или opdk).
-t, --token Нить (Требуется только для аутентификации с помощью токена OAuth) Токен OAuth или SAML, который вы генерируете на основе информации о вашей учетной записи Apigee. Информацию о генерации токенов см. в разделах «Использование get_token» и «Доступ к API управления с помощью SAML» .
-u, --username Нить (Требуется только для базовой аутентификации) Ваше имя пользователя Apigee (обычно это адрес электронной почты). При желании вы можете указать имя пользователя в файле .netrc . В этом случае вам не нужно указывать имя пользователя в командной строке. См. также Использование файла .netrc для учетных данных .
-v, --verbose (Необязательно) Выводит подробный вывод.

Пример

apigee-remote-service-cli bindings list -o myorg -e test -u user@example.com -c config.yaml -p abc123
PI Products
============
Bound
-----
envoy-test:
  Quota: 5 requests every 1 minute
  Target bindings:
    httpbin.org
  Paths:
httpbin:
  Quota: 5 requests every 1 minute
  Target bindings:
    httpbin.org
  Paths:
    /httpbin
    /

Unbound
-------
product-1:
  Quota: 100 requests every 1 hour
product-2:
  Quota: 1000 requests every 1 month
product-3:
product-4:

Удалить привязку

Удалите привязку Remote Service for Envoy к продукту API.

Примечание: Вы также можете удалить удаленную службу для привязки Envoy, удалив имя службы из продукта в пользовательском интерфейсе Edge.

Использование

Для публичного облака Edge:

apigee-remote-service-cli bindings remove [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -c [config]

Для частного облака на границе сети:

apigee-remote-service-cli bindings remove [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] -r [runtime] -c [config]

Для гибрида Apigee:

apigee-remote-service-cli bindings remove [service_name] [product_name]  -o [organization] -e [environment] -t [token]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации удаленной службы Apigee. Совет : При указании этого параметра большинство других параметров команды можно опустить. См. раздел «Использование параметра --config .
-e, --env Нить (Обязательно) Обстановка в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешите небезопасные подключения к серверу при использовании SSL.
--legacy Установите этот флаг, если вы используете Apigee Edge Cloud. Он задает URL-адреса управления и среды выполнения для Edge Cloud.
--opdk Установите этот флаг, если вы используете Apigee Edge для частного облака.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-p, --password Нить (Требуется только для базовой аутентификации) Ваш пароль Apigee. При желании вы можете указать пароль в файле .netrc . В этом случае вам не потребуется указывать пароль в командной строке. См. также Использование файла .netrc для учетных данных .
-r, --runtime Нить Базовый URL среды выполнения Apigee (необходим для гибридных версий или opdk).
-t, --token Нить (Требуется только для аутентификации с помощью токена OAuth) Токен OAuth или SAML, который вы генерируете на основе информации о вашей учетной записи Apigee. Информацию о генерации токенов см. в разделах «Использование get_token» и «Доступ к API управления с помощью SAML» .
-u, --username Нить (Требуется только для базовой аутентификации) Ваше имя пользователя Apigee (обычно это адрес электронной почты). При желании вы можете указать имя пользователя в файле .netrc . В этом случае вам не нужно указывать имя пользователя в командной строке. См. также Использование файла .netrc для учетных данных .
-v, --verbose (Необязательно) Выводит подробный вывод.

Пример

./apigee-remote-service-cli bindings remove httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx
product envoy-test is no longer bound to: httpbin.org

Команда справки

Для всех команд apigee-remote-service-cli доступна онлайн-справка. Просто введите:

apigee-remote-service-cli help

Для получения справки по любой команде введите:

apigee-remote-service-cli [command] help

Например:

apigee-remote-service-cli provision help

Команда инициализации

Команда apigee-remote-service-cli provision устанавливает прокси-сервер в вашей организации Apigee Edge, настраивает сертификат и генерирует учетные данные, необходимые для настройки адаптера Apigee для Envoy.

Использование

Если вы используете публичную облачную платформу Edge:

apigee-remote-service-cli provision -o $ORG -e $ENV -u $USERNAME -p $PASSWORD

Если вы используете частное облако Edge:

apigee-remote-service-cli provision --opdk -o $ORG -e $ENV -u $USERNAME --management $MGMT_SERVER_URL --runtime $RUNTIME_URL -p $PASSWORD

Параметры

Параметры Тип Описание
-c, --config Нить Путь к файлу конфигурации удаленной службы Apigee. Совет : При указании этого параметра большинство других параметров команды можно опустить. См. раздел «Использование параметра --config .
-e, --environment Нить (Обязательно) Обстановка в вашей организации.
-f, --force-proxy-install (Необязательно) Принудительно переустанавливает прокси remote-service , если он уже установлен в вашей организации.
-h, --help Отображает справку по параметрам команды.
-k, --key Нить Указывает ключ, возвращаемый командой apigee-remote-service-cli provision .
--legacy Apigee SaaS (управление наборами данных и URL-адрес среды выполнения)
-m, --management Нить (Обязательно, если вы используете Apigee Private Cloud) Ваш базовый URL-адрес управления Apigee. По умолчанию: https://api.enterprise.apigee.com
-n, --namespace Нить Выдавать конфигурацию в виде Envoy ConfigMap в указанном пространстве имен.
--opdk Нить Apigee OPDK.
-o, --organization Нить (Обязательно) Ваша организация Apigee. Вы должны быть администратором организации.
-p, --password Нить (Требуется только для базовой аутентификации) Ваш пароль Apigee. При желании вы можете указать пароль в файле .netrc . В этом случае вам не потребуется указывать пароль в командной строке. См. также Использование файла .netrc для учетных данных .
--rotate-int инт Если n > 0, сгенерируйте новый закрытый ключ и храните n открытых ключей (только в гибридном режиме).
-r, --runtime Нить Базовый URL среды выполнения Apigee (необходим для гибридных версий или opdk)
-s, --secret Нить Указывает секретный ключ, возвращаемый командой apigee-remote-service-cli provision .
--strength инт (Необязательно) Указывает уровень шифрования для SSL-сертификатов, используемых при настройке адаптера. Значение по умолчанию: 2048.
-t, --token Нить (Только для гибридных систем) Токен Apigee OAuth или SAML.
-u, --username Нить (Требуется только для базовой аутентификации) Ваше имя пользователя Apigee (обычно это адрес электронной почты). При желании вы можете указать имя пользователя в файле .netrc . См. также Использование файла .netrc для учетных данных .
-v, --verbose (Необязательно) Выводит подробный вывод.
--virtual-hosts Нить Этот параметр переопределяет виртуальные хосты по умолчанию, которые имеют значение "default,secure". Используйте этот параметр, если для вашей организационной среды Edge указаны виртуальные хосты, отличные от этих значений по умолчанию. Подробнее о виртуальных хостах см. в документации Edge .
--years инт (Необязательно) Количество лет до истечения срока действия SSL-сертификата, используемого при подготовке сертификата. По умолчанию: 1

Пример

Обязательно сохраните вывод команды provision в файл, который будет использоваться в качестве входных данных для других операций Apigee Adapter for Envoy.

Пример использования публичного облака Edge:

apigee-remote-service-cli provision --legacy --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml

Пример гибрида Apigee:

apigee-remote-service-cli provision --organization $ORG --environment $ENV --runtime $RUNTIME --namespace $NAMESPACE --token $TOKEN > config.yaml

Команды токенов

Вместо ключа API можно использовать JWT-токен для выполнения аутентифицированных вызовов API-прокси. Команды для работы с токенами позволяют создавать, проверять и обновлять JWT-токены для этой цели.

Создайте JWT-токен.

Для аутентификации при вызове целевого удаленного сервиса можно использовать токен JWT. См. также раздел «Использование аутентификации на основе JWT» .

Использование

Для публичного облака Edge:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -o [org] -e [env]
Для частного облака на границе сети:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]
Для гибрида Apigee:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации удаленной службы Apigee. Совет : При указании этого параметра большинство других параметров команды можно опустить. См. раздел «Использование параметра --config .
-e, --env Нить (Обязательно) Обстановка в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure При использовании SSL разрешайте небезопасные подключения к серверу.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-r, --runtime Нить Базовый URL-адрес среды выполнения Apigee (требуется только для гибридных версий или opdk).
-v, --verbose (Необязательно) Выводит подробный вывод.

Пример

apigee-remote-service-cli token create -o myorg -e test -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 -s icTARgaKHqvUH1dq -c config.yaml

Выход

В случае успеха вы увидите вывод токена JST, похожий на следующий:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

Проверьте токен JWT.

С помощью этой команды можно проверить JWT-токен. См. также раздел «Проверка токена» .

Использование

Для публичного облака Edge:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file]
Для частного облака на границе сети:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]
Для гибрида Apigee:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации удаленной службы Apigee. Совет : При указании этого параметра большинство других параметров команды можно опустить. См. раздел «Использование параметра --config .
-e, --env Нить (Обязательно) Обстановка в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure При использовании SSL разрешайте небезопасные подключения к серверу.
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-r, --runtime Нить Базовый URL-адрес среды выполнения Apigee (требуется только для гибридных версий или opdk).
-v, --verbose (Необязательно) Выводит подробный вывод.

Пример

apigee-remote-service-cli token inspect -c config.yaml <<< $TOKEN

Выход

В случае успеха вы увидите результат, похожий на следующий:
{
	"aud": [
		"remote-service-client"
	],
	"exp": 1591741549,
	"iat": 1591740649,
	"iss": "https://apigee-docs-test.apigee.net/remote-service/token",
	"jti": "99325d2e-6440-4278-9f7f-b252a1a79e53",
	"nbf": 1591740649,
	"access_token": "VfzpXzBGAQ07po0bPMKY4JgQjus",
	"api_product_list": [
		"httpbin"
	],
	"application_name": "httpbin",
	"client_id": "GYDGHy5TRpV8AejXCOlreP7dPVepA8H",
	"developer_email": "user@example.com",
	"scope": ""
}
verifying...
token ok.

Поворот JWT-токена

Через некоторое время после первоначальной генерации JWT может потребоваться изменить пару открытого/закрытого ключей, хранящуюся в зашифрованной карте ключ-значение (KVM) Apigee Edge. Этот процесс генерации новой пары ключей называется ротацией ключей. При ротации ключей генерируется новая пара закрытого/открытого ключей, которая сохраняется в KVM «istio» в вашей организации/среде Apigee Edge. Кроме того, старый открытый ключ сохраняется вместе с его исходным идентификатором.

Использование

Если вы используете публичную облачную платформу Edge:
apigee-remote-service-cli token rotate-cert -c [config_file] -o [organization] -e [environment] -k [provision_key] -s [provision_secret] --kid [new_key_id]
Если вы используете частное облако Edge:
apigee-remote-service-cli token rotate-cert -o [organization] -e [environment] -u [username] -p [password] -k [provision_key] -s [provision_secret] --kid [new_key_id]

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации удаленной службы Apigee. Совет : При указании этого параметра большинство других параметров команды можно опустить. См. раздел «Использование параметра --config .
-e, --env Нить (Обязательно) Обстановка в вашей организации.
-h, --help Отображает справку по параметрам команды.
--insecure Разрешите небезопасные подключения к серверу при использовании SSL.
--truncate инт Количество сертификатов для хранения в JWKS (по умолчанию 2)
-o, --org Нить (Обязательно) Организация Apigee. Вы должны быть администратором организации.
-r, --runtime Нить Базовый URL среды выполнения Apigee (необходим для гибридных версий или opdk).
-v, --verbose (Необязательно) Выводит подробный вывод.

Пример

apigee-remote-service-cli token rotate-cert -c config.yaml -o myorg -e test -k 2e238ffa15dc5ab6a1e97868e7581f6c60ddb8575478582c256d8b7e5b2677a8 -s 51058077223fa7b683c3bea845c5cca138340d1d5583922b6d465f9f918a4b08

Выход

certificate successfully rotated

Использование файла .netrc для учетных данных

Если вы используете Edge Public Cloud и у вас есть запись для машины api.enterprise.apigee.com , apigee-remote-service-cli автоматически получает username и password (для базовой аутентификации, где это необходимо) из файла .netrc в вашем домашнем каталоге. Если вы используете Apigee Private Cloud, значение машины будет совпадать с вашим URL-адресом management (например: http://192.162.55.100 ). Например, в Edge Public Cloud:
machine api.enterprise.apigee.com
login jdoe@google.com
password abc123
Например, в частном облаке Edge:
machine http://192.162.55.100
login jdoe@google.com
password abc123

Команда версии

Распечатать версию для командной строки.

apigee-remote-service-cli version

Использование параметра команды --config

Опция --config указывает местоположение файла конфигурации, сгенерированного командой provision . Полезным преимуществом этой опции является возможность пропуска большинства других параметров команды, которые CLI берет из файла конфигурации. К таким параметрам относятся:
  • организация
  • среда
  • среда выполнения
  • управление
  • ненадежный
  • пространство имен
  • наследие
  • opdk

Например, команду provision можно выполнить следующим образом:

apigee-remote-service-cli provision --config='old-config.yaml' > new-config.yaml

Файл конфигурации

В этом разделе представлен пример конфигурационного файла со всеми доступными параметрами.

global:
  temp_dir: /tmp/apigee-istio
  keep_alive_max_connection_age: 10m
  api_address: :5000
  metrics_address: :5001
  tls:
    cert_file: tls.crt
    key_file: tls.key
tenant:
  internal_api: https://istioservices.apigee.net/edgemicro
  remote_service_api: https://org-test.apigee.net/remote-service
  org_name: org
  env_name: env
  key: mykey
  secret: mysecret
  client_timeout: 30s
  allow_unverified_ssl_cert: false
products:
  refresh_rate: 2m
analytics:
  legacy_endpoint: false
  file_limit: 1024
  send_channel_size: 10
  collection_interval: 10s
  fluentd_endpoint: apigee-udca-myorg-test.apigee.svc.cluster.local:20001
  tls:
    ca_file: /opt/apigee/tls/ca.crt
    cert_file: /opt/apigee/tls/tls.crt
    key_file: /opt/apigee/tls/tls.key
    allow_unverified_ssl_cert: false
auth:
  api_key_claim: claim
  api_key_cache_duration: 30m
  api_key_header: x-api-key
  api_target_header: :authority
  reject_unauthorized: true
  jwks_poll_interval: 0s