Ссылка

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

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

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

Привязка связывает сервис, развернутый в ячейке Istio, с продуктом API Apigee. CLI позволяет создавать, удалять и перечислять привязки.

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

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

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

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

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

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

Для Edge Private Cloud:

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 Remote Service. Совет : Указав этот параметр, вы можете опустить большинство других параметров команды. См. Использование параметра --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]

Для Edge Private Cloud:

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

Параметры

Параметры Тип Описание
-c, --config Нить (Обязательно) Путь к файлу конфигурации Apigee Remote Service. Совет : Указав этот параметр, вы можете опустить большинство других параметров команды. См. Использование параметра --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.

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

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

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

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

Для Edge Private Cloud:

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 Remote Service. Совет : Указав этот параметр, вы можете опустить большинство других параметров команды. См. Использование параметра --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 Private Cloud:

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

Параметры

Параметры Тип Описание
-c, --config Нить Путь к файлу конфигурации Apigee Remote Service. Совет : Указав этот параметр, вы можете опустить большинство других параметров команды. См. Использование параметра --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) URL-адрес вашей базы управления Apigee. По умолчанию: https://api.enterprise.apigee.com
-n, --namespace Нить выдать конфигурацию как Envoy ConfigMap в указанном пространстве имен.
--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 Нить Переопределяет виртуальные хосты по умолчанию, которые являются «безопасными по умолчанию». Используйте этот параметр, если для вашей организации Edge указаны виртуальные хосты, отличные от этих значений по умолчанию. Дополнительную информацию о виртуальных хостах см. в документации Edge .
--years интервал (Необязательно) Количество лет до истечения срока действия SSL-сертификата, использованного при подготовке. По умолчанию: 1

Пример

Обязательно запишите выходные данные команды provision в файл, который будет использоваться в качестве входных данных для других операций Apigee Adaptor 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

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

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

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

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

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

Для публичного облака Edge:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -o [org] -e [env]
Для Edge Private Cloud:
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 Remote Service. Совет : Указав этот параметр, вы можете опустить большинство других параметров команды. См. Использование параметра --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]
Для Edge Private Cloud:
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 Remote Service. Совет : Указав этот параметр, вы можете опустить большинство других параметров команды. См. Использование параметра --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 вам может потребоваться изменить пару открытого/закрытого ключей, хранящуюся Apigee Edge в его зашифрованной карте ключ-значение (KVM). Этот процесс создания новой пары ключей называется ротацией ключей. При ротации ключей создается новая пара частного/открытого ключей, которая сохраняется в 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 Private Cloud:
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 Remote Service. Совет : Указав этот параметр, вы можете опустить большинство других параметров команды. См. Использование параметра --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 для учетных данных

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

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

Распечатайте версию CLI.

apigee-remote-service-cli version

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

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

Например, вы можете выполнить команду 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