Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Интерфейс командной строки (CLI) apigee-remote-service-cli
помогает вам предоставлять адаптер Apigee для Envoy и управлять им.
Привязка команд
Привязка связывает сервис, развернутый в ячейке Istio, с продуктом API Apigee. CLI позволяет вам перечислять и проверять привязки.
Список привязок
Перечислите все продукты 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. Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config .. |
-e, --env | Нить | (Обязательно) Среда в вашей организации. |
-h, --help | Отображает справку по параметрам команды. | |
--insecure | Разрешить небезопасные подключения к серверу при использовании SSL | |
--legacy | Установите этот флаг, если вы используете Apigee Edge Cloud. Он устанавливает URL-адреса управления и среды выполнения для Edge Cloud. | |
--mfa | Токен многофакторной авторизации Apigee (используется только с --legacy ) | |
--opdk | Установите этот флаг, если вы используете Apigee Edge для частного облака. | |
-o, --org | Нить | (Обязательно) Организация Apigee. Вы должны быть администратором организации. |
-p, --password | Нить | (Требуется только для базовой аутентификации) Ваш пароль Apigee. При желании вы можете указать пароль в файле .netrc . Если вы это сделаете, вам не потребуется вводить пароль в командной строке. См. также Использование .netrc для учетных данных . |
-r, --runtime | Нить | (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака. |
-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:
Проверка привязки
Эта команда устарела. В версии 1.4 приложениям разработчиков больше не требуется связь с продуктами API, которые используются с целевыми объектами удаленных служб.
Команда помощи
Для всех команд 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
Параметры
Параметры | Тип | Описание |
---|---|---|
--analytics-sa | Нить | Этот флаг доступен только для гибридных установок Apigee и Apigee в Google Cloud. Используйте этот флаг, чтобы указать путь к файлу ключей учетной записи службы Google Cloud, где учетная запись службы имеет роль |
-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 Edge Cloud. Он устанавливает URL-адреса управления и среды выполнения для Edge Cloud. | |
--mfa | Токен многофакторной авторизации Apigee (используется только с --legacy ) | |
-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-адрес среды выполнения для вашего экземпляра частного облака. |
-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 Adaptor for Envoy.
Пример публичного облака Edge:
apigee-remote-service-cli provision --legacy --mfa $MFA --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
Команда «Образцы»
Создает примеры файлов конфигурации для собственных развертываний Envoy или Istio.
Использование
apigee-remote-service-cli samples create [flags]
Описание
Для этой команды требуется действительный файл config.yaml
, созданный при подготовке. По умолчанию файлы примеров выводятся в каталог с именем ./samples
. Команда создает для вас этот каталог.
Если вы используете собственный Envoy, команда принимает целевой хост службы и желаемое имя для его кластера. Он также устанавливает пользовательское SSL-соединение от прокси-сервера Envoy к кластеру удаленных служб, если папка, содержащая tls.key
и tls.crt
, предоставляется через --tls
.
Если вы используете Istio, где прокси-сервер Envoy действует как вспомогательный сервер, и если цель не указана, будет создан пример httpbin
. В противном случае вы несете ответственность за подготовку файлов конфигурации, связанных с развертыванием целевых служб.
Параметры
Параметры | Тип | Описание |
---|---|---|
-c, --config | Нить | (Обязательно) Путь к файлу конфигурации Apigee Remote Service. Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config . |
-f, --force | Принудительно перезаписать существующий каталог. | |
-h, --help | Отображает справку по параметрам команды. | |
--host | Целевой хост службы (по умолчанию «httpbin.org»). | |
-n, --name | Имя целевой службы (по умолчанию «httpbin») | |
--out | Каталог, в котором будут созданы примеры файлов конфигурации. По умолчанию: ./samples | |
-t, --template | Имя шаблона. Если вы выполняете развертывание Istio (только гибридная версия), выберите один из доступных вариантов Istio. Используйте собственный вариант для собственных развертываний Envoy. Доступные варианты:
| |
--tls | Каталог, в котором будут храниться файлы ключа TLS и crt. |
Пример
apigee-remote-service-cli samples create -c ./config.yaml
Список доступных вариантов шаблона
Перечисляет параметры, доступные для использования с параметром --templates
.
Использование
apigee-remote-service-cli samples templates
Параметры
Никто.
Пример
apigee-remote-service-cli samples templates
Supported templates (native is deprecated): envoy-1.14 envoy-1.15 envoy-1.16 istio-1.5 istio-1.6 istio-1.7 istio-1.8 native
Команды токена
Вы можете использовать токен 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]
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. Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config . |
-e, --env | Нить | (Обязательно) Среда в вашей организации. |
-h, --help | Отображает справку по параметрам команды. | |
--insecure | Разрешить небезопасные подключения к серверу при использовании SSL. | |
-o, --org | Нить | (Обязательно) Организация Apigee. Вы должны быть администратором организации. |
-r, --runtime | Нить | (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака. |
-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]
Параметры
Параметры | Тип | Описание |
---|---|---|
-c, --config | Нить | (Обязательно) Путь к файлу конфигурации Apigee Remote Service. Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config . |
-e, --env | Нить | (Обязательно) Среда в вашей организации. |
-h, --help | Отображает справку по параметрам команды. | |
--insecure | Разрешить небезопасные подключения к серверу при использовании SSL. | |
-o, --org | Нить | (Обязательно) Организация Apigee. Вы должны быть администратором организации. |
-r, --runtime | Нить | (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака. |
-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]
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. Совет : этот флаг позволяет вам опустить большинство других параметров команды, поскольку CLI может получить их непосредственно из файла конфигурации. См. Использование параметра --config . |
-e, --env | Нить | (Обязательно) Среда в вашей организации. |
-h, --help | Отображает справку по параметрам команды. | |
--insecure | Разрешить небезопасные подключения к серверу при использовании SSL | |
--truncate | интервал | Количество сертификатов, сохраняемых в jwks (по умолчанию 2) |
-o, --org | Нить | (Обязательно) Организация Apigee. Вы должны быть администратором организации. |
-r, --runtime | Нить | (Только для частного облака) Указывает URL-адрес среды выполнения для вашего экземпляра частного облака. |
-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
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: 1m 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 jwt_provider_key: https://org-test.apigee.net/remote-service/token